@codedrifters/configulator 0.0.310 → 0.0.311
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/lib/index.d.mts +137 -0
- package/lib/index.d.ts +137 -0
- package/lib/index.js +28 -0
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +28 -0
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
package/lib/index.d.mts
CHANGED
|
@@ -8695,6 +8695,95 @@ interface PnpmWorkspaceOptions {
|
|
|
8695
8695
|
[dependencyName: string]: string;
|
|
8696
8696
|
};
|
|
8697
8697
|
};
|
|
8698
|
+
/**
|
|
8699
|
+
* Whether pnpm prompts before removing a sub-project's `node_modules`
|
|
8700
|
+
* directory during install. Set to `false` to skip the interactive prompt
|
|
8701
|
+
* so headless / non-TTY consumers (Claude Code agents, CI scripts,
|
|
8702
|
+
* scheduled tasks) don't abort with
|
|
8703
|
+
* `ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY` mid-synth.
|
|
8704
|
+
*
|
|
8705
|
+
* Introduced in pnpm 11.0.
|
|
8706
|
+
*
|
|
8707
|
+
* @default undefined (key omitted; pnpm uses its built-in default)
|
|
8708
|
+
*
|
|
8709
|
+
* @see https://pnpm.io/settings#confirmmodulespurge
|
|
8710
|
+
*/
|
|
8711
|
+
readonly confirmModulesPurge?: boolean;
|
|
8712
|
+
/**
|
|
8713
|
+
* Whether pnpm fails the install when a dependency's build script has not
|
|
8714
|
+
* been explicitly approved via `allowBuilds`. Set to `false` so unreviewed
|
|
8715
|
+
* build-script entries don't fail mid-synth in CI when configulator is
|
|
8716
|
+
* regenerating `allowBuilds` placeholders.
|
|
8717
|
+
*
|
|
8718
|
+
* Introduced in pnpm 10.3 (default `true` in pnpm 11).
|
|
8719
|
+
*
|
|
8720
|
+
* @default undefined (key omitted; pnpm uses its built-in default)
|
|
8721
|
+
*
|
|
8722
|
+
* @see https://pnpm.io/settings#strictdepbuilds
|
|
8723
|
+
*/
|
|
8724
|
+
readonly strictDepBuilds?: boolean;
|
|
8725
|
+
/**
|
|
8726
|
+
* Whether `pnpm run` / `pnpm exec` verifies the lockfile matches
|
|
8727
|
+
* `node_modules` before executing the requested script. Set to `"install"`
|
|
8728
|
+
* (or `false`) so non-TTY consumers don't hang on the `"prompt"` default.
|
|
8729
|
+
*
|
|
8730
|
+
* Introduced in pnpm 10.x.
|
|
8731
|
+
*
|
|
8732
|
+
* @default undefined (key omitted; pnpm uses its built-in default of "prompt")
|
|
8733
|
+
*
|
|
8734
|
+
* @see https://pnpm.io/settings#verifydepsbeforerun
|
|
8735
|
+
*/
|
|
8736
|
+
readonly verifyDepsBeforeRun?: "install" | "warn" | "error" | "prompt" | false;
|
|
8737
|
+
/**
|
|
8738
|
+
* How catalog entries are enforced when a sub-project's `package.json`
|
|
8739
|
+
* specifies a dependency that exists in a catalog. `"manual"` keeps the
|
|
8740
|
+
* existing opt-in `catalog:` protocol behavior, `"prefer"` substitutes
|
|
8741
|
+
* catalog versions automatically, and `"strict"` rejects any version
|
|
8742
|
+
* that diverges from the catalog.
|
|
8743
|
+
*
|
|
8744
|
+
* Introduced in pnpm 10.12.1.
|
|
8745
|
+
*
|
|
8746
|
+
* @default undefined (key omitted; pnpm uses its built-in default of "manual")
|
|
8747
|
+
*
|
|
8748
|
+
* @see https://pnpm.io/settings#catalogmode
|
|
8749
|
+
*/
|
|
8750
|
+
readonly catalogMode?: "manual" | "prefer" | "strict";
|
|
8751
|
+
/**
|
|
8752
|
+
* Whether pnpm removes unused catalog entries from `pnpm-workspace.yaml`
|
|
8753
|
+
* during install. Helps keep the catalog honest when sub-projects stop
|
|
8754
|
+
* referencing a catalog entry.
|
|
8755
|
+
*
|
|
8756
|
+
* Introduced in pnpm 10.15.
|
|
8757
|
+
*
|
|
8758
|
+
* @default undefined (key omitted; pnpm uses its built-in default)
|
|
8759
|
+
*
|
|
8760
|
+
* @see https://pnpm.io/settings#cleanupunusedcatalogs
|
|
8761
|
+
*/
|
|
8762
|
+
readonly cleanupUnusedCatalogs?: boolean;
|
|
8763
|
+
/**
|
|
8764
|
+
* Whether `minimumReleaseAge` resolution fails when no published version
|
|
8765
|
+
* satisfies the age constraint. `true` fails the install; `false` falls
|
|
8766
|
+
* back to an older version that does satisfy the age constraint.
|
|
8767
|
+
*
|
|
8768
|
+
* Introduced in pnpm 11.0.
|
|
8769
|
+
*
|
|
8770
|
+
* @default undefined (key omitted; pnpm uses its built-in default)
|
|
8771
|
+
*
|
|
8772
|
+
* @see https://pnpm.io/settings#minimumreleaseagestrict
|
|
8773
|
+
*/
|
|
8774
|
+
readonly minimumReleaseAgeStrict?: boolean;
|
|
8775
|
+
/**
|
|
8776
|
+
* Whether `minimumReleaseAge` resolution skips the age check for packages
|
|
8777
|
+
* whose registry response lacks timestamp metadata. Default is `true`
|
|
8778
|
+
* (skip the check rather than fail), which mirrors pnpm's behavior.
|
|
8779
|
+
*
|
|
8780
|
+
* Introduced in pnpm 11.0.
|
|
8781
|
+
*
|
|
8782
|
+
* @default undefined (key omitted; pnpm uses its built-in default of true)
|
|
8783
|
+
*
|
|
8784
|
+
* @see https://pnpm.io/settings#minimumreleaseageignoremissingtime
|
|
8785
|
+
*/
|
|
8786
|
+
readonly minimumReleaseAgeIgnoreMissingTime?: boolean;
|
|
8698
8787
|
}
|
|
8699
8788
|
declare class PnpmWorkspace extends Component {
|
|
8700
8789
|
/**
|
|
@@ -8813,6 +8902,54 @@ declare class PnpmWorkspace extends Component {
|
|
|
8813
8902
|
[dependencyName: string]: string;
|
|
8814
8903
|
};
|
|
8815
8904
|
};
|
|
8905
|
+
/**
|
|
8906
|
+
* Skip the interactive `node_modules` purge prompt so headless consumers
|
|
8907
|
+
* don't abort mid-synth. Introduced in pnpm 11.0.
|
|
8908
|
+
*
|
|
8909
|
+
* @see https://pnpm.io/settings#confirmmodulespurge
|
|
8910
|
+
*/
|
|
8911
|
+
confirmModulesPurge?: boolean;
|
|
8912
|
+
/**
|
|
8913
|
+
* Fail (`true`) or warn (`false`) when a dependency's build script has
|
|
8914
|
+
* not been explicitly approved via `allowBuilds`. Introduced in pnpm 10.3.
|
|
8915
|
+
*
|
|
8916
|
+
* @see https://pnpm.io/settings#strictdepbuilds
|
|
8917
|
+
*/
|
|
8918
|
+
strictDepBuilds?: boolean;
|
|
8919
|
+
/**
|
|
8920
|
+
* Behavior of `pnpm run` / `pnpm exec` when the lockfile drifts from
|
|
8921
|
+
* `node_modules`. Use `"install"` (or `false`) for non-TTY callers.
|
|
8922
|
+
*
|
|
8923
|
+
* @see https://pnpm.io/settings#verifydepsbeforerun
|
|
8924
|
+
*/
|
|
8925
|
+
verifyDepsBeforeRun?: "install" | "warn" | "error" | "prompt" | false;
|
|
8926
|
+
/**
|
|
8927
|
+
* Catalog enforcement mode. Introduced in pnpm 10.12.1.
|
|
8928
|
+
*
|
|
8929
|
+
* @see https://pnpm.io/settings#catalogmode
|
|
8930
|
+
*/
|
|
8931
|
+
catalogMode?: "manual" | "prefer" | "strict";
|
|
8932
|
+
/**
|
|
8933
|
+
* Whether unused catalog entries are pruned on install.
|
|
8934
|
+
* Introduced in pnpm 10.15.
|
|
8935
|
+
*
|
|
8936
|
+
* @see https://pnpm.io/settings#cleanupunusedcatalogs
|
|
8937
|
+
*/
|
|
8938
|
+
cleanupUnusedCatalogs?: boolean;
|
|
8939
|
+
/**
|
|
8940
|
+
* Whether `minimumReleaseAge` resolution fails when no version satisfies
|
|
8941
|
+
* the age constraint. Introduced in pnpm 11.0.
|
|
8942
|
+
*
|
|
8943
|
+
* @see https://pnpm.io/settings#minimumreleaseagestrict
|
|
8944
|
+
*/
|
|
8945
|
+
minimumReleaseAgeStrict?: boolean;
|
|
8946
|
+
/**
|
|
8947
|
+
* Whether `minimumReleaseAge` skips the age check for registries lacking
|
|
8948
|
+
* timestamp metadata. Introduced in pnpm 11.0.
|
|
8949
|
+
*
|
|
8950
|
+
* @see https://pnpm.io/settings#minimumreleaseageignoremissingtime
|
|
8951
|
+
*/
|
|
8952
|
+
minimumReleaseAgeIgnoreMissingTime?: boolean;
|
|
8816
8953
|
constructor(project: Project$1, options?: PnpmWorkspaceOptions);
|
|
8817
8954
|
}
|
|
8818
8955
|
/**
|
package/lib/index.d.ts
CHANGED
|
@@ -8744,6 +8744,95 @@ interface PnpmWorkspaceOptions {
|
|
|
8744
8744
|
[dependencyName: string]: string;
|
|
8745
8745
|
};
|
|
8746
8746
|
};
|
|
8747
|
+
/**
|
|
8748
|
+
* Whether pnpm prompts before removing a sub-project's `node_modules`
|
|
8749
|
+
* directory during install. Set to `false` to skip the interactive prompt
|
|
8750
|
+
* so headless / non-TTY consumers (Claude Code agents, CI scripts,
|
|
8751
|
+
* scheduled tasks) don't abort with
|
|
8752
|
+
* `ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY` mid-synth.
|
|
8753
|
+
*
|
|
8754
|
+
* Introduced in pnpm 11.0.
|
|
8755
|
+
*
|
|
8756
|
+
* @default undefined (key omitted; pnpm uses its built-in default)
|
|
8757
|
+
*
|
|
8758
|
+
* @see https://pnpm.io/settings#confirmmodulespurge
|
|
8759
|
+
*/
|
|
8760
|
+
readonly confirmModulesPurge?: boolean;
|
|
8761
|
+
/**
|
|
8762
|
+
* Whether pnpm fails the install when a dependency's build script has not
|
|
8763
|
+
* been explicitly approved via `allowBuilds`. Set to `false` so unreviewed
|
|
8764
|
+
* build-script entries don't fail mid-synth in CI when configulator is
|
|
8765
|
+
* regenerating `allowBuilds` placeholders.
|
|
8766
|
+
*
|
|
8767
|
+
* Introduced in pnpm 10.3 (default `true` in pnpm 11).
|
|
8768
|
+
*
|
|
8769
|
+
* @default undefined (key omitted; pnpm uses its built-in default)
|
|
8770
|
+
*
|
|
8771
|
+
* @see https://pnpm.io/settings#strictdepbuilds
|
|
8772
|
+
*/
|
|
8773
|
+
readonly strictDepBuilds?: boolean;
|
|
8774
|
+
/**
|
|
8775
|
+
* Whether `pnpm run` / `pnpm exec` verifies the lockfile matches
|
|
8776
|
+
* `node_modules` before executing the requested script. Set to `"install"`
|
|
8777
|
+
* (or `false`) so non-TTY consumers don't hang on the `"prompt"` default.
|
|
8778
|
+
*
|
|
8779
|
+
* Introduced in pnpm 10.x.
|
|
8780
|
+
*
|
|
8781
|
+
* @default undefined (key omitted; pnpm uses its built-in default of "prompt")
|
|
8782
|
+
*
|
|
8783
|
+
* @see https://pnpm.io/settings#verifydepsbeforerun
|
|
8784
|
+
*/
|
|
8785
|
+
readonly verifyDepsBeforeRun?: "install" | "warn" | "error" | "prompt" | false;
|
|
8786
|
+
/**
|
|
8787
|
+
* How catalog entries are enforced when a sub-project's `package.json`
|
|
8788
|
+
* specifies a dependency that exists in a catalog. `"manual"` keeps the
|
|
8789
|
+
* existing opt-in `catalog:` protocol behavior, `"prefer"` substitutes
|
|
8790
|
+
* catalog versions automatically, and `"strict"` rejects any version
|
|
8791
|
+
* that diverges from the catalog.
|
|
8792
|
+
*
|
|
8793
|
+
* Introduced in pnpm 10.12.1.
|
|
8794
|
+
*
|
|
8795
|
+
* @default undefined (key omitted; pnpm uses its built-in default of "manual")
|
|
8796
|
+
*
|
|
8797
|
+
* @see https://pnpm.io/settings#catalogmode
|
|
8798
|
+
*/
|
|
8799
|
+
readonly catalogMode?: "manual" | "prefer" | "strict";
|
|
8800
|
+
/**
|
|
8801
|
+
* Whether pnpm removes unused catalog entries from `pnpm-workspace.yaml`
|
|
8802
|
+
* during install. Helps keep the catalog honest when sub-projects stop
|
|
8803
|
+
* referencing a catalog entry.
|
|
8804
|
+
*
|
|
8805
|
+
* Introduced in pnpm 10.15.
|
|
8806
|
+
*
|
|
8807
|
+
* @default undefined (key omitted; pnpm uses its built-in default)
|
|
8808
|
+
*
|
|
8809
|
+
* @see https://pnpm.io/settings#cleanupunusedcatalogs
|
|
8810
|
+
*/
|
|
8811
|
+
readonly cleanupUnusedCatalogs?: boolean;
|
|
8812
|
+
/**
|
|
8813
|
+
* Whether `minimumReleaseAge` resolution fails when no published version
|
|
8814
|
+
* satisfies the age constraint. `true` fails the install; `false` falls
|
|
8815
|
+
* back to an older version that does satisfy the age constraint.
|
|
8816
|
+
*
|
|
8817
|
+
* Introduced in pnpm 11.0.
|
|
8818
|
+
*
|
|
8819
|
+
* @default undefined (key omitted; pnpm uses its built-in default)
|
|
8820
|
+
*
|
|
8821
|
+
* @see https://pnpm.io/settings#minimumreleaseagestrict
|
|
8822
|
+
*/
|
|
8823
|
+
readonly minimumReleaseAgeStrict?: boolean;
|
|
8824
|
+
/**
|
|
8825
|
+
* Whether `minimumReleaseAge` resolution skips the age check for packages
|
|
8826
|
+
* whose registry response lacks timestamp metadata. Default is `true`
|
|
8827
|
+
* (skip the check rather than fail), which mirrors pnpm's behavior.
|
|
8828
|
+
*
|
|
8829
|
+
* Introduced in pnpm 11.0.
|
|
8830
|
+
*
|
|
8831
|
+
* @default undefined (key omitted; pnpm uses its built-in default of true)
|
|
8832
|
+
*
|
|
8833
|
+
* @see https://pnpm.io/settings#minimumreleaseageignoremissingtime
|
|
8834
|
+
*/
|
|
8835
|
+
readonly minimumReleaseAgeIgnoreMissingTime?: boolean;
|
|
8747
8836
|
}
|
|
8748
8837
|
declare class PnpmWorkspace extends Component {
|
|
8749
8838
|
/**
|
|
@@ -8862,6 +8951,54 @@ declare class PnpmWorkspace extends Component {
|
|
|
8862
8951
|
[dependencyName: string]: string;
|
|
8863
8952
|
};
|
|
8864
8953
|
};
|
|
8954
|
+
/**
|
|
8955
|
+
* Skip the interactive `node_modules` purge prompt so headless consumers
|
|
8956
|
+
* don't abort mid-synth. Introduced in pnpm 11.0.
|
|
8957
|
+
*
|
|
8958
|
+
* @see https://pnpm.io/settings#confirmmodulespurge
|
|
8959
|
+
*/
|
|
8960
|
+
confirmModulesPurge?: boolean;
|
|
8961
|
+
/**
|
|
8962
|
+
* Fail (`true`) or warn (`false`) when a dependency's build script has
|
|
8963
|
+
* not been explicitly approved via `allowBuilds`. Introduced in pnpm 10.3.
|
|
8964
|
+
*
|
|
8965
|
+
* @see https://pnpm.io/settings#strictdepbuilds
|
|
8966
|
+
*/
|
|
8967
|
+
strictDepBuilds?: boolean;
|
|
8968
|
+
/**
|
|
8969
|
+
* Behavior of `pnpm run` / `pnpm exec` when the lockfile drifts from
|
|
8970
|
+
* `node_modules`. Use `"install"` (or `false`) for non-TTY callers.
|
|
8971
|
+
*
|
|
8972
|
+
* @see https://pnpm.io/settings#verifydepsbeforerun
|
|
8973
|
+
*/
|
|
8974
|
+
verifyDepsBeforeRun?: "install" | "warn" | "error" | "prompt" | false;
|
|
8975
|
+
/**
|
|
8976
|
+
* Catalog enforcement mode. Introduced in pnpm 10.12.1.
|
|
8977
|
+
*
|
|
8978
|
+
* @see https://pnpm.io/settings#catalogmode
|
|
8979
|
+
*/
|
|
8980
|
+
catalogMode?: "manual" | "prefer" | "strict";
|
|
8981
|
+
/**
|
|
8982
|
+
* Whether unused catalog entries are pruned on install.
|
|
8983
|
+
* Introduced in pnpm 10.15.
|
|
8984
|
+
*
|
|
8985
|
+
* @see https://pnpm.io/settings#cleanupunusedcatalogs
|
|
8986
|
+
*/
|
|
8987
|
+
cleanupUnusedCatalogs?: boolean;
|
|
8988
|
+
/**
|
|
8989
|
+
* Whether `minimumReleaseAge` resolution fails when no version satisfies
|
|
8990
|
+
* the age constraint. Introduced in pnpm 11.0.
|
|
8991
|
+
*
|
|
8992
|
+
* @see https://pnpm.io/settings#minimumreleaseagestrict
|
|
8993
|
+
*/
|
|
8994
|
+
minimumReleaseAgeStrict?: boolean;
|
|
8995
|
+
/**
|
|
8996
|
+
* Whether `minimumReleaseAge` skips the age check for registries lacking
|
|
8997
|
+
* timestamp metadata. Introduced in pnpm 11.0.
|
|
8998
|
+
*
|
|
8999
|
+
* @see https://pnpm.io/settings#minimumreleaseageignoremissingtime
|
|
9000
|
+
*/
|
|
9001
|
+
minimumReleaseAgeIgnoreMissingTime?: boolean;
|
|
8865
9002
|
constructor(project: Project, options?: PnpmWorkspaceOptions);
|
|
8866
9003
|
}
|
|
8867
9004
|
/**
|
package/lib/index.js
CHANGED
|
@@ -16934,6 +16934,13 @@ var PnpmWorkspace = class _PnpmWorkspace extends import_projen.Component {
|
|
|
16934
16934
|
this.subprojects = options.subprojects ?? [];
|
|
16935
16935
|
this.defaultCatalog = options.defaultCatalog;
|
|
16936
16936
|
this.namedCatalogs = options.namedCatalogs;
|
|
16937
|
+
this.confirmModulesPurge = options.confirmModulesPurge;
|
|
16938
|
+
this.strictDepBuilds = options.strictDepBuilds;
|
|
16939
|
+
this.verifyDepsBeforeRun = options.verifyDepsBeforeRun;
|
|
16940
|
+
this.catalogMode = options.catalogMode;
|
|
16941
|
+
this.cleanupUnusedCatalogs = options.cleanupUnusedCatalogs;
|
|
16942
|
+
this.minimumReleaseAgeStrict = options.minimumReleaseAgeStrict;
|
|
16943
|
+
this.minimumReleaseAgeIgnoreMissingTime = options.minimumReleaseAgeIgnoreMissingTime;
|
|
16937
16944
|
project.addPackageIgnore(this.fileName);
|
|
16938
16945
|
new import_projen.YamlFile(this.project, this.fileName, {
|
|
16939
16946
|
obj: () => {
|
|
@@ -16990,6 +16997,27 @@ var PnpmWorkspace = class _PnpmWorkspace extends import_projen.Component {
|
|
|
16990
16997
|
if (this.namedCatalogs && Object.keys(this.namedCatalogs).length > 0) {
|
|
16991
16998
|
pnpmConfig.namedCatalogs = this.namedCatalogs;
|
|
16992
16999
|
}
|
|
17000
|
+
if (this.confirmModulesPurge !== void 0) {
|
|
17001
|
+
pnpmConfig.confirmModulesPurge = this.confirmModulesPurge;
|
|
17002
|
+
}
|
|
17003
|
+
if (this.strictDepBuilds !== void 0) {
|
|
17004
|
+
pnpmConfig.strictDepBuilds = this.strictDepBuilds;
|
|
17005
|
+
}
|
|
17006
|
+
if (this.verifyDepsBeforeRun !== void 0) {
|
|
17007
|
+
pnpmConfig.verifyDepsBeforeRun = this.verifyDepsBeforeRun;
|
|
17008
|
+
}
|
|
17009
|
+
if (this.catalogMode !== void 0) {
|
|
17010
|
+
pnpmConfig.catalogMode = this.catalogMode;
|
|
17011
|
+
}
|
|
17012
|
+
if (this.cleanupUnusedCatalogs !== void 0) {
|
|
17013
|
+
pnpmConfig.cleanupUnusedCatalogs = this.cleanupUnusedCatalogs;
|
|
17014
|
+
}
|
|
17015
|
+
if (this.minimumReleaseAgeStrict !== void 0) {
|
|
17016
|
+
pnpmConfig.minimumReleaseAgeStrict = this.minimumReleaseAgeStrict;
|
|
17017
|
+
}
|
|
17018
|
+
if (this.minimumReleaseAgeIgnoreMissingTime !== void 0) {
|
|
17019
|
+
pnpmConfig.minimumReleaseAgeIgnoreMissingTime = this.minimumReleaseAgeIgnoreMissingTime;
|
|
17020
|
+
}
|
|
16993
17021
|
return {
|
|
16994
17022
|
...packages.length > 0 ? { packages } : {},
|
|
16995
17023
|
...pnpmConfig ? { ...pnpmConfig } : {}
|