Convert to monorepo (#178)
This commit is contained in:
Родитель
261eeb0d52
Коммит
848174c222
36
README.md
36
README.md
|
@ -1,35 +1,3 @@
|
|||
# workspace-tools
|
||||
# workspace-tools monorepo
|
||||
|
||||
A collection of tools that are useful in a git-controlled monorepo that is managed by one of these software:
|
||||
|
||||
- lerna
|
||||
- npm workspaces
|
||||
- pnpm workspaces
|
||||
- rush
|
||||
- yarn workspaces
|
||||
|
||||
# Environment Variables
|
||||
|
||||
## GIT_MAX_BUFFER: git operation maxBuffer
|
||||
|
||||
Override this value with "GIT_MAX_BUFFER" environment variable. By default, it is using 500MB (as opposed to the
|
||||
default node.js maxBuffer of 1MB)
|
||||
|
||||
## PREFERRED_WORKSPACE_MANAGER
|
||||
|
||||
Sometimes multiple package manager files are checked in. It is necessary to hint to `workspace-tools` which manager
|
||||
is used: `npm`, `yarn`, `pnpm`, `rush`, or `lerna`
|
||||
|
||||
# Contributing
|
||||
|
||||
This project welcomes contributions and suggestions. Most contributions require you to agree to a
|
||||
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
|
||||
the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
|
||||
|
||||
When you submit a pull request, a CLA bot will automatically determine whether you need to provide
|
||||
a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
|
||||
provided by the bot. You will only need to do this once across all repos using our CLA.
|
||||
|
||||
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
||||
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
|
||||
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
||||
Please see the [`workspace-tools` README](./packages/workspace-tools/README.md) for more information.
|
||||
|
|
|
@ -1,12 +1,4 @@
|
|||
module.exports = {
|
||||
scope: ["!src/__fixtures__/**/*"],
|
||||
ignorePatterns: [
|
||||
".github/**",
|
||||
".prettierrc",
|
||||
"jest.config.js",
|
||||
"src/__fixtures__/**",
|
||||
"src/__tests__/**",
|
||||
// This prevents dependabot from being blocked by change file requirements for lock file-only changes
|
||||
"yarn.lock",
|
||||
],
|
||||
scope: ["!**/__fixtures__/**"],
|
||||
ignorePatterns: ["**/jest.config.js", "**/src/__fixtures__/**", "**/src/__tests__/**"],
|
||||
};
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "patch",
|
||||
"comment": "Exclude test helpers from published package",
|
||||
"packageName": "workspace-tools",
|
||||
"email": "elcraig@microsoft.com",
|
||||
"dependentChangeType": "patch"
|
||||
}
|
|
@ -7,5 +7,5 @@ module.exports = {
|
|||
moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
|
||||
modulePathIgnorePatterns: ["<rootDir>/src/__fixtures__"],
|
||||
preset: "ts-jest",
|
||||
setupFilesAfterEnv: [require.resolve("./src/helpers/setupTests.ts")],
|
||||
setupFilesAfterEnv: [require.resolve("./scripts/jest/setupTests.ts")],
|
||||
};
|
|
@ -0,0 +1,13 @@
|
|||
module.exports = {
|
||||
pipeline: {
|
||||
build: ["^build"],
|
||||
test: ["build"],
|
||||
},
|
||||
npmClient: "yarn",
|
||||
// These options are sent to `backfill`: https://github.com/microsoft/backfill/blob/master/README.md
|
||||
cacheOptions: {
|
||||
// These are relative to the git root, and affects the hash of the cache
|
||||
// Any of these file changes will invalidate cache
|
||||
environmentGlob: [".github/workflows/*", "*.js", "package.json"],
|
||||
},
|
||||
};
|
33
package.json
33
package.json
|
@ -1,35 +1,25 @@
|
|||
{
|
||||
"name": "workspace-tools",
|
||||
"version": "0.26.3",
|
||||
"name": "workspace-tools-monorepo",
|
||||
"private": true,
|
||||
"version": "0.0.1",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/microsoft/workspace-tools"
|
||||
},
|
||||
"main": "lib/index.js",
|
||||
"types": "lib/index.d.ts",
|
||||
"files": [
|
||||
"lib/!(__*)"
|
||||
"workspaces": [
|
||||
"packages/*",
|
||||
"scripts"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"build:docs": "typedoc src/index.ts",
|
||||
"build": "lage build",
|
||||
"build:docs": "typedoc",
|
||||
"release:docs": "yarn build:docs && gh-pages -d docs",
|
||||
"change": "beachball change",
|
||||
"checkchange": "beachball check",
|
||||
"format": "prettier --write .",
|
||||
"release": "beachball publish -y",
|
||||
"start": "tsc -w --preserveWatchOutput",
|
||||
"test": "jest"
|
||||
},
|
||||
"dependencies": {
|
||||
"@yarnpkg/lockfile": "^1.1.0",
|
||||
"find-up": "^5.0.0",
|
||||
"git-url-parse": "^12.0.0",
|
||||
"globby": "^11.0.0",
|
||||
"jju": "^1.4.0",
|
||||
"micromatch": "^4.0.0",
|
||||
"read-yaml-file": "^2.0.0"
|
||||
"test": "lage test"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/fs-extra": "9.0.13",
|
||||
|
@ -44,10 +34,15 @@
|
|||
"fs-extra": "10.1.0",
|
||||
"gh-pages": "4.0.0",
|
||||
"jest": "28.1.3",
|
||||
"lage": "1.8.1",
|
||||
"prettier": "2.7.1",
|
||||
"tmp": "0.2.1",
|
||||
"ts-jest": "28.0.8",
|
||||
"typedoc": "0.22.15",
|
||||
"typescript": "4.5.4"
|
||||
},
|
||||
"resolutions": {
|
||||
"**/lage/workspace-tools": "npm:workspace-tools@0.26.3",
|
||||
"**/lage/**/workspace-tools": "npm:workspace-tools@0.26.3"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
# workspace-tools
|
||||
|
||||
A collection of tools that are useful in a git-controlled monorepo that is managed by one of these software:
|
||||
|
||||
- lerna
|
||||
- npm workspaces
|
||||
- pnpm workspaces
|
||||
- rush
|
||||
- yarn workspaces
|
||||
|
||||
# Environment Variables
|
||||
|
||||
## GIT_MAX_BUFFER: git operation maxBuffer
|
||||
|
||||
Override this value with "GIT_MAX_BUFFER" environment variable. By default, it is using 500MB (as opposed to the
|
||||
default node.js maxBuffer of 1MB)
|
||||
|
||||
## PREFERRED_WORKSPACE_MANAGER
|
||||
|
||||
Sometimes multiple package manager files are checked in. It is necessary to hint to `workspace-tools` which manager
|
||||
is used: `npm`, `yarn`, `pnpm`, `rush`, or `lerna`
|
||||
|
||||
# Contributing
|
||||
|
||||
This project welcomes contributions and suggestions. Most contributions require you to agree to a
|
||||
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
|
||||
the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
|
||||
|
||||
When you submit a pull request, a CLA bot will automatically determine whether you need to provide
|
||||
a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
|
||||
provided by the bot. You will only need to do this once across all repos using our CLA.
|
||||
|
||||
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
||||
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
|
||||
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
|
@ -0,0 +1 @@
|
|||
module.exports = require("../../jest.preset");
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"name": "workspace-tools",
|
||||
"version": "0.26.3",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/microsoft/workspace-tools"
|
||||
},
|
||||
"main": "lib/index.js",
|
||||
"types": "lib/index.d.ts",
|
||||
"files": [
|
||||
"lib/!(helpers|__*)"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"start": "tsc -w --preserveWatchOutput",
|
||||
"test": "jest"
|
||||
},
|
||||
"dependencies": {
|
||||
"@yarnpkg/lockfile": "^1.1.0",
|
||||
"find-up": "^5.0.0",
|
||||
"git-url-parse": "^12.0.0",
|
||||
"globby": "^11.0.0",
|
||||
"jju": "^1.4.0",
|
||||
"micromatch": "^4.0.0",
|
||||
"read-yaml-file": "^2.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"workspace-tools-scripts": "*"
|
||||
}
|
||||
}
|
|
@ -1,8 +1,8 @@
|
|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
pnpm@^6.0:
|
||||
version "6.32.4"
|
||||
resolved "https://registry.yarnpkg.com/pnpm/-/pnpm-6.32.4.tgz#74d486f3563d8e4476141b43af18dd08c9291961"
|
||||
integrity sha512-rOG+VpOzs6g/MR5HWc8KTlLAx3ljdRJCMQwSg1DE/hzAaqF/Y2zIHH0u6dZw/XnRb9w1U8rOs9MJT9jMt7e+Qw==
|
||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
pnpm@^6.0:
|
||||
version "6.32.4"
|
||||
resolved "https://registry.yarnpkg.com/pnpm/-/pnpm-6.32.4.tgz#74d486f3563d8e4476141b43af18dd08c9291961"
|
||||
integrity sha512-rOG+VpOzs6g/MR5HWc8KTlLAx3ljdRJCMQwSg1DE/hzAaqF/Y2zIHH0u6dZw/XnRb9w1U8rOs9MJT9jMt7e+Qw==
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче