@matter/tools 0.11.0-alpha.0-20241005-e3e4e4a7a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +100 -0
- package/bin/build.js +10 -0
- package/bin/prepare-chip.js +5 -0
- package/bin/run.js +7 -0
- package/bin/test.js +7 -0
- package/bin/version.js +7 -0
- package/chip/Dockerfile +23 -0
- package/dist/cjs/building/builder.d.ts +35 -0
- package/dist/cjs/building/builder.d.ts.map +1 -0
- package/dist/cjs/building/builder.js +210 -0
- package/dist/cjs/building/builder.js.map +6 -0
- package/dist/cjs/building/cli.d.ts +7 -0
- package/dist/cjs/building/cli.d.ts.map +1 -0
- package/dist/cjs/building/cli.js +100 -0
- package/dist/cjs/building/cli.js.map +6 -0
- package/dist/cjs/building/error.d.ts +16 -0
- package/dist/cjs/building/error.d.ts.map +1 -0
- package/dist/cjs/building/error.js +50 -0
- package/dist/cjs/building/error.js.map +6 -0
- package/dist/cjs/building/graph.d.ts +37 -0
- package/dist/cjs/building/graph.d.ts.map +1 -0
- package/dist/cjs/building/graph.js +222 -0
- package/dist/cjs/building/graph.js.map +6 -0
- package/dist/cjs/building/project.d.ts +56 -0
- package/dist/cjs/building/project.d.ts.map +1 -0
- package/dist/cjs/building/project.js +239 -0
- package/dist/cjs/building/project.js.map +6 -0
- package/dist/cjs/building/tsconfig.d.ts +16 -0
- package/dist/cjs/building/tsconfig.d.ts.map +1 -0
- package/dist/cjs/building/tsconfig.js +70 -0
- package/dist/cjs/building/tsconfig.js.map +6 -0
- package/dist/cjs/building/typescript/context.d.ts +16 -0
- package/dist/cjs/building/typescript/context.d.ts.map +1 -0
- package/dist/cjs/building/typescript/context.js +82 -0
- package/dist/cjs/building/typescript/context.js.map +6 -0
- package/dist/cjs/building/typescript/incremental-compiler.d.ts +10 -0
- package/dist/cjs/building/typescript/incremental-compiler.d.ts.map +1 -0
- package/dist/cjs/building/typescript/incremental-compiler.js +119 -0
- package/dist/cjs/building/typescript/incremental-compiler.js.map +6 -0
- package/dist/cjs/building/typescript/language-service.d.ts +13 -0
- package/dist/cjs/building/typescript/language-service.d.ts.map +1 -0
- package/dist/cjs/building/typescript/language-service.js +109 -0
- package/dist/cjs/building/typescript/language-service.js.map +6 -0
- package/dist/cjs/building/typescript/solution-builder.d.ts +10 -0
- package/dist/cjs/building/typescript/solution-builder.d.ts.map +1 -0
- package/dist/cjs/building/typescript/solution-builder.js +72 -0
- package/dist/cjs/building/typescript/solution-builder.js.map +6 -0
- package/dist/cjs/building/typescript.d.ts +13 -0
- package/dist/cjs/building/typescript.d.ts.map +1 -0
- package/dist/cjs/building/typescript.js +31 -0
- package/dist/cjs/building/typescript.js.map +6 -0
- package/dist/cjs/index.d.ts +15 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +32 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/running/cli.d.ts +19 -0
- package/dist/cjs/running/cli.d.ts.map +1 -0
- package/dist/cjs/running/cli.js +82 -0
- package/dist/cjs/running/cli.js.map +6 -0
- package/dist/cjs/running/execute.d.ts +8 -0
- package/dist/cjs/running/execute.d.ts.map +1 -0
- package/dist/cjs/running/execute.js +82 -0
- package/dist/cjs/running/execute.js.map +6 -0
- package/dist/cjs/testing/chip/pics-file.d.ts +20 -0
- package/dist/cjs/testing/chip/pics-file.d.ts.map +1 -0
- package/dist/cjs/testing/chip/pics-file.js +79 -0
- package/dist/cjs/testing/chip/pics-file.js.map +6 -0
- package/dist/cjs/testing/chip.d.ts +60 -0
- package/dist/cjs/testing/chip.d.ts.map +1 -0
- package/dist/cjs/testing/chip.js +306 -0
- package/dist/cjs/testing/chip.js.map +6 -0
- package/dist/cjs/testing/cli.d.ts +9 -0
- package/dist/cjs/testing/cli.d.ts.map +1 -0
- package/dist/cjs/testing/cli.js +117 -0
- package/dist/cjs/testing/cli.js.map +6 -0
- package/dist/cjs/testing/failure-detail.d.ts +19 -0
- package/dist/cjs/testing/failure-detail.d.ts.map +1 -0
- package/dist/cjs/testing/failure-detail.js +143 -0
- package/dist/cjs/testing/failure-detail.js.map +6 -0
- package/dist/cjs/testing/files.d.ts +8 -0
- package/dist/cjs/testing/files.d.ts.map +1 -0
- package/dist/cjs/testing/files.js +52 -0
- package/dist/cjs/testing/files.js.map +6 -0
- package/dist/cjs/testing/global-declarations.d.ts +38 -0
- package/dist/cjs/testing/global-declarations.d.ts.map +1 -0
- package/dist/cjs/testing/global-declarations.js +8 -0
- package/dist/cjs/testing/global-declarations.js.map +6 -0
- package/dist/cjs/testing/global-definitions.d.ts +7 -0
- package/dist/cjs/testing/global-definitions.d.ts.map +1 -0
- package/dist/cjs/testing/global-definitions.js +50 -0
- package/dist/cjs/testing/global-definitions.js.map +6 -0
- package/dist/cjs/testing/mocha.d.ts +36 -0
- package/dist/cjs/testing/mocha.d.ts.map +1 -0
- package/dist/cjs/testing/mocha.js +155 -0
- package/dist/cjs/testing/mocha.js.map +6 -0
- package/dist/cjs/testing/mocharc.cjs +68 -0
- package/dist/cjs/testing/mocharc.d.cts +7 -0
- package/dist/cjs/testing/mocks/crypto.d.ts +7 -0
- package/dist/cjs/testing/mocks/crypto.d.ts.map +1 -0
- package/dist/cjs/testing/mocks/crypto.js +79 -0
- package/dist/cjs/testing/mocks/crypto.js.map +6 -0
- package/dist/cjs/testing/mocks/environment.d.ts +7 -0
- package/dist/cjs/testing/mocks/environment.d.ts.map +1 -0
- package/dist/cjs/testing/mocks/environment.js +7 -0
- package/dist/cjs/testing/mocks/environment.js.map +6 -0
- package/dist/cjs/testing/mocks/index.d.ts +10 -0
- package/dist/cjs/testing/mocks/index.d.ts.map +1 -0
- package/dist/cjs/testing/mocks/index.js +27 -0
- package/dist/cjs/testing/mocks/index.js.map +6 -0
- package/dist/cjs/testing/mocks/logging.d.ts +28 -0
- package/dist/cjs/testing/mocks/logging.d.ts.map +1 -0
- package/dist/cjs/testing/mocks/logging.js +93 -0
- package/dist/cjs/testing/mocks/logging.js.map +6 -0
- package/dist/cjs/testing/mocks/time.d.ts +88 -0
- package/dist/cjs/testing/mocks/time.d.ts.map +1 -0
- package/dist/cjs/testing/mocks/time.js +250 -0
- package/dist/cjs/testing/mocks/time.js.map +6 -0
- package/dist/cjs/testing/node.d.ts +16 -0
- package/dist/cjs/testing/node.d.ts.map +1 -0
- package/dist/cjs/testing/node.js +108 -0
- package/dist/cjs/testing/node.js.map +6 -0
- package/dist/cjs/testing/options.d.ts +19 -0
- package/dist/cjs/testing/options.d.ts.map +1 -0
- package/dist/cjs/testing/options.js +62 -0
- package/dist/cjs/testing/options.js.map +6 -0
- package/dist/cjs/testing/reporter.d.ts +50 -0
- package/dist/cjs/testing/reporter.d.ts.map +1 -0
- package/dist/cjs/testing/reporter.js +137 -0
- package/dist/cjs/testing/reporter.js.map +6 -0
- package/dist/cjs/testing/runner.d.ts +22 -0
- package/dist/cjs/testing/runner.d.ts.map +1 -0
- package/dist/cjs/testing/runner.js +116 -0
- package/dist/cjs/testing/runner.js.map +6 -0
- package/dist/cjs/testing/web.d.ts +8 -0
- package/dist/cjs/testing/web.d.ts.map +1 -0
- package/dist/cjs/testing/web.js +165 -0
- package/dist/cjs/testing/web.js.map +6 -0
- package/dist/cjs/util/bootstrap.mjs +105 -0
- package/dist/cjs/util/docker.d.ts +27 -0
- package/dist/cjs/util/docker.d.ts.map +1 -0
- package/dist/cjs/util/docker.js +163 -0
- package/dist/cjs/util/docker.js.map +6 -0
- package/dist/cjs/util/errors.d.ts +8 -0
- package/dist/cjs/util/errors.d.ts.map +1 -0
- package/dist/cjs/util/errors.js +55 -0
- package/dist/cjs/util/errors.js.map +6 -0
- package/dist/cjs/util/index.d.ts +8 -0
- package/dist/cjs/util/index.d.ts.map +1 -0
- package/dist/cjs/util/index.js +25 -0
- package/dist/cjs/util/index.js.map +6 -0
- package/dist/cjs/util/node-shims.d.ts +7 -0
- package/dist/cjs/util/node-shims.d.ts.map +1 -0
- package/dist/cjs/util/node-shims.js +12 -0
- package/dist/cjs/util/node-shims.js.map +6 -0
- package/dist/cjs/util/package.d.ts +61 -0
- package/dist/cjs/util/package.d.ts.map +1 -0
- package/dist/cjs/util/package.js +324 -0
- package/dist/cjs/util/package.js.map +6 -0
- package/dist/cjs/util/progress.d.ts +31 -0
- package/dist/cjs/util/progress.d.ts.map +1 -0
- package/dist/cjs/util/progress.js +232 -0
- package/dist/cjs/util/progress.js.map +6 -0
- package/dist/cjs/util/tools-path.cjs +13 -0
- package/dist/cjs/util/tools-path.d.cts +7 -0
- package/dist/cjs/util/trace-unhandled.d.ts +9 -0
- package/dist/cjs/util/trace-unhandled.d.ts.map +1 -0
- package/dist/cjs/util/trace-unhandled.js +48 -0
- package/dist/cjs/util/trace-unhandled.js.map +6 -0
- package/dist/cjs/util/wtf.d.ts +10 -0
- package/dist/cjs/util/wtf.d.ts.map +1 -0
- package/dist/cjs/util/wtf.js +53 -0
- package/dist/cjs/util/wtf.js.map +6 -0
- package/dist/cjs/versioning/cli.d.ts +7 -0
- package/dist/cjs/versioning/cli.d.ts.map +1 -0
- package/dist/cjs/versioning/cli.js +62 -0
- package/dist/cjs/versioning/cli.js.map +6 -0
- package/dist/cjs/versioning/versioner.d.ts +18 -0
- package/dist/cjs/versioning/versioner.d.ts.map +1 -0
- package/dist/cjs/versioning/versioner.js +145 -0
- package/dist/cjs/versioning/versioner.js.map +6 -0
- package/dist/esm/building/builder.d.ts +35 -0
- package/dist/esm/building/builder.d.ts.map +1 -0
- package/dist/esm/building/builder.js +180 -0
- package/dist/esm/building/builder.js.map +6 -0
- package/dist/esm/building/cli.d.ts +7 -0
- package/dist/esm/building/cli.d.ts.map +1 -0
- package/dist/esm/building/cli.js +70 -0
- package/dist/esm/building/cli.js.map +6 -0
- package/dist/esm/building/error.d.ts +16 -0
- package/dist/esm/building/error.d.ts.map +1 -0
- package/dist/esm/building/error.js +30 -0
- package/dist/esm/building/error.js.map +6 -0
- package/dist/esm/building/graph.d.ts +37 -0
- package/dist/esm/building/graph.d.ts.map +1 -0
- package/dist/esm/building/graph.js +192 -0
- package/dist/esm/building/graph.js.map +6 -0
- package/dist/esm/building/project.d.ts +56 -0
- package/dist/esm/building/project.d.ts.map +1 -0
- package/dist/esm/building/project.js +219 -0
- package/dist/esm/building/project.js.map +6 -0
- package/dist/esm/building/tsconfig.d.ts +16 -0
- package/dist/esm/building/tsconfig.d.ts.map +1 -0
- package/dist/esm/building/tsconfig.js +50 -0
- package/dist/esm/building/tsconfig.js.map +6 -0
- package/dist/esm/building/typescript/context.d.ts +16 -0
- package/dist/esm/building/typescript/context.d.ts.map +1 -0
- package/dist/esm/building/typescript/context.js +68 -0
- package/dist/esm/building/typescript/context.js.map +6 -0
- package/dist/esm/building/typescript/incremental-compiler.d.ts +10 -0
- package/dist/esm/building/typescript/incremental-compiler.d.ts.map +1 -0
- package/dist/esm/building/typescript/incremental-compiler.js +99 -0
- package/dist/esm/building/typescript/incremental-compiler.js.map +6 -0
- package/dist/esm/building/typescript/language-service.d.ts +13 -0
- package/dist/esm/building/typescript/language-service.d.ts.map +1 -0
- package/dist/esm/building/typescript/language-service.js +99 -0
- package/dist/esm/building/typescript/language-service.js.map +6 -0
- package/dist/esm/building/typescript/solution-builder.d.ts +10 -0
- package/dist/esm/building/typescript/solution-builder.d.ts.map +1 -0
- package/dist/esm/building/typescript/solution-builder.js +52 -0
- package/dist/esm/building/typescript/solution-builder.js.map +6 -0
- package/dist/esm/building/typescript.d.ts +13 -0
- package/dist/esm/building/typescript.d.ts.map +1 -0
- package/dist/esm/building/typescript.js +11 -0
- package/dist/esm/building/typescript.js.map +6 -0
- package/dist/esm/index.d.ts +15 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +15 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/running/cli.d.ts +19 -0
- package/dist/esm/running/cli.d.ts.map +1 -0
- package/dist/esm/running/cli.js +62 -0
- package/dist/esm/running/cli.js.map +6 -0
- package/dist/esm/running/execute.d.ts +8 -0
- package/dist/esm/running/execute.d.ts.map +1 -0
- package/dist/esm/running/execute.js +52 -0
- package/dist/esm/running/execute.js.map +6 -0
- package/dist/esm/testing/chip/pics-file.d.ts +20 -0
- package/dist/esm/testing/chip/pics-file.d.ts.map +1 -0
- package/dist/esm/testing/chip/pics-file.js +59 -0
- package/dist/esm/testing/chip/pics-file.js.map +6 -0
- package/dist/esm/testing/chip.d.ts +60 -0
- package/dist/esm/testing/chip.d.ts.map +1 -0
- package/dist/esm/testing/chip.js +286 -0
- package/dist/esm/testing/chip.js.map +6 -0
- package/dist/esm/testing/cli.d.ts +9 -0
- package/dist/esm/testing/cli.d.ts.map +1 -0
- package/dist/esm/testing/cli.js +87 -0
- package/dist/esm/testing/cli.js.map +6 -0
- package/dist/esm/testing/failure-detail.d.ts +19 -0
- package/dist/esm/testing/failure-detail.d.ts.map +1 -0
- package/dist/esm/testing/failure-detail.js +113 -0
- package/dist/esm/testing/failure-detail.js.map +6 -0
- package/dist/esm/testing/files.d.ts +8 -0
- package/dist/esm/testing/files.d.ts.map +1 -0
- package/dist/esm/testing/files.js +32 -0
- package/dist/esm/testing/files.js.map +6 -0
- package/dist/esm/testing/global-declarations.d.ts +38 -0
- package/dist/esm/testing/global-declarations.d.ts.map +1 -0
- package/dist/esm/testing/global-declarations.js +7 -0
- package/dist/esm/testing/global-declarations.js.map +6 -0
- package/dist/esm/testing/global-definitions.d.ts +7 -0
- package/dist/esm/testing/global-definitions.d.ts.map +1 -0
- package/dist/esm/testing/global-definitions.js +27 -0
- package/dist/esm/testing/global-definitions.js.map +6 -0
- package/dist/esm/testing/mocha.d.ts +36 -0
- package/dist/esm/testing/mocha.d.ts.map +1 -0
- package/dist/esm/testing/mocha.js +135 -0
- package/dist/esm/testing/mocha.js.map +6 -0
- package/dist/esm/testing/mocharc.cjs +68 -0
- package/dist/esm/testing/mocharc.d.cts +7 -0
- package/dist/esm/testing/mocks/crypto.d.ts +7 -0
- package/dist/esm/testing/mocks/crypto.d.ts.map +1 -0
- package/dist/esm/testing/mocks/crypto.js +59 -0
- package/dist/esm/testing/mocks/crypto.js.map +6 -0
- package/dist/esm/testing/mocks/environment.d.ts +7 -0
- package/dist/esm/testing/mocks/environment.d.ts.map +1 -0
- package/dist/esm/testing/mocks/environment.js +6 -0
- package/dist/esm/testing/mocks/environment.js.map +6 -0
- package/dist/esm/testing/mocks/index.d.ts +10 -0
- package/dist/esm/testing/mocks/index.d.ts.map +1 -0
- package/dist/esm/testing/mocks/index.js +10 -0
- package/dist/esm/testing/mocks/index.js.map +6 -0
- package/dist/esm/testing/mocks/logging.d.ts +28 -0
- package/dist/esm/testing/mocks/logging.d.ts.map +1 -0
- package/dist/esm/testing/mocks/logging.js +63 -0
- package/dist/esm/testing/mocks/logging.js.map +6 -0
- package/dist/esm/testing/mocks/time.d.ts +88 -0
- package/dist/esm/testing/mocks/time.d.ts.map +1 -0
- package/dist/esm/testing/mocks/time.js +230 -0
- package/dist/esm/testing/mocks/time.js.map +6 -0
- package/dist/esm/testing/node.d.ts +16 -0
- package/dist/esm/testing/node.d.ts.map +1 -0
- package/dist/esm/testing/node.js +78 -0
- package/dist/esm/testing/node.js.map +6 -0
- package/dist/esm/testing/options.d.ts +19 -0
- package/dist/esm/testing/options.d.ts.map +1 -0
- package/dist/esm/testing/options.js +42 -0
- package/dist/esm/testing/options.js.map +6 -0
- package/dist/esm/testing/reporter.d.ts +50 -0
- package/dist/esm/testing/reporter.d.ts.map +1 -0
- package/dist/esm/testing/reporter.js +107 -0
- package/dist/esm/testing/reporter.js.map +6 -0
- package/dist/esm/testing/runner.d.ts +22 -0
- package/dist/esm/testing/runner.d.ts.map +1 -0
- package/dist/esm/testing/runner.js +86 -0
- package/dist/esm/testing/runner.js.map +6 -0
- package/dist/esm/testing/web.d.ts +8 -0
- package/dist/esm/testing/web.d.ts.map +1 -0
- package/dist/esm/testing/web.js +135 -0
- package/dist/esm/testing/web.js.map +6 -0
- package/dist/esm/util/bootstrap.mjs +105 -0
- package/dist/esm/util/docker.d.ts +27 -0
- package/dist/esm/util/docker.d.ts.map +1 -0
- package/dist/esm/util/docker.js +133 -0
- package/dist/esm/util/docker.js.map +6 -0
- package/dist/esm/util/errors.d.ts +8 -0
- package/dist/esm/util/errors.d.ts.map +1 -0
- package/dist/esm/util/errors.js +35 -0
- package/dist/esm/util/errors.js.map +6 -0
- package/dist/esm/util/index.d.ts +8 -0
- package/dist/esm/util/index.d.ts.map +1 -0
- package/dist/esm/util/index.js +8 -0
- package/dist/esm/util/index.js.map +6 -0
- package/dist/esm/util/node-shims.d.ts +7 -0
- package/dist/esm/util/node-shims.d.ts.map +1 -0
- package/dist/esm/util/node-shims.js +11 -0
- package/dist/esm/util/node-shims.js.map +6 -0
- package/dist/esm/util/package.d.ts +61 -0
- package/dist/esm/util/package.d.ts.map +1 -0
- package/dist/esm/util/package.js +304 -0
- package/dist/esm/util/package.js.map +6 -0
- package/dist/esm/util/progress.d.ts +31 -0
- package/dist/esm/util/progress.d.ts.map +1 -0
- package/dist/esm/util/progress.js +202 -0
- package/dist/esm/util/progress.js.map +6 -0
- package/dist/esm/util/tools-path.cjs +13 -0
- package/dist/esm/util/tools-path.d.cts +7 -0
- package/dist/esm/util/trace-unhandled.d.ts +9 -0
- package/dist/esm/util/trace-unhandled.d.ts.map +1 -0
- package/dist/esm/util/trace-unhandled.js +18 -0
- package/dist/esm/util/trace-unhandled.js.map +6 -0
- package/dist/esm/util/wtf.d.ts +10 -0
- package/dist/esm/util/wtf.d.ts.map +1 -0
- package/dist/esm/util/wtf.js +23 -0
- package/dist/esm/util/wtf.js.map +6 -0
- package/dist/esm/versioning/cli.d.ts +7 -0
- package/dist/esm/versioning/cli.d.ts.map +1 -0
- package/dist/esm/versioning/cli.js +32 -0
- package/dist/esm/versioning/cli.js.map +6 -0
- package/dist/esm/versioning/versioner.d.ts +18 -0
- package/dist/esm/versioning/versioner.d.ts.map +1 -0
- package/dist/esm/versioning/versioner.js +115 -0
- package/dist/esm/versioning/versioner.js.map +6 -0
- package/package.json +82 -0
- package/src/building/builder.ts +216 -0
- package/src/building/cli.ts +89 -0
- package/src/building/error.ts +29 -0
- package/src/building/graph.ts +251 -0
- package/src/building/project.ts +313 -0
- package/src/building/tsconfig.ts +69 -0
- package/src/building/typescript/context.ts +85 -0
- package/src/building/typescript/incremental-compiler.ts +126 -0
- package/src/building/typescript/language-service.ts +132 -0
- package/src/building/typescript/solution-builder.ts +67 -0
- package/src/building/typescript.ts +15 -0
- package/src/index.ts +15 -0
- package/src/running/cli.ts +95 -0
- package/src/running/execute.ts +63 -0
- package/src/testing/chip/pics-file.ts +71 -0
- package/src/testing/chip/pics.properties +53 -0
- package/src/testing/chip.ts +420 -0
- package/src/testing/cli.ts +122 -0
- package/src/testing/failure-detail.ts +126 -0
- package/src/testing/files.ts +35 -0
- package/src/testing/global-declarations.ts +50 -0
- package/src/testing/global-definitions.ts +35 -0
- package/src/testing/index.html +16 -0
- package/src/testing/mocha.ts +162 -0
- package/src/testing/mocharc.cjs +68 -0
- package/src/testing/mocharc.d.cts +7 -0
- package/src/testing/mocks/crypto.ts +70 -0
- package/src/testing/mocks/environment.ts +7 -0
- package/src/testing/mocks/index.ts +10 -0
- package/src/testing/mocks/logging.ts +99 -0
- package/src/testing/mocks/time.ts +294 -0
- package/src/testing/node.ts +114 -0
- package/src/testing/options.ts +58 -0
- package/src/testing/reporter.ts +144 -0
- package/src/testing/runner.ts +98 -0
- package/src/testing/web.ts +174 -0
- package/src/tsconfig.json +14 -0
- package/src/util/bootstrap.mjs +105 -0
- package/src/util/docker.ts +176 -0
- package/src/util/errors.ts +33 -0
- package/src/util/index.ts +8 -0
- package/src/util/node-shims.ts +13 -0
- package/src/util/package.ts +369 -0
- package/src/util/progress.ts +252 -0
- package/src/util/tools-path.cjs +13 -0
- package/src/util/tools-path.d.cts +7 -0
- package/src/util/trace-unhandled.ts +17 -0
- package/src/util/wtf.ts +25 -0
- package/src/versioning/cli.ts +43 -0
- package/src/versioning/versioner.ts +139 -0
- package/test/testing/mocks/MockTimeTest.ts +113 -0
- package/test/tsconfig.json +15 -0
- package/tsc/tsconfig.app.json +7 -0
- package/tsc/tsconfig.base.json +41 -0
- package/tsc/tsconfig.lib.json +12 -0
- package/tsc/tsconfig.test.json +7 -0
- package/tsconfig.json +5 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
const { resolve } = require("path");
|
|
8
|
+
|
|
9
|
+
// Node makes it impossible to obtain the path of the current file in a matter that transpiles cleanly to both ESM and
|
|
10
|
+
// CJS. __dirname is not available in ESM but you can't reference import.meta.url in CJS even conditionally because it
|
|
11
|
+
// is a compile-time error. So instead we locate the root of the tools package in this file which always runs as CJS
|
|
12
|
+
// and is thus importable into both ESM and CJS.
|
|
13
|
+
exports.toolsPath = resolve(__dirname, "../..");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-unhandled.d.ts","sourceRoot":"","sources":["../../../src/util/trace-unhandled.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,cAAc;;CAU1B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
const traceUnhandled = {
|
|
7
|
+
async initialize() {
|
|
8
|
+
if (!process.argv.includes("--trace-unhandled") && !process.env.MATTER_TRACE_UNHANDLED) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const { register } = await import("trace-unhandled");
|
|
12
|
+
register();
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
export {
|
|
16
|
+
traceUnhandled
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3V0aWwvdHJhY2UtdW5oYW5kbGVkLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMi0yMDI0IE1hdHRlci5qcyBBdXRob3JzXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmV4cG9ydCBjb25zdCB0cmFjZVVuaGFuZGxlZCA9IHtcbiAgICBhc3luYyBpbml0aWFsaXplKCkge1xuICAgICAgICAvLyBXZSBwcm9jZXNzIGFyZ3MgYW5kIGVudmlyb25tZW50IG1hbnVhbGx5IHNvIHdlIGRvbid0IG5lZWQgZGVwZW5kZW5jaWVzIGFuZCBjYW4gaW5zdGFsbCBhcyBlYXJseSBhcyBwb3NzaWJsZVxuICAgICAgICBpZiAoIXByb2Nlc3MuYXJndi5pbmNsdWRlcyhcIi0tdHJhY2UtdW5oYW5kbGVkXCIpICYmICFwcm9jZXNzLmVudi5NQVRURVJfVFJBQ0VfVU5IQU5ETEVEKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IHJlZ2lzdGVyIH0gPSBhd2FpdCBpbXBvcnQoXCJ0cmFjZS11bmhhbmRsZWRcIik7XG4gICAgICAgIHJlZ2lzdGVyKCk7XG4gICAgfSxcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTU8sTUFBTSxpQkFBaUI7QUFBQSxFQUMxQixNQUFNLGFBQWE7QUFFZixRQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsbUJBQW1CLEtBQUssQ0FBQyxRQUFRLElBQUksd0JBQXdCO0FBQ3BGO0FBQUEsSUFDSjtBQUVBLFVBQU0sRUFBRSxTQUFTLElBQUksTUFBTSxPQUFPLGlCQUFpQjtBQUNuRCxhQUFTO0FBQUEsRUFDYjtBQUNKOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/trace-unhandled.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,MAAM,iBAAiB;AAAA,EAC1B,MAAM,aAAa;AAEf,QAAI,CAAC,QAAQ,KAAK,SAAS,mBAAmB,KAAK,CAAC,QAAQ,IAAI,wBAAwB;AACpF;AAAA,IACJ;AAEA,UAAM,EAAE,SAAS,IAAI,MAAM,OAAO,iBAAiB;AACnD,aAAS;AAAA,EACb;AACJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wtf.d.ts","sourceRoot":"","sources":["../../../src/util/wtf.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,GAAG;;;CAkBf,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
const wtf = {
|
|
7
|
+
async initialize() {
|
|
8
|
+
if (typeof process !== "object" || process?.release?.name !== "node") {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
if (!process.argv.includes("--wtf") && !process.env.MATTER_WTF) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const { dump } = await import("wtfnode");
|
|
15
|
+
this.dump = () => dump();
|
|
16
|
+
},
|
|
17
|
+
dump() {
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
export {
|
|
21
|
+
wtf
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3V0aWwvd3RmLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMi0yMDI0IE1hdHRlci5qcyBBdXRob3JzXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmV4cG9ydCBjb25zdCB3dGYgPSB7XG4gICAgYXN5bmMgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgLy8gVGhpcyB3aWxsIG9ubHkgd29yayB1bmRlciBhY3R1YWwgTm9kZS5qc1xuICAgICAgICBpZiAodHlwZW9mIHByb2Nlc3MgIT09IFwib2JqZWN0XCIgfHwgcHJvY2Vzcz8ucmVsZWFzZT8ubmFtZSAhPT0gXCJub2RlXCIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdlIHByb2Nlc3MgYXJncyBhbmQgZW52aXJvbm1lbnQgbWFudWFsbHkgc28gd2UgZG9uJ3QgbmVlZCBkZXBlbmRlbmNpZXMgYW5kIGNhbiBpbnN0YWxsIHd0Zm5vZGUgYXMgZWFybHkgYXNcbiAgICAgICAgLy8gcG9zc2libGVcbiAgICAgICAgaWYgKCFwcm9jZXNzLmFyZ3YuaW5jbHVkZXMoXCItLXd0ZlwiKSAmJiAhcHJvY2Vzcy5lbnYuTUFUVEVSX1dURikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBkdW1wIH0gPSBhd2FpdCBpbXBvcnQoXCJ3dGZub2RlXCIpO1xuICAgICAgICB0aGlzLmR1bXAgPSAoKSA9PiBkdW1wKCk7XG4gICAgfSxcblxuICAgIGR1bXAoKSB7fSxcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTU8sTUFBTSxNQUFNO0FBQUEsRUFDZixNQUFNLGFBQWE7QUFFZixRQUFJLE9BQU8sWUFBWSxZQUFZLFNBQVMsU0FBUyxTQUFTLFFBQVE7QUFDbEU7QUFBQSxJQUNKO0FBSUEsUUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLE9BQU8sS0FBSyxDQUFDLFFBQVEsSUFBSSxZQUFZO0FBQzVEO0FBQUEsSUFDSjtBQUVBLFVBQU0sRUFBRSxLQUFLLElBQUksTUFBTSxPQUFPLFNBQVM7QUFDdkMsU0FBSyxPQUFPLE1BQU0sS0FBSztBQUFBLEVBQzNCO0FBQUEsRUFFQSxPQUFPO0FBQUEsRUFBQztBQUNaOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util/wtf.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,MAAM,MAAM;AAAA,EACf,MAAM,aAAa;AAEf,QAAI,OAAO,YAAY,YAAY,SAAS,SAAS,SAAS,QAAQ;AAClE;AAAA,IACJ;AAIA,QAAI,CAAC,QAAQ,KAAK,SAAS,OAAO,KAAK,CAAC,QAAQ,IAAI,YAAY;AAC5D;AAAA,IACJ;AAEA,UAAM,EAAE,KAAK,IAAI,MAAM,OAAO,SAAS;AACvC,SAAK,OAAO,MAAM,KAAK;AAAA,EAC3B;AAAA,EAEA,OAAO;AAAA,EAAC;AACZ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/versioning/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,wBAAsB,IAAI,CAAC,IAAI,WAAe,iBA8B7C"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import yargs from "yargs";
|
|
7
|
+
import { hideBin } from "yargs/helpers";
|
|
8
|
+
import { Package } from "../util/package.js";
|
|
9
|
+
import { Progress } from "../util/progress.js";
|
|
10
|
+
import { Versioner } from "./versioner.js";
|
|
11
|
+
async function main(argv = process.argv) {
|
|
12
|
+
const args = await yargs(hideBin(argv)).command("$0 [ver]", "Manipulate monorepo package versions.").option("prefix", { alias: "p", default: ".", type: "string", describe: "specify monorepo directory" }).option("set", { alias: "s", type: "boolean", describe: "Sets the release version" }).option("apply", { alias: "a", type: "boolean", describe: "Sets package versions to the release version" }).option("tag", { alias: "t", type: "boolean", describe: "Adds git tag for release version" }).wrap(Math.min(process.stdout.columns, 80)).strict().argv;
|
|
13
|
+
const version = args.ver;
|
|
14
|
+
const pkg = new Package({ path: args.prefix });
|
|
15
|
+
const versioner = new Versioner(pkg, version);
|
|
16
|
+
const progress = new Progress();
|
|
17
|
+
progress.startup(`Release ${versioner.version}`, versioner.pkg);
|
|
18
|
+
if (args.set) {
|
|
19
|
+
await progress.run(`Set version to ${progress.emphasize(versioner.version)}`, () => versioner.set());
|
|
20
|
+
}
|
|
21
|
+
if (args.apply) {
|
|
22
|
+
await versioner.apply(progress);
|
|
23
|
+
}
|
|
24
|
+
if (args.tag) {
|
|
25
|
+
await progress.run(`Tagging version ${progress.emphasize(versioner.version)}`, () => versioner.tag());
|
|
26
|
+
}
|
|
27
|
+
progress.shutdown();
|
|
28
|
+
}
|
|
29
|
+
export {
|
|
30
|
+
main
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3ZlcnNpb25pbmcvY2xpLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMi0yMDI0IE1hdHRlci5qcyBBdXRob3JzXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCB5YXJncyBmcm9tIFwieWFyZ3NcIjtcbmltcG9ydCB7IGhpZGVCaW4gfSBmcm9tIFwieWFyZ3MvaGVscGVyc1wiO1xuaW1wb3J0IHsgUGFja2FnZSB9IGZyb20gXCIuLi91dGlsL3BhY2thZ2UuanNcIjtcbmltcG9ydCB7IFByb2dyZXNzIH0gZnJvbSBcIi4uL3V0aWwvcHJvZ3Jlc3MuanNcIjtcbmltcG9ydCB7IFZlcnNpb25lciB9IGZyb20gXCIuL3ZlcnNpb25lci5qc1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWFpbihhcmd2ID0gcHJvY2Vzcy5hcmd2KSB7XG4gICAgY29uc3QgYXJncyA9IGF3YWl0IHlhcmdzKGhpZGVCaW4oYXJndikpXG4gICAgICAgIC5jb21tYW5kKFwiJDAgW3Zlcl1cIiwgXCJNYW5pcHVsYXRlIG1vbm9yZXBvIHBhY2thZ2UgdmVyc2lvbnMuXCIpXG4gICAgICAgIC5vcHRpb24oXCJwcmVmaXhcIiwgeyBhbGlhczogXCJwXCIsIGRlZmF1bHQ6IFwiLlwiLCB0eXBlOiBcInN0cmluZ1wiLCBkZXNjcmliZTogXCJzcGVjaWZ5IG1vbm9yZXBvIGRpcmVjdG9yeVwiIH0pXG4gICAgICAgIC5vcHRpb24oXCJzZXRcIiwgeyBhbGlhczogXCJzXCIsIHR5cGU6IFwiYm9vbGVhblwiLCBkZXNjcmliZTogXCJTZXRzIHRoZSByZWxlYXNlIHZlcnNpb25cIiB9KVxuICAgICAgICAub3B0aW9uKFwiYXBwbHlcIiwgeyBhbGlhczogXCJhXCIsIHR5cGU6IFwiYm9vbGVhblwiLCBkZXNjcmliZTogXCJTZXRzIHBhY2thZ2UgdmVyc2lvbnMgdG8gdGhlIHJlbGVhc2UgdmVyc2lvblwiIH0pXG4gICAgICAgIC5vcHRpb24oXCJ0YWdcIiwgeyBhbGlhczogXCJ0XCIsIHR5cGU6IFwiYm9vbGVhblwiLCBkZXNjcmliZTogXCJBZGRzIGdpdCB0YWcgZm9yIHJlbGVhc2UgdmVyc2lvblwiIH0pXG4gICAgICAgIC53cmFwKE1hdGgubWluKHByb2Nlc3Muc3Rkb3V0LmNvbHVtbnMsIDgwKSlcbiAgICAgICAgLnN0cmljdCgpLmFyZ3Y7XG5cbiAgICBjb25zdCB2ZXJzaW9uID0gYXJncy52ZXIgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IHBrZyA9IG5ldyBQYWNrYWdlKHsgcGF0aDogYXJncy5wcmVmaXggfSk7XG4gICAgY29uc3QgdmVyc2lvbmVyID0gbmV3IFZlcnNpb25lcihwa2csIHZlcnNpb24pO1xuXG4gICAgY29uc3QgcHJvZ3Jlc3MgPSBuZXcgUHJvZ3Jlc3MoKTtcblxuICAgIHByb2dyZXNzLnN0YXJ0dXAoYFJlbGVhc2UgJHt2ZXJzaW9uZXIudmVyc2lvbn1gLCB2ZXJzaW9uZXIucGtnKTtcbiAgICBpZiAoYXJncy5zZXQpIHtcbiAgICAgICAgYXdhaXQgcHJvZ3Jlc3MucnVuKGBTZXQgdmVyc2lvbiB0byAke3Byb2dyZXNzLmVtcGhhc2l6ZSh2ZXJzaW9uZXIudmVyc2lvbil9YCwgKCkgPT4gdmVyc2lvbmVyLnNldCgpKTtcbiAgICB9XG5cbiAgICBpZiAoYXJncy5hcHBseSkge1xuICAgICAgICBhd2FpdCB2ZXJzaW9uZXIuYXBwbHkocHJvZ3Jlc3MpO1xuICAgIH1cblxuICAgIGlmIChhcmdzLnRhZykge1xuICAgICAgICBhd2FpdCBwcm9ncmVzcy5ydW4oYFRhZ2dpbmcgdmVyc2lvbiAke3Byb2dyZXNzLmVtcGhhc2l6ZSh2ZXJzaW9uZXIudmVyc2lvbil9YCwgKCkgPT4gdmVyc2lvbmVyLnRhZygpKTtcbiAgICB9XG5cbiAgICBwcm9ncmVzcy5zaHV0ZG93bigpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLE9BQU8sV0FBVztBQUNsQixTQUFTLGVBQWU7QUFDeEIsU0FBUyxlQUFlO0FBQ3hCLFNBQVMsZ0JBQWdCO0FBQ3pCLFNBQVMsaUJBQWlCO0FBRTFCLGVBQXNCLEtBQUssT0FBTyxRQUFRLE1BQU07QUFDNUMsUUFBTSxPQUFPLE1BQU0sTUFBTSxRQUFRLElBQUksQ0FBQyxFQUNqQyxRQUFRLFlBQVksdUNBQXVDLEVBQzNELE9BQU8sVUFBVSxFQUFFLE9BQU8sS0FBSyxTQUFTLEtBQUssTUFBTSxVQUFVLFVBQVUsNkJBQTZCLENBQUMsRUFDckcsT0FBTyxPQUFPLEVBQUUsT0FBTyxLQUFLLE1BQU0sV0FBVyxVQUFVLDJCQUEyQixDQUFDLEVBQ25GLE9BQU8sU0FBUyxFQUFFLE9BQU8sS0FBSyxNQUFNLFdBQVcsVUFBVSwrQ0FBK0MsQ0FBQyxFQUN6RyxPQUFPLE9BQU8sRUFBRSxPQUFPLEtBQUssTUFBTSxXQUFXLFVBQVUsbUNBQW1DLENBQUMsRUFDM0YsS0FBSyxLQUFLLElBQUksUUFBUSxPQUFPLFNBQVMsRUFBRSxDQUFDLEVBQ3pDLE9BQU8sRUFBRTtBQUVkLFFBQU0sVUFBVSxLQUFLO0FBQ3JCLFFBQU0sTUFBTSxJQUFJLFFBQVEsRUFBRSxNQUFNLEtBQUssT0FBTyxDQUFDO0FBQzdDLFFBQU0sWUFBWSxJQUFJLFVBQVUsS0FBSyxPQUFPO0FBRTVDLFFBQU0sV0FBVyxJQUFJLFNBQVM7QUFFOUIsV0FBUyxRQUFRLFdBQVcsVUFBVSxPQUFPLElBQUksVUFBVSxHQUFHO0FBQzlELE1BQUksS0FBSyxLQUFLO0FBQ1YsVUFBTSxTQUFTLElBQUksa0JBQWtCLFNBQVMsVUFBVSxVQUFVLE9BQU8sQ0FBQyxJQUFJLE1BQU0sVUFBVSxJQUFJLENBQUM7QUFBQSxFQUN2RztBQUVBLE1BQUksS0FBSyxPQUFPO0FBQ1osVUFBTSxVQUFVLE1BQU0sUUFBUTtBQUFBLEVBQ2xDO0FBRUEsTUFBSSxLQUFLLEtBQUs7QUFDVixVQUFNLFNBQVMsSUFBSSxtQkFBbUIsU0FBUyxVQUFVLFVBQVUsT0FBTyxDQUFDLElBQUksTUFBTSxVQUFVLElBQUksQ0FBQztBQUFBLEVBQ3hHO0FBRUEsV0FBUyxTQUFTO0FBQ3RCOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/versioning/cli.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO,WAAW;AAClB,SAAS,eAAe;AACxB,SAAS,eAAe;AACxB,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAE1B,eAAsB,KAAK,OAAO,QAAQ,MAAM;AAC5C,QAAM,OAAO,MAAM,MAAM,QAAQ,IAAI,CAAC,EACjC,QAAQ,YAAY,uCAAuC,EAC3D,OAAO,UAAU,EAAE,OAAO,KAAK,SAAS,KAAK,MAAM,UAAU,UAAU,6BAA6B,CAAC,EACrG,OAAO,OAAO,EAAE,OAAO,KAAK,MAAM,WAAW,UAAU,2BAA2B,CAAC,EACnF,OAAO,SAAS,EAAE,OAAO,KAAK,MAAM,WAAW,UAAU,+CAA+C,CAAC,EACzG,OAAO,OAAO,EAAE,OAAO,KAAK,MAAM,WAAW,UAAU,mCAAmC,CAAC,EAC3F,KAAK,KAAK,IAAI,QAAQ,OAAO,SAAS,EAAE,CAAC,EACzC,OAAO,EAAE;AAEd,QAAM,UAAU,KAAK;AACrB,QAAM,MAAM,IAAI,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;AAC7C,QAAM,YAAY,IAAI,UAAU,KAAK,OAAO;AAE5C,QAAM,WAAW,IAAI,SAAS;AAE9B,WAAS,QAAQ,WAAW,UAAU,OAAO,IAAI,UAAU,GAAG;AAC9D,MAAI,KAAK,KAAK;AACV,UAAM,SAAS,IAAI,kBAAkB,SAAS,UAAU,UAAU,OAAO,CAAC,IAAI,MAAM,UAAU,IAAI,CAAC;AAAA,EACvG;AAEA,MAAI,KAAK,OAAO;AACZ,UAAM,UAAU,MAAM,QAAQ;AAAA,EAClC;AAEA,MAAI,KAAK,KAAK;AACV,UAAM,SAAS,IAAI,mBAAmB,SAAS,UAAU,UAAU,OAAO,CAAC,IAAI,MAAM,UAAU,IAAI,CAAC;AAAA,EACxG;AAEA,WAAS,SAAS;AACtB;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Package } from "../util/package.js";
|
|
7
|
+
import { Progress } from "../util/progress.js";
|
|
8
|
+
export declare class Versioner {
|
|
9
|
+
#private;
|
|
10
|
+
get pkg(): Package;
|
|
11
|
+
get version(): string | undefined;
|
|
12
|
+
get appliedVersion(): string;
|
|
13
|
+
constructor(pkg: Package, version?: string);
|
|
14
|
+
set(): Promise<void>;
|
|
15
|
+
apply(progress?: Progress): Promise<void>;
|
|
16
|
+
tag(): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=versioner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versioner.d.ts","sourceRoot":"","sources":["../../../src/versioning/versioner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAI/C,qBAAa,SAAS;;IAKlB,IAAI,GAAG,YAEN;IAED,IAAI,OAAO,uBAEV;IAED,IAAI,cAAc,WAEjB;gBAEW,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM;IAcpC,GAAG;IAIH,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAiBzB,GAAG;CAsEZ"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import colors from "ansi-colors";
|
|
7
|
+
import { existsSync, readFileSync } from "fs";
|
|
8
|
+
import { cp, writeFile } from "fs/promises";
|
|
9
|
+
import { Graph } from "../building/graph.js";
|
|
10
|
+
import { execute } from "../running/execute.js";
|
|
11
|
+
const VERSION_FILE = "version.txt";
|
|
12
|
+
class Versioner {
|
|
13
|
+
#pkg;
|
|
14
|
+
#version;
|
|
15
|
+
#members = /* @__PURE__ */ new Set();
|
|
16
|
+
get pkg() {
|
|
17
|
+
return this.#pkg;
|
|
18
|
+
}
|
|
19
|
+
get version() {
|
|
20
|
+
return this.#version;
|
|
21
|
+
}
|
|
22
|
+
get appliedVersion() {
|
|
23
|
+
return this.#pkg.json.version;
|
|
24
|
+
}
|
|
25
|
+
constructor(pkg, version) {
|
|
26
|
+
this.#pkg = pkg.workspace;
|
|
27
|
+
if (version === void 0) {
|
|
28
|
+
version = this.#readVersion();
|
|
29
|
+
}
|
|
30
|
+
if (version && !version.match(/^(?:\d+\.\d+\.\d+(?:-[a-z0-9.-]+)?|[a-z]+)$/)) {
|
|
31
|
+
throw new Error(`Version ${version} is invalid (must be semantic or single lowercase word)`);
|
|
32
|
+
}
|
|
33
|
+
this.#version = version;
|
|
34
|
+
}
|
|
35
|
+
async set() {
|
|
36
|
+
await writeFile(this.#versionFile, this.#definiteVersion);
|
|
37
|
+
}
|
|
38
|
+
async apply(progress) {
|
|
39
|
+
const graph = await Graph.load(this.#pkg);
|
|
40
|
+
this.#members = new Set(graph.nodes.map((node) => node.pkg.name));
|
|
41
|
+
for (const node of graph.nodes) {
|
|
42
|
+
const what = `Apply ${colors.bold(this.#definiteVersion)} to ${colors.bold(node.pkg.name)}`;
|
|
43
|
+
progress?.update(what);
|
|
44
|
+
if (this.#applyOne(node.pkg)) {
|
|
45
|
+
progress?.success(what);
|
|
46
|
+
await node.pkg.save();
|
|
47
|
+
} else {
|
|
48
|
+
progress?.success(`${what} (no change)`);
|
|
49
|
+
}
|
|
50
|
+
await cp(this.#pkg.resolve("LICENSE"), node.pkg.resolve("LICENSE"));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async tag() {
|
|
54
|
+
await execute("git", ["tag", "-f", `v${this.#definiteVersion}`]);
|
|
55
|
+
}
|
|
56
|
+
get #definiteVersion() {
|
|
57
|
+
if (this.#version === void 0) {
|
|
58
|
+
throw new Error(`No version supplied and ${this.#versionFile} does not exist`);
|
|
59
|
+
}
|
|
60
|
+
return this.#version;
|
|
61
|
+
}
|
|
62
|
+
get #versionFile() {
|
|
63
|
+
return this.#pkg.resolve(VERSION_FILE);
|
|
64
|
+
}
|
|
65
|
+
#readVersion() {
|
|
66
|
+
const versionFile = this.#versionFile;
|
|
67
|
+
if (!existsSync(versionFile)) {
|
|
68
|
+
return void 0;
|
|
69
|
+
}
|
|
70
|
+
const version = readFileSync(versionFile).toString().trim();
|
|
71
|
+
if (version.length === 0) {
|
|
72
|
+
throw new Error(`Version file ${versionFile} is empty`);
|
|
73
|
+
}
|
|
74
|
+
return version;
|
|
75
|
+
}
|
|
76
|
+
#applyOne(pkg) {
|
|
77
|
+
const json = pkg.json;
|
|
78
|
+
let changed = false;
|
|
79
|
+
if (json.version !== this.#definiteVersion) {
|
|
80
|
+
json.version = this.#definiteVersion;
|
|
81
|
+
changed = true;
|
|
82
|
+
}
|
|
83
|
+
for (const key in json) {
|
|
84
|
+
if (key !== "dependencies" && !key.endsWith("Dependencies")) {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
const deps = json[key];
|
|
88
|
+
if (typeof deps !== "object") {
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
if (this.#applyToDeps(deps)) {
|
|
92
|
+
changed = true;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return changed;
|
|
96
|
+
}
|
|
97
|
+
#applyToDeps(deps) {
|
|
98
|
+
let changed = false;
|
|
99
|
+
const version = this.#definiteVersion;
|
|
100
|
+
for (const key in deps) {
|
|
101
|
+
if (this.#members.has(key)) {
|
|
102
|
+
if (deps[key] === version) {
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
deps[key] = this.#definiteVersion;
|
|
106
|
+
changed = true;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return changed;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
export {
|
|
113
|
+
Versioner
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3ZlcnNpb25pbmcvdmVyc2lvbmVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMi0yMDI0IE1hdHRlci5qcyBBdXRob3JzXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCBjb2xvcnMgZnJvbSBcImFuc2ktY29sb3JzXCI7XG5pbXBvcnQgeyBleGlzdHNTeW5jLCByZWFkRmlsZVN5bmMgfSBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IGNwLCB3cml0ZUZpbGUgfSBmcm9tIFwiZnMvcHJvbWlzZXNcIjtcbmltcG9ydCB7IEdyYXBoIH0gZnJvbSBcIi4uL2J1aWxkaW5nL2dyYXBoLmpzXCI7XG5pbXBvcnQgeyBleGVjdXRlIH0gZnJvbSBcIi4uL3J1bm5pbmcvZXhlY3V0ZS5qc1wiO1xuaW1wb3J0IHsgUGFja2FnZSB9IGZyb20gXCIuLi91dGlsL3BhY2thZ2UuanNcIjtcbmltcG9ydCB7IFByb2dyZXNzIH0gZnJvbSBcIi4uL3V0aWwvcHJvZ3Jlc3MuanNcIjtcblxuY29uc3QgVkVSU0lPTl9GSUxFID0gXCJ2ZXJzaW9uLnR4dFwiO1xuXG5leHBvcnQgY2xhc3MgVmVyc2lvbmVyIHtcbiAgICAjcGtnOiBQYWNrYWdlO1xuICAgICN2ZXJzaW9uPzogc3RyaW5nO1xuICAgICNtZW1iZXJzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICBnZXQgcGtnKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4jcGtnO1xuICAgIH1cblxuICAgIGdldCB2ZXJzaW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4jdmVyc2lvbjtcbiAgICB9XG5cbiAgICBnZXQgYXBwbGllZFZlcnNpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLiNwa2cuanNvbi52ZXJzaW9uO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHBrZzogUGFja2FnZSwgdmVyc2lvbj86IHN0cmluZykge1xuICAgICAgICB0aGlzLiNwa2cgPSBwa2cud29ya3NwYWNlO1xuXG4gICAgICAgIGlmICh2ZXJzaW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHZlcnNpb24gPSB0aGlzLiNyZWFkVmVyc2lvbigpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZlcnNpb24gJiYgIXZlcnNpb24ubWF0Y2goL14oPzpcXGQrXFwuXFxkK1xcLlxcZCsoPzotW2EtejAtOS4tXSspP3xbYS16XSspJC8pKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFZlcnNpb24gJHt2ZXJzaW9ufSBpcyBpbnZhbGlkIChtdXN0IGJlIHNlbWFudGljIG9yIHNpbmdsZSBsb3dlcmNhc2Ugd29yZClgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuI3ZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIH1cblxuICAgIGFzeW5jIHNldCgpIHtcbiAgICAgICAgYXdhaXQgd3JpdGVGaWxlKHRoaXMuI3ZlcnNpb25GaWxlLCB0aGlzLiNkZWZpbml0ZVZlcnNpb24pO1xuICAgIH1cblxuICAgIGFzeW5jIGFwcGx5KHByb2dyZXNzPzogUHJvZ3Jlc3MpIHtcbiAgICAgICAgY29uc3QgZ3JhcGggPSBhd2FpdCBHcmFwaC5sb2FkKHRoaXMuI3BrZyk7XG4gICAgICAgIHRoaXMuI21lbWJlcnMgPSBuZXcgU2V0KGdyYXBoLm5vZGVzLm1hcChub2RlID0+IG5vZGUucGtnLm5hbWUpKTtcblxuICAgICAgICBmb3IgKGNvbnN0IG5vZGUgb2YgZ3JhcGgubm9kZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IHdoYXQgPSBgQXBwbHkgJHtjb2xvcnMuYm9sZCh0aGlzLiNkZWZpbml0ZVZlcnNpb24pfSB0byAke2NvbG9ycy5ib2xkKG5vZGUucGtnLm5hbWUpfWA7XG4gICAgICAgICAgICBwcm9ncmVzcz8udXBkYXRlKHdoYXQpO1xuICAgICAgICAgICAgaWYgKHRoaXMuI2FwcGx5T25lKG5vZGUucGtnKSkge1xuICAgICAgICAgICAgICAgIHByb2dyZXNzPy5zdWNjZXNzKHdoYXQpO1xuICAgICAgICAgICAgICAgIGF3YWl0IG5vZGUucGtnLnNhdmUoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcHJvZ3Jlc3M/LnN1Y2Nlc3MoYCR7d2hhdH0gKG5vIGNoYW5nZSlgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF3YWl0IGNwKHRoaXMuI3BrZy5yZXNvbHZlKFwiTElDRU5TRVwiKSwgbm9kZS5wa2cucmVzb2x2ZShcIkxJQ0VOU0VcIikpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgdGFnKCkge1xuICAgICAgICBhd2FpdCBleGVjdXRlKFwiZ2l0XCIsIFtcInRhZ1wiLCBcIi1mXCIsIGB2JHt0aGlzLiNkZWZpbml0ZVZlcnNpb259YF0pO1xuICAgIH1cblxuICAgIGdldCAjZGVmaW5pdGVWZXJzaW9uKCkge1xuICAgICAgICBpZiAodGhpcy4jdmVyc2lvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHZlcnNpb24gc3VwcGxpZWQgYW5kICR7dGhpcy4jdmVyc2lvbkZpbGV9IGRvZXMgbm90IGV4aXN0YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuI3ZlcnNpb247XG4gICAgfVxuXG4gICAgZ2V0ICN2ZXJzaW9uRmlsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI3BrZy5yZXNvbHZlKFZFUlNJT05fRklMRSk7XG4gICAgfVxuXG4gICAgI3JlYWRWZXJzaW9uKCkge1xuICAgICAgICBjb25zdCB2ZXJzaW9uRmlsZSA9IHRoaXMuI3ZlcnNpb25GaWxlO1xuICAgICAgICBpZiAoIWV4aXN0c1N5bmModmVyc2lvbkZpbGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmVyc2lvbiA9IHJlYWRGaWxlU3luYyh2ZXJzaW9uRmlsZSkudG9TdHJpbmcoKS50cmltKCk7XG4gICAgICAgIGlmICh2ZXJzaW9uLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBWZXJzaW9uIGZpbGUgJHt2ZXJzaW9uRmlsZX0gaXMgZW1wdHlgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2ZXJzaW9uO1xuICAgIH1cblxuICAgICNhcHBseU9uZShwa2c6IFBhY2thZ2UpIHtcbiAgICAgICAgY29uc3QganNvbiA9IHBrZy5qc29uO1xuICAgICAgICBsZXQgY2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChqc29uLnZlcnNpb24gIT09IHRoaXMuI2RlZmluaXRlVmVyc2lvbikge1xuICAgICAgICAgICAganNvbi52ZXJzaW9uID0gdGhpcy4jZGVmaW5pdGVWZXJzaW9uO1xuICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBqc29uKSB7XG4gICAgICAgICAgICBpZiAoa2V5ICE9PSBcImRlcGVuZGVuY2llc1wiICYmICFrZXkuZW5kc1dpdGgoXCJEZXBlbmRlbmNpZXNcIikpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZGVwcyA9IGpzb25ba2V5XTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZGVwcyAhPT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy4jYXBwbHlUb0RlcHMoZGVwcykpIHtcbiAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjaGFuZ2VkO1xuICAgIH1cblxuICAgICNhcHBseVRvRGVwcyhkZXBzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSB7XG4gICAgICAgIGxldCBjaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IHZlcnNpb24gPSB0aGlzLiNkZWZpbml0ZVZlcnNpb247XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGRlcHMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLiNtZW1iZXJzLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRlcHNba2V5XSA9PT0gdmVyc2lvbikge1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGVwc1trZXldID0gdGhpcy4jZGVmaW5pdGVWZXJzaW9uO1xuICAgICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjaGFuZ2VkO1xuICAgIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxPQUFPLFlBQVk7QUFDbkIsU0FBUyxZQUFZLG9CQUFvQjtBQUN6QyxTQUFTLElBQUksaUJBQWlCO0FBQzlCLFNBQVMsYUFBYTtBQUN0QixTQUFTLGVBQWU7QUFJeEIsTUFBTSxlQUFlO0FBRWQsTUFBTSxVQUFVO0FBQUEsRUFDbkI7QUFBQSxFQUNBO0FBQUEsRUFDQSxXQUFXLG9CQUFJLElBQVk7QUFBQSxFQUUzQixJQUFJLE1BQU07QUFDTixXQUFPLEtBQUs7QUFBQSxFQUNoQjtBQUFBLEVBRUEsSUFBSSxVQUFVO0FBQ1YsV0FBTyxLQUFLO0FBQUEsRUFDaEI7QUFBQSxFQUVBLElBQUksaUJBQWlCO0FBQ2pCLFdBQU8sS0FBSyxLQUFLLEtBQUs7QUFBQSxFQUMxQjtBQUFBLEVBRUEsWUFBWSxLQUFjLFNBQWtCO0FBQ3hDLFNBQUssT0FBTyxJQUFJO0FBRWhCLFFBQUksWUFBWSxRQUFXO0FBQ3ZCLGdCQUFVLEtBQUssYUFBYTtBQUFBLElBQ2hDO0FBRUEsUUFBSSxXQUFXLENBQUMsUUFBUSxN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
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/versioning/versioner.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@matter/tools",
|
|
3
|
+
"version": "0.11.0-alpha.0-20241005-e3e4e4a7a",
|
|
4
|
+
"description": "Matter.js tooling",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"clean": "node bin/build.js clean",
|
|
8
|
+
"build": "node bin/build.js",
|
|
9
|
+
"build-clean": "node bin/build.js --clean",
|
|
10
|
+
"test": "node bin/test.js",
|
|
11
|
+
"version": "node bin/version.js"
|
|
12
|
+
},
|
|
13
|
+
"bin": {
|
|
14
|
+
"matter-build": "bin/build.js",
|
|
15
|
+
"matter-test": "bin/test.js",
|
|
16
|
+
"matter-run": "bin/run.js",
|
|
17
|
+
"matter-version": "bin/version.js"
|
|
18
|
+
},
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"import": {
|
|
22
|
+
"types": "./dist/esm/index.d.ts",
|
|
23
|
+
"default": "./dist/esm/index.js"
|
|
24
|
+
},
|
|
25
|
+
"require": {
|
|
26
|
+
"types": "./dist/cjs/index.d.ts",
|
|
27
|
+
"default": "./dist/cjs/index.js"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"main": "dist/cjs/index.js",
|
|
32
|
+
"module": "dist/esm/index.js",
|
|
33
|
+
"types": "dist/esm/index.d.ts",
|
|
34
|
+
"repository": {
|
|
35
|
+
"type": "git",
|
|
36
|
+
"url": "git+https://github.com/project-chip/matter.js.git"
|
|
37
|
+
},
|
|
38
|
+
"author": "matter.js authors",
|
|
39
|
+
"contributors": [
|
|
40
|
+
"Greg Lauckhart <greg@lauckhart.com>"
|
|
41
|
+
],
|
|
42
|
+
"license": "Apache-2.0",
|
|
43
|
+
"bugs": {
|
|
44
|
+
"url": "https://github.com/project-chip/matter.js/issues"
|
|
45
|
+
},
|
|
46
|
+
"homepage": "https://github.com/project-chip/matter.js#readme",
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"@npmcli/map-workspaces": "^3.0.6",
|
|
49
|
+
"@types/express": "^4.17.21",
|
|
50
|
+
"ansi-colors": "^4.1.3",
|
|
51
|
+
"chai": "^4.4.1",
|
|
52
|
+
"chai-as-promised": "^7.1.2",
|
|
53
|
+
"dockerode": "^4.0.2",
|
|
54
|
+
"esbuild": "^0.24.0",
|
|
55
|
+
"express": "^4.19.2",
|
|
56
|
+
"glob": "^10.4.5",
|
|
57
|
+
"mocha": "^10.7.3",
|
|
58
|
+
"playwright": "^1.46.1",
|
|
59
|
+
"trace-unhandled": "^2.0.1",
|
|
60
|
+
"typescript": "~5.6.2",
|
|
61
|
+
"wtfnode": "^0.9.3",
|
|
62
|
+
"yargs": "^17.7.2"
|
|
63
|
+
},
|
|
64
|
+
"optionalDependencies": {
|
|
65
|
+
"@esbuild/linux-x64": "^0.24.0",
|
|
66
|
+
"v8-profiler-next": "^1.10.0"
|
|
67
|
+
},
|
|
68
|
+
"devDependencies": {
|
|
69
|
+
"@types/chai": "^4.3.16",
|
|
70
|
+
"@types/chai-as-promised": "^7.1.8",
|
|
71
|
+
"@types/debug": "^4.1.12",
|
|
72
|
+
"@types/dockerode": "^3.3.30",
|
|
73
|
+
"@types/glob": "^8.1.0",
|
|
74
|
+
"@types/mocha": "^10.0.7",
|
|
75
|
+
"@types/npmcli__map-workspaces": "^3.0.4",
|
|
76
|
+
"@types/wtfnode": "^0.7.3",
|
|
77
|
+
"@types/yargs": "^17.0.33"
|
|
78
|
+
},
|
|
79
|
+
"publishConfig": {
|
|
80
|
+
"access": "public"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import colors from "ansi-colors";
|
|
8
|
+
import { createHash } from "crypto";
|
|
9
|
+
import { Progress } from "../util/progress.js";
|
|
10
|
+
import { BuildError } from "./error.js";
|
|
11
|
+
import { Graph } from "./graph.js";
|
|
12
|
+
import { BuildInformation, Project } from "./project.js";
|
|
13
|
+
import { createTypescriptContext } from "./typescript.js";
|
|
14
|
+
import { TypescriptContext } from "./typescript/context.js";
|
|
15
|
+
|
|
16
|
+
export enum Target {
|
|
17
|
+
clean = "clean",
|
|
18
|
+
types = "types",
|
|
19
|
+
esm = "esm",
|
|
20
|
+
cjs = "cjs",
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface Options {
|
|
24
|
+
targets?: Target[];
|
|
25
|
+
clean?: boolean;
|
|
26
|
+
graph?: Graph;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* High-level build coordination.
|
|
31
|
+
*
|
|
32
|
+
* Warning: This class is intended for command line use and will process.exit if things go wrong.
|
|
33
|
+
*/
|
|
34
|
+
export class Builder {
|
|
35
|
+
unconditional: boolean;
|
|
36
|
+
tsContext?: TypescriptContext;
|
|
37
|
+
graph?: Graph;
|
|
38
|
+
|
|
39
|
+
constructor(private options: Options = {}) {
|
|
40
|
+
this.unconditional =
|
|
41
|
+
options.clean || (options.targets !== undefined && options.targets?.indexOf(Target.clean) !== -1);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
public async configure(project: Project) {
|
|
45
|
+
if (!project.pkg.hasConfig) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const progress = project.pkg.start("Configuring");
|
|
50
|
+
|
|
51
|
+
try {
|
|
52
|
+
await project.configure(progress);
|
|
53
|
+
} catch (e: any) {
|
|
54
|
+
progress.shutdown();
|
|
55
|
+
process.stderr.write(`${e.stack ?? e.message}\n\n`);
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
progress.shutdown();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
public async build(project: Project) {
|
|
63
|
+
const progress = project.pkg.start("Building");
|
|
64
|
+
|
|
65
|
+
try {
|
|
66
|
+
await this.#doBuild(project, progress);
|
|
67
|
+
} catch (e: any) {
|
|
68
|
+
progress.shutdown();
|
|
69
|
+
process.stderr.write(`${e.stack ?? e.message}\n\n`);
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
progress.shutdown();
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
async #doBuild(project: Project, progress: Progress) {
|
|
77
|
+
const targets = this.#selectTargets(project);
|
|
78
|
+
|
|
79
|
+
if (targets.has(Target.clean) || this.options.clean) {
|
|
80
|
+
await progress.run("Clean", () => project.clean());
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (!targets.has(Target.types) && !targets.has(Target.esm) && !targets.has(Target.cjs)) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const info: BuildInformation = {};
|
|
88
|
+
|
|
89
|
+
const config = await project.configure(progress);
|
|
90
|
+
|
|
91
|
+
await config?.before?.({ project, progress });
|
|
92
|
+
|
|
93
|
+
// If available we use graph to access dependency API shas
|
|
94
|
+
const graph = this.graph ?? (await Graph.forProject(project.pkg.path));
|
|
95
|
+
let node: Graph.Node | undefined;
|
|
96
|
+
if (graph) {
|
|
97
|
+
node = graph.get(project.pkg.name);
|
|
98
|
+
for (const dep of node.dependencies) {
|
|
99
|
+
if (dep.info.apiSha !== undefined) {
|
|
100
|
+
if (info.dependencyApiShas === undefined) {
|
|
101
|
+
info.dependencyApiShas = {};
|
|
102
|
+
}
|
|
103
|
+
info.dependencyApiShas[dep.pkg.name] = dep.info.apiSha;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (targets.has(Target.types)) {
|
|
109
|
+
try {
|
|
110
|
+
// Obtain or initialize typescript solution builder
|
|
111
|
+
let context = this.tsContext;
|
|
112
|
+
if (context === undefined) {
|
|
113
|
+
context = this.tsContext = await createTypescriptContext(
|
|
114
|
+
project.pkg.workspace,
|
|
115
|
+
graph,
|
|
116
|
+
progress.refresh.bind(progress),
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (project.pkg.isLibrary) {
|
|
121
|
+
const apiSha = createHash("sha1");
|
|
122
|
+
|
|
123
|
+
// Our API SHA changes if that of any dependency changes
|
|
124
|
+
if (node) {
|
|
125
|
+
for (const dep of node.dependencies) {
|
|
126
|
+
if (dep.info.apiSha !== undefined) {
|
|
127
|
+
apiSha.update(dep.info.apiSha);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
await progress.run(`Generate ${progress.emphasize("type declarations")}`, () =>
|
|
133
|
+
context.build(project.pkg, "src"),
|
|
134
|
+
);
|
|
135
|
+
await progress.run(`Install ${progress.emphasize("type declarations")}`, () =>
|
|
136
|
+
project.installDeclarations(apiSha),
|
|
137
|
+
);
|
|
138
|
+
|
|
139
|
+
info.apiSha = apiSha.digest("hex");
|
|
140
|
+
} else {
|
|
141
|
+
await progress.run(`Validate ${progress.emphasize("types")}`, () =>
|
|
142
|
+
context.build(project.pkg, "src", false),
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
if (project.pkg.hasTests) {
|
|
146
|
+
await progress.run(`Validate ${progress.emphasize("test types")}`, () =>
|
|
147
|
+
context.build(project.pkg, "test"),
|
|
148
|
+
);
|
|
149
|
+
}
|
|
150
|
+
} catch (e) {
|
|
151
|
+
if (e instanceof BuildError) {
|
|
152
|
+
progress.failure("Terminating due to type errors");
|
|
153
|
+
process.stderr.write(e.diagnostics);
|
|
154
|
+
process.exit(1);
|
|
155
|
+
}
|
|
156
|
+
throw e;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
if (targets.has(Target.esm)) {
|
|
161
|
+
await this.#transpile(project, progress, Target.esm);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
if (targets.has(Target.cjs)) {
|
|
165
|
+
await this.#transpile(project, progress, Target.cjs);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
await config?.after?.({ project, progress });
|
|
169
|
+
|
|
170
|
+
// Only update build information when there are no explicit targets so we know it's a full build
|
|
171
|
+
if (!this.options.targets?.length) {
|
|
172
|
+
await project.recordBuildInfo(info);
|
|
173
|
+
if (node) {
|
|
174
|
+
node.info = info;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
async #transpile(project: Project, progress: Progress, format: "esm" | "cjs") {
|
|
180
|
+
const fmt = format.toUpperCase();
|
|
181
|
+
await progress.run(`Transpile ${progress.emphasize("library")} to ${colors.bold(fmt)}`, () =>
|
|
182
|
+
project.buildSource(format),
|
|
183
|
+
);
|
|
184
|
+
if (project.pkg.hasTests) {
|
|
185
|
+
await progress.run(`Transpile ${progress.emphasize("tests")} to ${colors.bold(fmt)}`, () =>
|
|
186
|
+
project.buildTests(format),
|
|
187
|
+
);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
#selectTargets(project: Project) {
|
|
192
|
+
const targets = new Set<string>(this.options.targets);
|
|
193
|
+
|
|
194
|
+
if (!targets.size) {
|
|
195
|
+
targets.add(Target.types);
|
|
196
|
+
|
|
197
|
+
if (project.pkg.supportsEsm) {
|
|
198
|
+
targets.add(Target.esm);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
if (project.pkg.supportsCjs) {
|
|
202
|
+
targets.add(Target.cjs);
|
|
203
|
+
}
|
|
204
|
+
} else {
|
|
205
|
+
if (!project.pkg.supportsEsm) {
|
|
206
|
+
targets.delete(Target.esm);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
if (!project.pkg.supportsCjs) {
|
|
210
|
+
targets.delete(Target.cjs);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
return targets;
|
|
215
|
+
}
|
|
216
|
+
}
|