repopo 0.10.0 → 0.13.0
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/CHANGELOG.md +113 -0
- package/README.md +76 -77
- package/THIRD-PARTY-LICENSES.txt +232 -14
- package/bin/dev.js +5 -1
- package/esm/adapters/fluidFramework.d.ts +13 -9
- package/esm/adapters/fluidFramework.d.ts.map +1 -1
- package/esm/adapters/fluidFramework.js +20 -43
- package/esm/adapters/fluidFramework.js.map +1 -1
- package/esm/api.d.ts +64 -1
- package/esm/api.d.ts.map +1 -1
- package/esm/api.js +17 -1
- package/esm/api.js.map +1 -1
- package/esm/baseCommand.d.ts +1 -1
- package/esm/baseCommand.d.ts.map +1 -1
- package/esm/baseCommand.js +7 -10
- package/esm/baseCommand.js.map +1 -1
- package/esm/commands/check-native.d.ts +25 -0
- package/esm/commands/check-native.d.ts.map +1 -0
- package/esm/commands/check-native.js +156 -0
- package/esm/commands/check-native.js.map +1 -0
- package/esm/commands/check.d.ts +7 -34
- package/esm/commands/check.d.ts.map +1 -1
- package/esm/commands/check.js +76 -265
- package/esm/commands/check.js.map +1 -1
- package/esm/commands/list.d.ts.map +1 -1
- package/esm/commands/list.js +6 -6
- package/esm/commands/list.js.map +1 -1
- package/esm/concurrency.d.ts +3 -0
- package/esm/concurrency.d.ts.map +1 -0
- package/esm/concurrency.js +8 -0
- package/esm/concurrency.js.map +1 -0
- package/esm/config.d.ts +5 -39
- package/esm/config.d.ts.map +1 -1
- package/esm/config.js +3 -7
- package/esm/config.js.map +1 -1
- package/esm/context.d.ts +20 -3
- package/esm/context.d.ts.map +1 -1
- package/esm/context.js +18 -1
- package/esm/context.js.map +1 -1
- package/esm/executionContractError.d.ts +4 -0
- package/esm/executionContractError.d.ts.map +1 -0
- package/esm/executionContractError.js +4 -0
- package/esm/executionContractError.js.map +1 -0
- package/esm/fileCache.d.ts +12 -0
- package/esm/fileCache.d.ts.map +1 -0
- package/esm/fileCache.js +37 -0
- package/esm/fileCache.js.map +1 -0
- package/esm/filePaths.d.ts +2 -0
- package/esm/filePaths.d.ts.map +1 -0
- package/esm/filePaths.js +9 -0
- package/esm/filePaths.js.map +1 -0
- package/esm/generators.d.ts +0 -20
- package/esm/generators.d.ts.map +1 -1
- package/esm/generators.js.map +1 -1
- package/esm/index.d.ts +3 -11
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +3 -14
- package/esm/index.js.map +1 -1
- package/esm/makePolicy.d.ts +26 -79
- package/esm/makePolicy.d.ts.map +1 -1
- package/esm/makePolicy.js +51 -95
- package/esm/makePolicy.js.map +1 -1
- package/esm/perf.d.ts +10 -2
- package/esm/perf.d.ts.map +1 -1
- package/esm/perf.js +10 -9
- package/esm/perf.js.map +1 -1
- package/esm/policies/CargoLicenceValidated.d.ts +41 -0
- package/esm/policies/CargoLicenceValidated.d.ts.map +1 -0
- package/esm/policies/CargoLicenceValidated.js +47 -0
- package/esm/policies/CargoLicenceValidated.js.map +1 -0
- package/esm/policies/CargoLintsConfigured.d.ts +30 -0
- package/esm/policies/CargoLintsConfigured.d.ts.map +1 -0
- package/esm/policies/CargoLintsConfigured.js +65 -0
- package/esm/policies/CargoLintsConfigured.js.map +1 -0
- package/esm/policies/CargoLockPolicy.d.ts +34 -0
- package/esm/policies/CargoLockPolicy.d.ts.map +1 -0
- package/esm/policies/CargoLockPolicy.js +61 -0
- package/esm/policies/CargoLockPolicy.js.map +1 -0
- package/esm/policies/CargoTomlRequired.d.ts +34 -0
- package/esm/policies/CargoTomlRequired.d.ts.map +1 -0
- package/esm/policies/CargoTomlRequired.js +77 -0
- package/esm/policies/CargoTomlRequired.js.map +1 -0
- package/esm/policies/CargoTomlSorted.d.ts +20 -0
- package/esm/policies/CargoTomlSorted.d.ts.map +1 -0
- package/esm/policies/CargoTomlSorted.js +168 -0
- package/esm/policies/CargoTomlSorted.js.map +1 -0
- package/esm/policies/ConditionalScripts.d.ts +10 -8
- package/esm/policies/ConditionalScripts.d.ts.map +1 -1
- package/esm/policies/ConditionalScripts.js +27 -24
- package/esm/policies/ConditionalScripts.js.map +1 -1
- package/esm/policies/ExactScripts.d.ts +8 -6
- package/esm/policies/ExactScripts.d.ts.map +1 -1
- package/esm/policies/ExactScripts.js +18 -20
- package/esm/policies/ExactScripts.js.map +1 -1
- package/esm/policies/GleamDepVersions.d.ts +25 -0
- package/esm/policies/GleamDepVersions.d.ts.map +1 -0
- package/esm/policies/GleamDepVersions.js +67 -0
- package/esm/policies/GleamDepVersions.js.map +1 -0
- package/esm/policies/GleamDocExists.d.ts +24 -0
- package/esm/policies/GleamDocExists.d.ts.map +1 -0
- package/esm/policies/GleamDocExists.js +39 -0
- package/esm/policies/GleamDocExists.js.map +1 -0
- package/esm/policies/GleamInternalModulesConfigured.d.ts +21 -0
- package/esm/policies/GleamInternalModulesConfigured.d.ts.map +1 -0
- package/esm/policies/GleamInternalModulesConfigured.js +32 -0
- package/esm/policies/GleamInternalModulesConfigured.js.map +1 -0
- package/esm/policies/GleamLicenceConfigured.d.ts +29 -0
- package/esm/policies/GleamLicenceConfigured.d.ts.map +1 -0
- package/esm/policies/GleamLicenceConfigured.js +36 -0
- package/esm/policies/GleamLicenceConfigured.js.map +1 -0
- package/esm/policies/GleamManifestCommitted.d.ts +16 -0
- package/esm/policies/GleamManifestCommitted.d.ts.map +1 -0
- package/esm/policies/GleamManifestCommitted.js +27 -0
- package/esm/policies/GleamManifestCommitted.js.map +1 -0
- package/esm/policies/GleamMonorepoConsistency.d.ts +38 -0
- package/esm/policies/GleamMonorepoConsistency.d.ts.map +1 -0
- package/esm/policies/GleamMonorepoConsistency.js +74 -0
- package/esm/policies/GleamMonorepoConsistency.js.map +1 -0
- package/esm/policies/GleamNameRestrictions.d.ts +25 -0
- package/esm/policies/GleamNameRestrictions.d.ts.map +1 -0
- package/esm/policies/GleamNameRestrictions.js +44 -0
- package/esm/policies/GleamNameRestrictions.js.map +1 -0
- package/esm/policies/GleamNoPathDepsInPublished.d.ts +22 -0
- package/esm/policies/GleamNoPathDepsInPublished.d.ts.map +1 -0
- package/esm/policies/GleamNoPathDepsInPublished.js +43 -0
- package/esm/policies/GleamNoPathDepsInPublished.js.map +1 -0
- package/esm/policies/GleamPathDepsValid.d.ts +9 -0
- package/esm/policies/GleamPathDepsValid.d.ts.map +1 -0
- package/esm/policies/GleamPathDepsValid.js +59 -0
- package/esm/policies/GleamPathDepsValid.js.map +1 -0
- package/esm/policies/GleamProjectStructure.d.ts +32 -0
- package/esm/policies/GleamProjectStructure.d.ts.map +1 -0
- package/esm/policies/GleamProjectStructure.js +32 -0
- package/esm/policies/GleamProjectStructure.js.map +1 -0
- package/esm/policies/GleamSharedDependencyVersions.d.ts +37 -0
- package/esm/policies/GleamSharedDependencyVersions.d.ts.map +1 -0
- package/esm/policies/GleamSharedDependencyVersions.js +101 -0
- package/esm/policies/GleamSharedDependencyVersions.js.map +1 -0
- package/esm/policies/GleamTomlRequired.d.ts +30 -0
- package/esm/policies/GleamTomlRequired.d.ts.map +1 -0
- package/esm/policies/GleamTomlRequired.js +37 -0
- package/esm/policies/GleamTomlRequired.js.map +1 -0
- package/esm/policies/GleamTomlSorted.d.ts +20 -0
- package/esm/policies/GleamTomlSorted.d.ts.map +1 -0
- package/esm/policies/GleamTomlSorted.js +157 -0
- package/esm/policies/GleamTomlSorted.js.map +1 -0
- package/esm/policies/GleamVersionConstraint.d.ts +20 -0
- package/esm/policies/GleamVersionConstraint.d.ts.map +1 -0
- package/esm/policies/GleamVersionConstraint.js +68 -0
- package/esm/policies/GleamVersionConstraint.js.map +1 -0
- package/esm/policies/HtmlFileHeaders.d.ts +4 -2
- package/esm/policies/HtmlFileHeaders.d.ts.map +1 -1
- package/esm/policies/HtmlFileHeaders.js +2 -2
- package/esm/policies/HtmlFileHeaders.js.map +1 -1
- package/esm/policies/JsTsFileHeaders.d.ts +4 -2
- package/esm/policies/JsTsFileHeaders.d.ts.map +1 -1
- package/esm/policies/JsTsFileHeaders.js +1 -1
- package/esm/policies/JsTsFileHeaders.js.map +1 -1
- package/esm/policies/LicenseFileExists.d.ts +10 -4
- package/esm/policies/LicenseFileExists.d.ts.map +1 -1
- package/esm/policies/LicenseFileExists.js +27 -20
- package/esm/policies/LicenseFileExists.js.map +1 -1
- package/esm/policies/MutuallyExclusiveScripts.d.ts +8 -6
- package/esm/policies/MutuallyExclusiveScripts.d.ts.map +1 -1
- package/esm/policies/MutuallyExclusiveScripts.js +9 -13
- package/esm/policies/MutuallyExclusiveScripts.js.map +1 -1
- package/esm/policies/NoBuildDirectory.d.ts +15 -0
- package/esm/policies/NoBuildDirectory.d.ts.map +1 -0
- package/esm/policies/NoBuildDirectory.js +24 -0
- package/esm/policies/NoBuildDirectory.js.map +1 -0
- package/esm/policies/NoJsFileExtensions.d.ts +9 -3
- package/esm/policies/NoJsFileExtensions.d.ts.map +1 -1
- package/esm/policies/NoJsFileExtensions.js +9 -14
- package/esm/policies/NoJsFileExtensions.js.map +1 -1
- package/esm/policies/NoLargeBinaryFiles.d.ts +9 -4
- package/esm/policies/NoLargeBinaryFiles.d.ts.map +1 -1
- package/esm/policies/NoLargeBinaryFiles.js +10 -16
- package/esm/policies/NoLargeBinaryFiles.js.map +1 -1
- package/esm/policies/NoPrivateWorkspaceDependencies.d.ts +10 -6
- package/esm/policies/NoPrivateWorkspaceDependencies.d.ts.map +1 -1
- package/esm/policies/NoPrivateWorkspaceDependencies.js +12 -14
- package/esm/policies/NoPrivateWorkspaceDependencies.js.map +1 -1
- package/esm/policies/NoTargetArtifacts.d.ts +14 -0
- package/esm/policies/NoTargetArtifacts.d.ts.map +1 -0
- package/esm/policies/NoTargetArtifacts.js +37 -0
- package/esm/policies/NoTargetArtifacts.js.map +1 -0
- package/esm/policies/NoUnsafeWithoutJustification.d.ts +31 -0
- package/esm/policies/NoUnsafeWithoutJustification.d.ts.map +1 -0
- package/esm/policies/NoUnsafeWithoutJustification.js +79 -0
- package/esm/policies/NoUnsafeWithoutJustification.js.map +1 -0
- package/esm/policies/NoWildcardDependencies.d.ts +30 -0
- package/esm/policies/NoWildcardDependencies.d.ts.map +1 -0
- package/esm/policies/NoWildcardDependencies.js +83 -0
- package/esm/policies/NoWildcardDependencies.js.map +1 -0
- package/esm/policies/PackageAllowedScopes.d.ts +9 -5
- package/esm/policies/PackageAllowedScopes.d.ts.map +1 -1
- package/esm/policies/PackageAllowedScopes.js +15 -16
- package/esm/policies/PackageAllowedScopes.js.map +1 -1
- package/esm/policies/PackageEsmType.d.ts +7 -5
- package/esm/policies/PackageEsmType.d.ts.map +1 -1
- package/esm/policies/PackageEsmType.js +38 -36
- package/esm/policies/PackageEsmType.js.map +1 -1
- package/esm/policies/PackageFolderName.d.ts +8 -6
- package/esm/policies/PackageFolderName.d.ts.map +1 -1
- package/esm/policies/PackageFolderName.js +13 -16
- package/esm/policies/PackageFolderName.js.map +1 -1
- package/esm/policies/PackageJsonProperties.d.ts +5 -3
- package/esm/policies/PackageJsonProperties.d.ts.map +1 -1
- package/esm/policies/PackageJsonProperties.js +18 -21
- package/esm/policies/PackageJsonProperties.js.map +1 -1
- package/esm/policies/PackageJsonRepoDirectoryProperty.d.ts +2 -7
- package/esm/policies/PackageJsonRepoDirectoryProperty.d.ts.map +1 -1
- package/esm/policies/PackageJsonRepoDirectoryProperty.js +29 -42
- package/esm/policies/PackageJsonRepoDirectoryProperty.js.map +1 -1
- package/esm/policies/PackageJsonSorted.d.ts +2 -2
- package/esm/policies/PackageJsonSorted.d.ts.map +1 -1
- package/esm/policies/PackageJsonSorted.js +51 -31
- package/esm/policies/PackageJsonSorted.js.map +1 -1
- package/esm/policies/PackageLicense.d.ts +4 -4
- package/esm/policies/PackageLicense.d.ts.map +1 -1
- package/esm/policies/PackageLicense.js +32 -54
- package/esm/policies/PackageLicense.js.map +1 -1
- package/esm/policies/PackagePrivateField.d.ts +12 -8
- package/esm/policies/PackagePrivateField.d.ts.map +1 -1
- package/esm/policies/PackagePrivateField.js +34 -25
- package/esm/policies/PackagePrivateField.js.map +1 -1
- package/esm/policies/PackageReadme.d.ts +6 -5
- package/esm/policies/PackageReadme.d.ts.map +1 -1
- package/esm/policies/PackageReadme.js +24 -61
- package/esm/policies/PackageReadme.js.map +1 -1
- package/esm/policies/PackageScripts.d.ts +26 -22
- package/esm/policies/PackageScripts.d.ts.map +1 -1
- package/esm/policies/PackageScripts.js +42 -38
- package/esm/policies/PackageScripts.js.map +1 -1
- package/esm/policies/PackageTestScripts.d.ts +10 -6
- package/esm/policies/PackageTestScripts.d.ts.map +1 -1
- package/esm/policies/PackageTestScripts.js +17 -19
- package/esm/policies/PackageTestScripts.js.map +1 -1
- package/esm/policies/PublicApiDocumented.d.ts +21 -0
- package/esm/policies/PublicApiDocumented.d.ts.map +1 -0
- package/esm/policies/PublicApiDocumented.js +38 -0
- package/esm/policies/PublicApiDocumented.js.map +1 -0
- package/esm/policies/RequiredGitignorePatterns.d.ts +11 -4
- package/esm/policies/RequiredGitignorePatterns.d.ts.map +1 -1
- package/esm/policies/RequiredGitignorePatterns.js +29 -36
- package/esm/policies/RequiredGitignorePatterns.js.map +1 -1
- package/esm/policies/RequiredScripts.d.ts +9 -7
- package/esm/policies/RequiredScripts.d.ts.map +1 -1
- package/esm/policies/RequiredScripts.js +27 -26
- package/esm/policies/RequiredScripts.js.map +1 -1
- package/esm/policies/RustDocExists.d.ts +24 -0
- package/esm/policies/RustDocExists.d.ts.map +1 -0
- package/esm/policies/RustDocExists.js +49 -0
- package/esm/policies/RustDocExists.js.map +1 -0
- package/esm/policies/RustToolchainExists.d.ts +27 -0
- package/esm/policies/RustToolchainExists.d.ts.map +1 -0
- package/esm/policies/RustToolchainExists.js +28 -0
- package/esm/policies/RustToolchainExists.js.map +1 -0
- package/esm/policies/RustfmtConfigExists.d.ts +27 -0
- package/esm/policies/RustfmtConfigExists.d.ts.map +1 -0
- package/esm/policies/RustfmtConfigExists.js +28 -0
- package/esm/policies/RustfmtConfigExists.js.map +1 -0
- package/esm/policies/ScriptContains.d.ts +9 -7
- package/esm/policies/ScriptContains.d.ts.map +1 -1
- package/esm/policies/ScriptContains.js +9 -13
- package/esm/policies/ScriptContains.js.map +1 -1
- package/esm/policies/SharedDependencyVersions.d.ts +29 -0
- package/esm/policies/SharedDependencyVersions.d.ts.map +1 -0
- package/esm/policies/SharedDependencyVersions.js +143 -0
- package/esm/policies/SharedDependencyVersions.js.map +1 -0
- package/esm/policies/WorkspaceInheritance.d.ts +31 -0
- package/esm/policies/WorkspaceInheritance.d.ts.map +1 -0
- package/esm/policies/WorkspaceInheritance.js +93 -0
- package/esm/policies/WorkspaceInheritance.js.map +1 -0
- package/esm/policies/WorkspaceMembersValid.d.ts +27 -0
- package/esm/policies/WorkspaceMembersValid.d.ts.map +1 -0
- package/esm/policies/WorkspaceMembersValid.js +87 -0
- package/esm/policies/WorkspaceMembersValid.js.map +1 -0
- package/esm/policies/constants.d.ts +8 -0
- package/esm/policies/constants.d.ts.map +1 -1
- package/esm/policies/constants.js +9 -1
- package/esm/policies/constants.js.map +1 -1
- package/esm/policies.d.ts +43 -5
- package/esm/policies.d.ts.map +1 -1
- package/esm/policies.js +63 -6
- package/esm/policies.js.map +1 -1
- package/esm/policy.d.ts +65 -269
- package/esm/policy.d.ts.map +1 -1
- package/esm/policy.js +1 -122
- package/esm/policy.js.map +1 -1
- package/esm/policyDefiners/defineCargoPolicy.d.ts +82 -0
- package/esm/policyDefiners/defineCargoPolicy.d.ts.map +1 -0
- package/esm/policyDefiners/defineCargoPolicy.js +42 -0
- package/esm/policyDefiners/defineCargoPolicy.js.map +1 -0
- package/esm/policyDefiners/defineFileHeaderPolicy.d.ts +27 -14
- package/esm/policyDefiners/defineFileHeaderPolicy.d.ts.map +1 -1
- package/esm/policyDefiners/defineFileHeaderPolicy.js +19 -39
- package/esm/policyDefiners/defineFileHeaderPolicy.js.map +1 -1
- package/esm/policyDefiners/defineGleamPolicy.d.ts +81 -0
- package/esm/policyDefiners/defineGleamPolicy.d.ts.map +1 -0
- package/esm/policyDefiners/defineGleamPolicy.js +42 -0
- package/esm/policyDefiners/defineGleamPolicy.js.map +1 -0
- package/esm/policyDefiners/definePackagePolicy.d.ts +24 -13
- package/esm/policyDefiners/definePackagePolicy.d.ts.map +1 -1
- package/esm/policyDefiners/definePackagePolicy.js +9 -32
- package/esm/policyDefiners/definePackagePolicy.js.map +1 -1
- package/esm/policyDefiners/spdxValidator.d.ts +66 -0
- package/esm/policyDefiners/spdxValidator.d.ts.map +1 -0
- package/esm/policyDefiners/spdxValidator.js +139 -0
- package/esm/policyDefiners/spdxValidator.js.map +1 -0
- package/esm/policyDefiners/tomlParser.d.ts +8 -0
- package/esm/policyDefiners/tomlParser.d.ts.map +1 -0
- package/esm/policyDefiners/tomlParser.js +17 -0
- package/esm/policyDefiners/tomlParser.js.map +1 -0
- package/esm/policyExecution.d.ts +19 -0
- package/esm/policyExecution.d.ts.map +1 -0
- package/esm/policyExecution.js +224 -0
- package/esm/policyExecution.js.map +1 -0
- package/esm/repositoryFiles.d.ts +4 -0
- package/esm/repositoryFiles.d.ts.map +1 -0
- package/esm/repositoryFiles.js +8 -0
- package/esm/repositoryFiles.js.map +1 -0
- package/esm/runner.d.ts +85 -0
- package/esm/runner.d.ts.map +1 -0
- package/esm/runner.js +189 -0
- package/esm/runner.js.map +1 -0
- package/esm/settlePolicyPromise.d.ts +4 -0
- package/esm/settlePolicyPromise.d.ts.map +1 -0
- package/esm/settlePolicyPromise.js +10 -0
- package/esm/settlePolicyPromise.js.map +1 -0
- package/esm/tsdoc-metadata.json +1 -1
- package/esm/utils/safePaths.d.ts +9 -0
- package/esm/utils/safePaths.d.ts.map +1 -0
- package/esm/utils/safePaths.js +40 -0
- package/esm/utils/safePaths.js.map +1 -0
- package/oclif.manifest.json +117 -3
- package/package.json +66 -36
- package/scripts/benchmark.mjs +341 -0
- package/scripts/postinstall.mjs +154 -0
- package/sidecar/sidecar.mjs +399 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,118 @@
|
|
|
1
1
|
# repopo
|
|
2
2
|
|
|
3
|
+
## 0.13.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Introduce a shared API for file and repository policies, with consistent check results and fix status reporting. _[`#811`](https://github.com/tylerbutler/tools-monorepo/pull/811) [`d76e9e7`](https://github.com/tylerbutler/tools-monorepo/commit/d76e9e72c8d75863a97517ca662001aa567207da) [@tylerbutler](https://github.com/tylerbutler)_
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
**Breaking change:** Update custom policies and configurations together.
|
|
11
|
+
This change is released as a minor version while the packages are pre-1.0.
|
|
12
|
+
See the [migration guide](https://repopo.tylerbutler.com/usage/migration/) for replacements for removed APIs and complete examples.
|
|
13
|
+
|
|
14
|
+
Key migration steps for `repopo`:
|
|
15
|
+
|
|
16
|
+
- Define policies as objects with `satisfies FilePolicyDefinition<C>` or `satisfies RepositoryPolicyDefinition<C>` instead of policy classes or factory aliases. Use `definePackagePolicy` instead of `generatePackagePolicy`.
|
|
17
|
+
- Configure policies with `makePolicy(definition, { config, exclude, instanceId })` instead of positional configuration or a third argument. Instance exclusions use `exclude`; global `RepopoConfig.excludeFiles` remains supported. Repeated instances of the same policy need unique `instanceId` values.
|
|
18
|
+
- Mark required configuration with `requiresConfig: true` and supply complete settings or a complete default. Omitted or `undefined` configuration selects the default; explicit configuration replaces it without merging.
|
|
19
|
+
- Return arrays of findings instead of the previous success and failure results. An empty handler result passes. Findings use `message`, optional `manualFix`, and optional `fixStatus: "available" | "fixed" | "failed"`. Only `"fixed"` resolves a finding; `"fixed"` and `"failed"` are valid only in fix mode. Standalone resolvers must return the findings they update; returning `[]` does not resolve the original findings.
|
|
20
|
+
- Run policies with `runPolicies(options)` for Promise-based code or `new PolicyRunner(options).run()` for Effection code. Results separate `findings`, `errors`, `skipped`, and `perfStats`. Input and registration errors throw; policy execution errors are collected.
|
|
21
|
+
- Supply the full repository `inventory` or an async inventory loader when running repository policies programmatically. Use a loader to refresh the inventory after file fixes and between repository fixes. `LicenseFileExists` and `SharedDependencyVersions` now check the whole repository, even with an empty file selection or `--stdin`. Repository fixes can modify files outside the selected list.
|
|
22
|
+
|
|
23
|
+
In fix mode, an execution error stops later work on the affected file and skips repository policies, or stops later repository policies if the error occurs in that phase.
|
|
24
|
+
Completed writes are not rolled back.
|
|
25
|
+
Both `check` and `check-native` follow these rules.
|
|
26
|
+
|
|
27
|
+
Import the programmatic API from `repopo/api` and built-in policies from `repopo/policies`.
|
|
28
|
+
The root `repopo` entry point also exports the CLI's `run` function.
|
|
29
|
+
|
|
30
|
+
For `sort-tsconfig`, the exported `SortTsconfigsPolicy` is now a file policy definition.
|
|
31
|
+
Configure it with the same `makePolicy` options object.
|
|
32
|
+
If you call its handler directly, update your code to handle finding arrays and fix statuses.
|
|
33
|
+
|
|
34
|
+
For `remark-repopo-policies`, generated policy tables now read instance exclusions from `exclude`, so exclusion details remain visible after migration.
|
|
35
|
+
|
|
36
|
+
### Patch Changes
|
|
37
|
+
|
|
38
|
+
- Speed up read-only checks by processing up to eight files at a time and avoiding repeated parsing of `package.json`, `Cargo.toml`, and `gleam.toml` files. _[`#807`](https://github.com/tylerbutler/tools-monorepo/pull/807) [`5e6c97b`](https://github.com/tylerbutler/tools-monorepo/commit/5e6c97b9afa99c93b1728ee0e48b45fa0a130501) [@tylerbutler](https://github.com/tylerbutler)_
|
|
39
|
+
|
|
40
|
+
Each policy still receives an independent copy of the parsed data.
|
|
41
|
+
|
|
42
|
+
Set the file limit with `--concurrency` on `repopo check` or `repopo check-native`, or with `PolicyRunnerOptions.concurrency` in the programmatic API.
|
|
43
|
+
Use `--concurrency 1` for custom policies that must process files one at a time.
|
|
44
|
+
Automatic fixes still run one at a time and read fresh file contents.
|
|
45
|
+
- Correct the reported file counts so each file that passes global exclusions is counted once, regardless of how many policies run on it. _[`#779`](https://github.com/tylerbutler/tools-monorepo/pull/779) [`ca340db`](https://github.com/tylerbutler/tools-monorepo/commit/ca340dbefce4e967ecf73a043207ec13b0651213) [@tylerbutler](https://github.com/tylerbutler)_
|
|
46
|
+
|
|
47
|
+
Ignore empty entries in file lists from Git and `--stdin`, so blank records do not become file paths.
|
|
48
|
+
- Show a policy's manual fix instructions when `repopo check` or `repopo check-native` reports an unresolved violation, including after a failed automatic fix. _[`#803`](https://github.com/tylerbutler/tools-monorepo/pull/803) [`c401c9c`](https://github.com/tylerbutler/tools-monorepo/commit/c401c9c7ab783222afac4df6de0b421dbe215093) [@tylerbutler](https://github.com/tylerbutler)_
|
|
49
|
+
|
|
50
|
+
If the automatic fixer does not provide instructions, keep the policy's original guidance.
|
|
51
|
+
Do not show manual fix instructions for violations that were successfully fixed.
|
|
52
|
+
- Reject file paths that resolve outside the repository root in `repopo check`, including paths supplied with `--stdin`. _[`#665`](https://github.com/tylerbutler/tools-monorepo/pull/665) [`1333d28`](https://github.com/tylerbutler/tools-monorepo/commit/1333d287abdee51a01a22540914600877fe8f557) [@tylerbutler](https://github.com/tylerbutler)_
|
|
53
|
+
|
|
54
|
+
Apply the same validation to package and file-header policy helpers, so these checks and fixes reject paths such as `../outside.txt`.
|
|
55
|
+
|
|
56
|
+
## 0.12.0
|
|
57
|
+
|
|
58
|
+
### Minor Changes
|
|
59
|
+
|
|
60
|
+
- Distinguish duplicate configured policy instances in exclusions, diagnostics, results, and performance metrics. _[`#783`](https://github.com/tylerbutler/tools-monorepo/pull/783) [`da9f08b`](https://github.com/tylerbutler/tools-monorepo/commit/da9f08bbb90cad92f7419c474a43741eef5d3c2a) [@tylerbutler](https://github.com/tylerbutler)_
|
|
61
|
+
|
|
62
|
+
Duplicate instances must now set a unique `instanceId` in the `policy()` options.
|
|
63
|
+
|
|
64
|
+
### Patch Changes
|
|
65
|
+
|
|
66
|
+
- Fix policy checks and automatic fixes: _[`#791`](https://github.com/tylerbutler/tools-monorepo/pull/791) [`9236dae`](https://github.com/tylerbutler/tools-monorepo/commit/9236dae487eef8d97c8c5974d3e58cf5338cac66) [@tylerbutler](https://github.com/tylerbutler)_
|
|
67
|
+
- Run same-file fixers in configuration order to prevent lost edits.
|
|
68
|
+
- Validate configured header text, avoid duplicate headers, and apply HTML headers to HTML files.
|
|
69
|
+
- Replace verbatim package.json arrays instead of appending entries.
|
|
70
|
+
- Check Cargo workspace members selected by globs and honor workspace exclusions.
|
|
71
|
+
- Preserve Git filenames that contain Unicode, tabs, or newlines in both engines.
|
|
72
|
+
- Preserve legacy fix results and apply default policies when a native configuration omits `policies`.
|
|
73
|
+
|
|
74
|
+
## 0.11.1
|
|
75
|
+
|
|
76
|
+
### Patch Changes
|
|
77
|
+
|
|
78
|
+
- Make policy and exclusion regular-expression matching deterministic for global and sticky flags. _[`#778`](https://github.com/tylerbutler/tools-monorepo/pull/778) [`b263d07`](https://github.com/tylerbutler/tools-monorepo/commit/b263d07c531baf032f5f8a75444971b91c55f2ab) [@tylerbutler](https://github.com/tylerbutler)_
|
|
79
|
+
- Isolate policy run results and performance statistics across sequential and concurrent `PolicyRunner` invocations. _[`#782`](https://github.com/tylerbutler/tools-monorepo/pull/782) [`bd06230`](https://github.com/tylerbutler/tools-monorepo/commit/bd06230247adf908155ce2a9e35ba0ed5aebac3c) [@tylerbutler](https://github.com/tylerbutler)_
|
|
80
|
+
- Load the optional `sort-package-json` peer dependency only when the package sorting policy runs, allowing Repopo to load without it while preserving sorting support when installed. _[`#780`](https://github.com/tylerbutler/tools-monorepo/pull/780) [`0972973`](https://github.com/tylerbutler/tools-monorepo/commit/0972973fa9df873d3dde101836adb9ff9196b8f8) [@tylerbutler](https://github.com/tylerbutler)_
|
|
81
|
+
- Resolve built-in policy filesystem operations from the repository root when policy file paths are repository-relative. _[`#784`](https://github.com/tylerbutler/tools-monorepo/pull/784) [`fe789fd`](https://github.com/tylerbutler/tools-monorepo/commit/fe789fd4cb33fcab19a63ad2f132b5d91c8a0c73) [@tylerbutler](https://github.com/tylerbutler)_
|
|
82
|
+
- Report unexpected policy execution errors for the affected file and continue checking remaining files. _[`#781`](https://github.com/tylerbutler/tools-monorepo/pull/781) [`32f5afe`](https://github.com/tylerbutler/tools-monorepo/commit/32f5afee62c6ba732650ca23f1669e0c2b2c73df) [@tylerbutler](https://github.com/tylerbutler)_
|
|
83
|
+
|
|
84
|
+
<details><summary>Updated 1 dependency</summary>
|
|
85
|
+
|
|
86
|
+
<small>
|
|
87
|
+
|
|
88
|
+
[`dd64d1d`](https://github.com/tylerbutler/tools-monorepo/commit/dd64d1da4f10d6793af9a270216b296edee884a6)
|
|
89
|
+
|
|
90
|
+
</small>
|
|
91
|
+
|
|
92
|
+
- `@tylerbu/cli-api@0.11.0`
|
|
93
|
+
|
|
94
|
+
</details>
|
|
95
|
+
|
|
96
|
+
## 0.11.0
|
|
97
|
+
|
|
98
|
+
### Minor Changes
|
|
99
|
+
|
|
100
|
+
- Add experimental `check-native` command powered by a Rust core engine for significantly faster policy checking (up to 1.5x faster than the standard `check` command). The Rust engine handles file enumeration, pattern matching, and orchestration while delegating policy evaluation to a Node.js sidecar, so all existing configs and third-party policies work without changes. _[`#623`](https://github.com/tylerbutler/tools-monorepo/pull/623) [`dd15dc9`](https://github.com/tylerbutler/tools-monorepo/commit/dd15dc98c5c2a69c2a6f022a2a0c985f2c26dcf4) [@tylerbutler](https://github.com/tylerbutler)_
|
|
101
|
+
|
|
102
|
+
Also adds a simplified `policy()` function for defining policies and new focused script policies (`RequiredScripts`, `ExactScripts`, `MutuallyExclusiveScripts`, `ConditionalScripts`, `ScriptContains`) that replace the monolithic `PackageScripts` policy with more granular, composable alternatives.
|
|
103
|
+
|
|
104
|
+
- Add `CargoLicenceValidated` policy that validates SPDX licence expressions in `Cargo.toml` files using the `spdx-correct` package. Includes a shared SPDX validator (`spdxValidator`) reused by both Cargo and Gleam licence policies. _[`#654`](https://github.com/tylerbutler/tools-monorepo/pull/654) [`9deb6dc`](https://github.com/tylerbutler/tools-monorepo/commit/9deb6dcce769bbb25fd067f9668cf6031f3d3bc7) [@tylerbutler](https://github.com/tylerbutler)_
|
|
105
|
+
- Extract `PolicyRunner` class from `CheckPolicy` command to fix SRP violation. The new class encapsulates all policy execution logic (file iteration, exclusion checking, policy matching, handler execution, resolution attempts) and returns structured `PolicyRunResults` instead of producing side effects. `PolicyRunner` has no OCLIF dependencies and can be used programmatically. The `CheckPolicy` command is now a thin CLI wrapper handling only flag parsing, file collection, and result formatting. _[`#672`](https://github.com/tylerbutler/tools-monorepo/pull/672) [`5f5bdf9`](https://github.com/tylerbutler/tools-monorepo/commit/5f5bdf90883177258ae6cd2284515f0465347d31) [@tylerbutler](https://github.com/tylerbutler)_
|
|
106
|
+
- Add 15 Gleam language policies for enforcing project conventions, structure, dependency management, documentation, and monorepo consistency. Includes `defineGleamPolicy` helper and shared TOML parser infrastructure. _[`#654`](https://github.com/tylerbutler/tools-monorepo/pull/654) [`9deb6dc`](https://github.com/tylerbutler/tools-monorepo/commit/9deb6dcce769bbb25fd067f9668cf6031f3d3bc7) [@tylerbutler](https://github.com/tylerbutler)_
|
|
107
|
+
- Add 14 new Rust/Cargo.toml policies for enforcing best practices in Rust projects: _[`#654`](https://github.com/tylerbutler/tools-monorepo/pull/654) [`9deb6dc`](https://github.com/tylerbutler/tools-monorepo/commit/9deb6dcce769bbb25fd067f9668cf6031f3d3bc7) [@tylerbutler](https://github.com/tylerbutler)_
|
|
108
|
+
- **Cargo.toml**: `CargoTomlRequired`, `CargoTomlSorted`, `CargoLintsConfigured`
|
|
109
|
+
- **Project structure**: `RustToolchainExists`, `RustfmtConfigExists`, `CargoLockPolicy`, `NoTargetArtifacts`
|
|
110
|
+
- **Security**: `NoWildcardDependencies`, `NoUnsafeWithoutJustification`
|
|
111
|
+
- **Documentation**: `PublicApiDocumented`, `RustDocExists`
|
|
112
|
+
- **Workspace**: `WorkspaceMembersValid`, `SharedDependencyVersions`, `WorkspaceInheritance`
|
|
113
|
+
|
|
114
|
+
Also adds `defineCargoPolicy` helper for creating Cargo.toml-targeted policies, and `smol-toml` as an optional peer dependency for TOML parsing.
|
|
115
|
+
|
|
3
116
|
## 0.10.0
|
|
4
117
|
|
|
5
118
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -3,100 +3,61 @@
|
|
|
3
3
|
repopo is a tool to apply policies to the files in your git repo. You can think of it as a sort of lint tool for any
|
|
4
4
|
file in your git repo, with a straightforward way to write your own policies.
|
|
5
5
|
|
|
6
|
+
**Documentation: <https://repopo.tylerbutler.com>**
|
|
7
|
+
|
|
6
8
|
<!-- toc -->
|
|
7
9
|
* [repopo - police the files in your git repo with extensible policies](#repopo---police-the-files-in-your-git-repo-with-extensible-policies)
|
|
8
|
-
* [
|
|
9
|
-
* [
|
|
10
|
-
* [Policy generators](#policy-generators)
|
|
10
|
+
* [Quick start](#quick-start)
|
|
11
|
+
* [Documentation](#documentation)
|
|
11
12
|
* [CLI Usage](#cli-usage)
|
|
12
13
|
<!-- tocstop -->
|
|
13
14
|
|
|
14
|
-
#
|
|
15
|
-
|
|
16
|
-
Repopo and its policies can be configured in a `repopo.config.ts` (or `.cjs`, or `.mjs`) file in the root of the repo. Using a
|
|
17
|
-
TypeScript configuration file is recommended.
|
|
18
|
-
|
|
19
|
-
The policy config must export a default object of the type `PolicyConfig`.
|
|
20
|
-
|
|
21
|
-
## Excluding files from policy check
|
|
22
|
-
|
|
23
|
-
By default, all files in the repo are checked. You can exclude files completely from the policy check by configuring the
|
|
24
|
-
d `excludeFiles` setting. It should be an array of strings/regular expressions. Paths that match any of these
|
|
25
|
-
expressions will be completely excluded from all policies.
|
|
26
|
-
|
|
27
|
-
You can exclude files from individual policies as well by configuring the `excludeFiles` setting when calling
|
|
28
|
-
`makePolicy`.
|
|
29
|
-
|
|
30
|
-
## Configuring individual policies
|
|
31
|
-
|
|
32
|
-
Individual policies can be configured by passing configuration settings to a `PolicyDefinition` in `makePolicy`.
|
|
33
|
-
|
|
34
|
-
# Included policies
|
|
35
|
-
|
|
36
|
-
repopo includes the following policies. All of the included policies are enabled by default.
|
|
37
|
-
|
|
38
|
-
## HtmlFileHeaders and JsTsFileHeaders
|
|
39
|
-
|
|
40
|
-
These policies set a common file header for JavaScript/TypeScript and HTML files.
|
|
41
|
-
|
|
42
|
-
### Configuration
|
|
43
|
-
|
|
44
|
-
TODO
|
|
45
|
-
|
|
46
|
-
## NoJsFileExtensions
|
|
47
|
-
|
|
48
|
-
The NoJsFileExtensions policy checks for JavaScript source files that just use the .js file extension. Such files may be
|
|
49
|
-
interpreted by Node.js as either CommonJS or ESM based on the `type` field in the nearest package.json file. This can
|
|
50
|
-
create unexpected behavior for JS files; changing the package.json nearest to one will change how the JS is processed by
|
|
51
|
-
node. Using explicit file extensions reduces ambiguity and ensures a CJS file isn't suddenly treated like an ESM file.
|
|
15
|
+
# Quick start
|
|
52
16
|
|
|
53
|
-
|
|
17
|
+
Install repopo as a dev dependency:
|
|
54
18
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
19
|
+
```bash
|
|
20
|
+
pnpm add -D repopo
|
|
21
|
+
```
|
|
58
22
|
|
|
59
|
-
|
|
23
|
+
Create `repopo.config.ts` in the root of the repo:
|
|
60
24
|
|
|
61
25
|
```ts
|
|
62
|
-
import type
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
url: "git+https://github.com/tylerbutler/tools-monorepo.git",
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
};
|
|
26
|
+
import { makePolicy, type RepopoConfig } from "repopo";
|
|
27
|
+
import { NoJsFileExtensions, PackageJsonProperties } from "repopo/policies";
|
|
28
|
+
|
|
29
|
+
export default {
|
|
30
|
+
policies: [
|
|
31
|
+
makePolicy(NoJsFileExtensions, { exclude: ["^bin/"] }),
|
|
32
|
+
makePolicy(PackageJsonProperties, {
|
|
33
|
+
config: { verbatim: { license: "MIT" } },
|
|
34
|
+
}),
|
|
35
|
+
],
|
|
36
|
+
} satisfies RepopoConfig;
|
|
79
37
|
```
|
|
80
38
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
A RepoPolicy that checks that the `repository.directory` property in package.json is set correctly. If the repository
|
|
84
|
-
field is a string instead of an object the package will be ignored.
|
|
85
|
-
|
|
86
|
-
# Policy generators
|
|
39
|
+
Then check the repo, and fix what can be fixed automatically:
|
|
87
40
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
41
|
+
```bash
|
|
42
|
+
repopo check
|
|
43
|
+
repopo check --fix
|
|
44
|
+
```
|
|
91
45
|
|
|
92
|
-
|
|
46
|
+
# Documentation
|
|
93
47
|
|
|
94
|
-
|
|
48
|
+
- [Configuration](https://repopo.tylerbutler.com/usage/config/): choosing policies, policy options, and file exclusions
|
|
49
|
+
- [Built-in policies](https://repopo.tylerbutler.com/policies/built-in/): every included policy and its options
|
|
50
|
+
- [Custom policies](https://repopo.tylerbutler.com/policies/custom/): writing file and repository policies
|
|
51
|
+
- [Programmatic API](https://repopo.tylerbutler.com/usage/programmatic-api/): running policies with `runPolicies` and `PolicyRunner`
|
|
52
|
+
- [Migrating to the 1.0 API](https://repopo.tylerbutler.com/usage/migration/): breaking changes to configuration, policy results, and runners
|
|
53
|
+
- [Benchmarking](https://repopo.tylerbutler.com/usage/benchmarking/): comparing the TypeScript and Rust engines
|
|
54
|
+
- [API reference](https://repopo.tylerbutler.com/api/readme/)
|
|
95
55
|
|
|
96
56
|
# CLI Usage
|
|
97
57
|
|
|
98
58
|
<!-- commands -->
|
|
99
59
|
* [`repopo check`](#repopo-check)
|
|
60
|
+
* [`repopo check-native`](#repopo-check-native)
|
|
100
61
|
* [`repopo list`](#repopo-list)
|
|
101
62
|
|
|
102
63
|
## `repopo check`
|
|
@@ -105,19 +66,57 @@ Checks and applies policies to the files in the repository.
|
|
|
105
66
|
|
|
106
67
|
```
|
|
107
68
|
USAGE
|
|
108
|
-
$ repopo check [-v | --quiet] [-f] [--stdin]
|
|
69
|
+
$ repopo check [-v | --quiet] [--concurrency <value>] [-f] [--stdin]
|
|
109
70
|
|
|
110
71
|
FLAGS
|
|
111
|
-
-f, --fix
|
|
112
|
-
--
|
|
72
|
+
-f, --fix Fix errors if possible.
|
|
73
|
+
--concurrency=<value> [default: 8] Maximum concurrent files in read-only checks. Fixes remain sequential.
|
|
74
|
+
--stdin Read list of files from stdin.
|
|
113
75
|
|
|
114
76
|
LOGGING FLAGS
|
|
115
77
|
-v, --verbose Enable verbose logging.
|
|
116
78
|
--quiet Disable all logging.
|
|
79
|
+
|
|
80
|
+
DESCRIPTION
|
|
81
|
+
Checks and applies policies to the files in the repository.
|
|
82
|
+
|
|
83
|
+
File policies check selected files. Repository policies always run with the full repository file inventory, including
|
|
84
|
+
with --stdin. With --fix, repository policies can modify files outside the stdin selection.
|
|
117
85
|
```
|
|
118
86
|
|
|
119
87
|
_See code: [src/commands/check.ts](https://github.com/tylerbutler/tools-monorepo/blob/main/packages/repopo/src/commands/check.ts)_
|
|
120
88
|
|
|
89
|
+
## `repopo check-native`
|
|
90
|
+
|
|
91
|
+
Checks and applies policies using the Rust engine.
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
USAGE
|
|
95
|
+
$ repopo check-native [--concurrency <value>] [-f] [--stdin] [-v] [-q] [-c <value>] [--sidecar-path <value>]
|
|
96
|
+
[--binary-path <value>] [--runtime auto|node|bun]
|
|
97
|
+
|
|
98
|
+
FLAGS
|
|
99
|
+
-c, --config=<value> Path to the config file.
|
|
100
|
+
-f, --fix Fix errors if possible.
|
|
101
|
+
-q, --quiet Suppress all output except errors.
|
|
102
|
+
-v, --verbose Show verbose output including per-policy timing.
|
|
103
|
+
--binary-path=<value> [env: REPOPO_CORE_PATH] Path to the repopo-core Rust binary.
|
|
104
|
+
--concurrency=<value> [default: 8] Maximum concurrent files in read-only checks. Fixes remain sequential.
|
|
105
|
+
--runtime=<option> [env: REPOPO_RUNTIME] JS runtime for the sidecar process (auto, node, bun).
|
|
106
|
+
<options: auto|node|bun>
|
|
107
|
+
--sidecar-path=<value> [env: REPOPO_SIDECAR_PATH] Path to the Node.js sidecar script.
|
|
108
|
+
--stdin Read list of files from stdin.
|
|
109
|
+
|
|
110
|
+
DESCRIPTION
|
|
111
|
+
Checks and applies policies using the Rust engine.
|
|
112
|
+
|
|
113
|
+
Runs the Rust-based repopo-core engine with the Node.js sidecar. Rust handles file matching, scheduling and reporting;
|
|
114
|
+
the sidecar shares per-policy contracts with 'check'. Repository policies always run with the full repository
|
|
115
|
+
inventory, including with --stdin. With --fix, repository policies can modify files outside the stdin selection.
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
_See code: [src/commands/check-native.ts](https://github.com/tylerbutler/tools-monorepo/blob/main/packages/repopo/src/commands/check-native.ts)_
|
|
119
|
+
|
|
121
120
|
## `repopo list`
|
|
122
121
|
|
|
123
122
|
Lists the policies configured to run.
|
package/THIRD-PARTY-LICENSES.txt
CHANGED
|
@@ -3,7 +3,7 @@ https://www.npmjs.com/package/generate-license-file
|
|
|
3
3
|
|
|
4
4
|
The following npm package may be included in this product:
|
|
5
5
|
|
|
6
|
-
- jsonfile@6.2.
|
|
6
|
+
- jsonfile@6.2.1
|
|
7
7
|
|
|
8
8
|
This package contains the following license:
|
|
9
9
|
|
|
@@ -27,7 +27,7 @@ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHE
|
|
|
27
27
|
|
|
28
28
|
The following npm package may be included in this product:
|
|
29
29
|
|
|
30
|
-
- @rushstack/node-core-library@5.
|
|
30
|
+
- @rushstack/node-core-library@5.25.1
|
|
31
31
|
|
|
32
32
|
This package contains the following license:
|
|
33
33
|
|
|
@@ -60,7 +60,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
60
60
|
|
|
61
61
|
The following npm package may be included in this product:
|
|
62
62
|
|
|
63
|
-
- resolve-workspace-root@2.0.
|
|
63
|
+
- resolve-workspace-root@2.0.1
|
|
64
64
|
|
|
65
65
|
This package contains the following license:
|
|
66
66
|
|
|
@@ -90,7 +90,7 @@ Copyright (c) 2024-present Cedric van Putten <me@cedric.dev>
|
|
|
90
90
|
|
|
91
91
|
The following npm package may be included in this product:
|
|
92
92
|
|
|
93
|
-
- @fluid-tools/build-infrastructure@0.
|
|
93
|
+
- @fluid-tools/build-infrastructure@0.68.0
|
|
94
94
|
|
|
95
95
|
This package contains the following license:
|
|
96
96
|
|
|
@@ -118,6 +118,136 @@ SOFTWARE.
|
|
|
118
118
|
|
|
119
119
|
-----------
|
|
120
120
|
|
|
121
|
+
The following npm package may be included in this product:
|
|
122
|
+
|
|
123
|
+
- type-fest@5.10.0
|
|
124
|
+
|
|
125
|
+
This package contains the following license:
|
|
126
|
+
|
|
127
|
+
Creative Commons Legal Code
|
|
128
|
+
|
|
129
|
+
CC0 1.0 Universal
|
|
130
|
+
|
|
131
|
+
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
|
|
132
|
+
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
|
|
133
|
+
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
|
|
134
|
+
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
|
|
135
|
+
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
|
|
136
|
+
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
|
|
137
|
+
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
|
|
138
|
+
HEREUNDER.
|
|
139
|
+
|
|
140
|
+
Statement of Purpose
|
|
141
|
+
|
|
142
|
+
The laws of most jurisdictions throughout the world automatically confer
|
|
143
|
+
exclusive Copyright and Related Rights (defined below) upon the creator
|
|
144
|
+
and subsequent owner(s) (each and all, an "owner") of an original work of
|
|
145
|
+
authorship and/or a database (each, a "Work").
|
|
146
|
+
|
|
147
|
+
Certain owners wish to permanently relinquish those rights to a Work for
|
|
148
|
+
the purpose of contributing to a commons of creative, cultural and
|
|
149
|
+
scientific works ("Commons") that the public can reliably and without fear
|
|
150
|
+
of later claims of infringement build upon, modify, incorporate in other
|
|
151
|
+
works, reuse and redistribute as freely as possible in any form whatsoever
|
|
152
|
+
and for any purposes, including without limitation commercial purposes.
|
|
153
|
+
These owners may contribute to the Commons to promote the ideal of a free
|
|
154
|
+
culture and the further production of creative, cultural and scientific
|
|
155
|
+
works, or to gain reputation or greater distribution for their Work in
|
|
156
|
+
part through the use and efforts of others.
|
|
157
|
+
|
|
158
|
+
For these and/or other purposes and motivations, and without any
|
|
159
|
+
expectation of additional consideration or compensation, the person
|
|
160
|
+
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
|
|
161
|
+
is an owner of Copyright and Related Rights in the Work, voluntarily
|
|
162
|
+
elects to apply CC0 to the Work and publicly distribute the Work under its
|
|
163
|
+
terms, with knowledge of his or her Copyright and Related Rights in the
|
|
164
|
+
Work and the meaning and intended legal effect of CC0 on those rights.
|
|
165
|
+
|
|
166
|
+
1. Copyright and Related Rights. A Work made available under CC0 may be
|
|
167
|
+
protected by copyright and related or neighboring rights ("Copyright and
|
|
168
|
+
Related Rights"). Copyright and Related Rights include, but are not
|
|
169
|
+
limited to, the following:
|
|
170
|
+
|
|
171
|
+
i. the right to reproduce, adapt, distribute, perform, display,
|
|
172
|
+
communicate, and translate a Work;
|
|
173
|
+
ii. moral rights retained by the original author(s) and/or performer(s);
|
|
174
|
+
iii. publicity and privacy rights pertaining to a person's image or
|
|
175
|
+
likeness depicted in a Work;
|
|
176
|
+
iv. rights protecting against unfair competition in regards to a Work,
|
|
177
|
+
subject to the limitations in paragraph 4(a), below;
|
|
178
|
+
v. rights protecting the extraction, dissemination, use and reuse of data
|
|
179
|
+
in a Work;
|
|
180
|
+
vi. database rights (such as those arising under Directive 96/9/EC of the
|
|
181
|
+
European Parliament and of the Council of 11 March 1996 on the legal
|
|
182
|
+
protection of databases, and under any national implementation
|
|
183
|
+
thereof, including any amended or successor version of such
|
|
184
|
+
directive); and
|
|
185
|
+
vii. other similar, equivalent or corresponding rights throughout the
|
|
186
|
+
world based on applicable law or treaty, and any national
|
|
187
|
+
implementations thereof.
|
|
188
|
+
|
|
189
|
+
2. Waiver. To the greatest extent permitted by, but not in contravention
|
|
190
|
+
of, applicable law, Affirmer hereby overtly, fully, permanently,
|
|
191
|
+
irrevocably and unconditionally waives, abandons, and surrenders all of
|
|
192
|
+
Affirmer's Copyright and Related Rights and associated claims and causes
|
|
193
|
+
of action, whether now known or unknown (including existing as well as
|
|
194
|
+
future claims and causes of action), in the Work (i) in all territories
|
|
195
|
+
worldwide, (ii) for the maximum duration provided by applicable law or
|
|
196
|
+
treaty (including future time extensions), (iii) in any current or future
|
|
197
|
+
medium and for any number of copies, and (iv) for any purpose whatsoever,
|
|
198
|
+
including without limitation commercial, advertising or promotional
|
|
199
|
+
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
|
|
200
|
+
member of the public at large and to the detriment of Affirmer's heirs and
|
|
201
|
+
successors, fully intending that such Waiver shall not be subject to
|
|
202
|
+
revocation, rescission, cancellation, termination, or any other legal or
|
|
203
|
+
equitable action to disrupt the quiet enjoyment of the Work by the public
|
|
204
|
+
as contemplated by Affirmer's express Statement of Purpose.
|
|
205
|
+
|
|
206
|
+
3. Public License Fallback. Should any part of the Waiver for any reason
|
|
207
|
+
be judged legally invalid or ineffective under applicable law, then the
|
|
208
|
+
Waiver shall be preserved to the maximum extent permitted taking into
|
|
209
|
+
account Affirmer's express Statement of Purpose. In addition, to the
|
|
210
|
+
extent the Waiver is so judged Affirmer hereby grants to each affected
|
|
211
|
+
person a royalty-free, non transferable, non sublicensable, non exclusive,
|
|
212
|
+
irrevocable and unconditional license to exercise Affirmer's Copyright and
|
|
213
|
+
Related Rights in the Work (i) in all territories worldwide, (ii) for the
|
|
214
|
+
maximum duration provided by applicable law or treaty (including future
|
|
215
|
+
time extensions), (iii) in any current or future medium and for any number
|
|
216
|
+
of copies, and (iv) for any purpose whatsoever, including without
|
|
217
|
+
limitation commercial, advertising or promotional purposes (the
|
|
218
|
+
"License"). The License shall be deemed effective as of the date CC0 was
|
|
219
|
+
applied by Affirmer to the Work. Should any part of the License for any
|
|
220
|
+
reason be judged legally invalid or ineffective under applicable law, such
|
|
221
|
+
partial invalidity or ineffectiveness shall not invalidate the remainder
|
|
222
|
+
of the License, and in such case Affirmer hereby affirms that he or she
|
|
223
|
+
will not (i) exercise any of his or her remaining Copyright and Related
|
|
224
|
+
Rights in the Work or (ii) assert any associated claims and causes of
|
|
225
|
+
action with respect to the Work, in either case contrary to Affirmer's
|
|
226
|
+
express Statement of Purpose.
|
|
227
|
+
|
|
228
|
+
4. Limitations and Disclaimers.
|
|
229
|
+
|
|
230
|
+
a. No trademark or patent rights held by Affirmer are waived, abandoned,
|
|
231
|
+
surrendered, licensed or otherwise affected by this document.
|
|
232
|
+
b. Affirmer offers the Work as-is and makes no representations or
|
|
233
|
+
warranties of any kind concerning the Work, express, implied,
|
|
234
|
+
statutory or otherwise, including without limitation warranties of
|
|
235
|
+
title, merchantability, fitness for a particular purpose, non
|
|
236
|
+
infringement, or the absence of latent or other defects, accuracy, or
|
|
237
|
+
the present or absence of errors, whether or not discoverable, all to
|
|
238
|
+
the greatest extent permissible under applicable law.
|
|
239
|
+
c. Affirmer disclaims responsibility for clearing rights of other persons
|
|
240
|
+
that may apply to the Work or any use thereof, including without
|
|
241
|
+
limitation any person's Copyright and Related Rights in the Work.
|
|
242
|
+
Further, Affirmer disclaims responsibility for obtaining any necessary
|
|
243
|
+
consents, permissions or other rights required for any use of the
|
|
244
|
+
Work.
|
|
245
|
+
d. Affirmer understands and acknowledges that Creative Commons is not a
|
|
246
|
+
party to this document and has no duty or obligation with respect to
|
|
247
|
+
this CC0 or use of the Work.
|
|
248
|
+
|
|
249
|
+
-----------
|
|
250
|
+
|
|
121
251
|
The following npm package may be included in this product:
|
|
122
252
|
|
|
123
253
|
- picocolors@1.1.1
|
|
@@ -142,12 +272,11 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
|
142
272
|
|
|
143
273
|
-----------
|
|
144
274
|
|
|
145
|
-
The following npm
|
|
275
|
+
The following npm package may be included in this product:
|
|
146
276
|
|
|
147
|
-
- effection@4.
|
|
148
|
-
- simple-git@3.30.0
|
|
277
|
+
- effection@4.2.0
|
|
149
278
|
|
|
150
|
-
|
|
279
|
+
This package contains the following license:
|
|
151
280
|
|
|
152
281
|
MIT
|
|
153
282
|
|
|
@@ -155,8 +284,8 @@ MIT
|
|
|
155
284
|
|
|
156
285
|
The following npm packages may be included in this product:
|
|
157
286
|
|
|
158
|
-
- @oclif/core@
|
|
159
|
-
- @oclif/plugin-help@
|
|
287
|
+
- @oclif/core@5.1.9
|
|
288
|
+
- @oclif/plugin-help@7.0.5
|
|
160
289
|
|
|
161
290
|
These packages each contain the following license:
|
|
162
291
|
|
|
@@ -186,7 +315,7 @@ SOFTWARE.
|
|
|
186
315
|
|
|
187
316
|
The following npm package may be included in this product:
|
|
188
317
|
|
|
189
|
-
- microdiff@1.
|
|
318
|
+
- microdiff@1.6.0
|
|
190
319
|
|
|
191
320
|
This package contains the following license:
|
|
192
321
|
|
|
@@ -216,7 +345,37 @@ SOFTWARE.
|
|
|
216
345
|
|
|
217
346
|
The following npm package may be included in this product:
|
|
218
347
|
|
|
219
|
-
-
|
|
348
|
+
- lilconfig@3.1.4
|
|
349
|
+
|
|
350
|
+
This package contains the following license:
|
|
351
|
+
|
|
352
|
+
MIT License
|
|
353
|
+
|
|
354
|
+
Copyright (c) 2022 Anton Kastritskiy
|
|
355
|
+
|
|
356
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
357
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
358
|
+
in the Software without restriction, including without limitation the rights
|
|
359
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
360
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
361
|
+
furnished to do so, subject to the following conditions:
|
|
362
|
+
|
|
363
|
+
The above copyright notice and this permission notice shall be included in all
|
|
364
|
+
copies or substantial portions of the Software.
|
|
365
|
+
|
|
366
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
367
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
368
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
369
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
370
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
371
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
372
|
+
SOFTWARE.
|
|
373
|
+
|
|
374
|
+
-----------
|
|
375
|
+
|
|
376
|
+
The following npm package may be included in this product:
|
|
377
|
+
|
|
378
|
+
- tinyglobby@0.2.17
|
|
220
379
|
|
|
221
380
|
This package contains the following license:
|
|
222
381
|
|
|
@@ -246,7 +405,7 @@ SOFTWARE.
|
|
|
246
405
|
|
|
247
406
|
The following npm package may be included in this product:
|
|
248
407
|
|
|
249
|
-
- defu@6.1.
|
|
408
|
+
- defu@6.1.7
|
|
250
409
|
|
|
251
410
|
This package contains the following license:
|
|
252
411
|
|
|
@@ -411,7 +570,37 @@ DEALINGS IN THE SOFTWARE.
|
|
|
411
570
|
|
|
412
571
|
The following npm package may be included in this product:
|
|
413
572
|
|
|
414
|
-
-
|
|
573
|
+
- @tylerbu/lilconfig-loader-ts@0.1.3
|
|
574
|
+
|
|
575
|
+
This package contains the following license:
|
|
576
|
+
|
|
577
|
+
MIT License
|
|
578
|
+
|
|
579
|
+
Copyright (c) Tyler Butler <tyler@tylerbutler.com>
|
|
580
|
+
|
|
581
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
582
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
583
|
+
in the Software without restriction, including without limitation the rights
|
|
584
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
585
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
586
|
+
furnished to do so, subject to the following conditions:
|
|
587
|
+
|
|
588
|
+
The above copyright notice and this permission notice shall be included in all
|
|
589
|
+
copies or substantial portions of the Software.
|
|
590
|
+
|
|
591
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
592
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
593
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
594
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
595
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
596
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
597
|
+
SOFTWARE.
|
|
598
|
+
|
|
599
|
+
-----------
|
|
600
|
+
|
|
601
|
+
The following npm package may be included in this product:
|
|
602
|
+
|
|
603
|
+
- picomatch@4.0.7
|
|
415
604
|
|
|
416
605
|
This package contains the following license:
|
|
417
606
|
|
|
@@ -439,5 +628,34 @@ THE SOFTWARE.
|
|
|
439
628
|
|
|
440
629
|
-----------
|
|
441
630
|
|
|
631
|
+
The following npm package may be included in this product:
|
|
632
|
+
|
|
633
|
+
- simple-git@4.0.2
|
|
634
|
+
|
|
635
|
+
This package contains the following license:
|
|
636
|
+
|
|
637
|
+
The MIT License (MIT)
|
|
638
|
+
|
|
639
|
+
Copyright (c) 2025 Steve King
|
|
640
|
+
|
|
641
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
642
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
643
|
+
the Software without restriction, including without limitation the rights to
|
|
644
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
645
|
+
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
646
|
+
subject to the following conditions:
|
|
647
|
+
|
|
648
|
+
The above copyright notice and this permission notice shall be included in all
|
|
649
|
+
copies or substantial portions of the Software.
|
|
650
|
+
|
|
651
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
652
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
653
|
+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
654
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
655
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
656
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
657
|
+
|
|
658
|
+
-----------
|
|
659
|
+
|
|
442
660
|
This file was generated with the generate-license-file npm package!
|
|
443
661
|
https://www.npmjs.com/package/generate-license-file
|
package/bin/dev.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env -S node --loader ts-node/esm --no-warnings=ExperimentalWarning
|
|
2
2
|
|
|
3
|
-
import { execute } from "@oclif/core";
|
|
3
|
+
import { execute, settings } from "@oclif/core";
|
|
4
|
+
|
|
5
|
+
if (process.argv[2]?.startsWith("snapshot:")) {
|
|
6
|
+
settings.enableAutoTranspile = false;
|
|
7
|
+
}
|
|
4
8
|
|
|
5
9
|
await execute({ development: true, dir: import.meta.url });
|