diff --git a/.projen/deps.json b/.projen/deps.json index 75e31d2e6..a8342446d 100644 --- a/.projen/deps.json +++ b/.projen/deps.json @@ -123,6 +123,7 @@ }, { "name": "syncpack", + "version": "^12", "type": "build" }, { diff --git a/.syncpackrc.json b/.syncpackrc.json index 531105125..6f1a48aac 100644 --- a/.syncpackrc.json +++ b/.syncpackrc.json @@ -1,16 +1,20 @@ { - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "workspace": false, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**" + ], + "dependencyTypes": [ + "**" + ], + "packages": [ + "**" + ], + "range": "" + } + ], "sortAz": [ "contributors", "dependencies", @@ -28,5 +32,8 @@ ], "source": [], "versionGroups": [], + "dependencyTypes": [ + "!local" + ], "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"pnpm exec projen\"." } diff --git a/package.json b/package.json index 43b2ee99d..393294bcc 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "nx-cloud": "^16.5.2", "prettier": "^2.8.8", "projen": "^0.76.25", - "syncpack": "^9.8.6", + "syncpack": "^12", "ts-node": "^10.9.1", "typescript": "^5.2.2" }, diff --git a/packages/monorepo/package.json b/packages/monorepo/package.json index b08041eab..417303cf3 100644 --- a/packages/monorepo/package.json +++ b/packages/monorepo/package.json @@ -83,6 +83,14 @@ ], "main": "lib/index.js", "license": "Apache-2.0", + "typesVersions": { + "<=3.9": { + "lib/*": [ + "lib/.types-compat/ts3.9/*", + "lib/.types-compat/ts3.9/*/index.d.ts" + ] + } + }, "version": "0.0.0", "jest": { "testMatch": [ diff --git a/packages/monorepo/src/projects/typescript/monorepo-ts.ts b/packages/monorepo/src/projects/typescript/monorepo-ts.ts index 4578634b4..cbe68d188 100644 --- a/packages/monorepo/src/projects/typescript/monorepo-ts.ts +++ b/packages/monorepo/src/projects/typescript/monorepo-ts.ts @@ -13,7 +13,7 @@ import { JavaProject } from "projen/lib/java"; import { NodePackageManager, NodeProject } from "projen/lib/javascript"; import { PythonProject } from "projen/lib/python"; import { TypeScriptProject } from "projen/lib/typescript"; -import { DEFAULT_CONFIG, SyncpackConfig } from "./syncpack-options"; +import { Syncpack } from "./syncpack-options"; import { TypeScriptProjectOptions } from "./typescript-project-options"; import { NxConfigurator, @@ -88,9 +88,9 @@ export interface MonorepoUpgradeDepsOptions { * * No merging is performed and as such a complete syncpackConfig is required if supplied. * - * @default SyncpackConfig.DEFAULT_CONFIG + * @default Syncpack.DEFAULT_CONFIG */ - readonly syncpackConfig?: SyncpackConfig; + readonly syncpackConfig?: Syncpack.SyncpackConfig; } /** @@ -306,7 +306,7 @@ export class MonorepoTsProject ); if (options.monorepoUpgradeDeps !== false) { - this.addDevDeps("npm-check-updates", "syncpack"); + this.addDevDeps("npm-check-updates", "syncpack@^12"); const upgradeDepsTask = this.addTask( options.monorepoUpgradeDepsOptions?.taskName || "upgrade-deps" @@ -341,7 +341,8 @@ export class MonorepoTsProject new JsonFile(this, ".syncpackrc.json", { obj: - options.monorepoUpgradeDepsOptions?.syncpackConfig || DEFAULT_CONFIG, + options.monorepoUpgradeDepsOptions?.syncpackConfig || + Syncpack.DEFAULT_CONFIG, readonly: true, }); } diff --git a/packages/monorepo/src/projects/typescript/syncpack-options.ts b/packages/monorepo/src/projects/typescript/syncpack-options.ts index b7c47e07c..ca09dd0ad 100644 --- a/packages/monorepo/src/projects/typescript/syncpack-options.ts +++ b/packages/monorepo/src/projects/typescript/syncpack-options.ts @@ -1,175 +1,261 @@ /*! Copyright [Amazon.com](http://amazon.com/), Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0 */ -// This file was forked form https://github.com/JamieMason/syncpack/blob/master/src/constants.ts (v8.2.4) -export type DependencyType = - | "dependencies" - | "devDependencies" - | "overrides" - | "peerDependencies" - | "pnpmOverrides" - | "resolutions" - | "workspace"; - -export type ValidRange = - | typeof RANGE_ANY - | typeof RANGE_EXACT - | typeof RANGE_GT - | typeof RANGE_GTE - | typeof RANGE_LOOSE - | typeof RANGE_LT - | typeof RANGE_LTE - | typeof RANGE_MINOR - | typeof RANGE_PATCH; - -export interface SemverGroup { - /** - * the names of packages in your monorepo which belong to this group, taken - * from the "name" field in package.json, not the package directory name - */ - readonly packages: string[]; - /** - * the names of the dependencies (eg. "lodash") which belong to this group - */ - readonly dependencies: string[]; - /** - * the semver range which dependencies in this group should use - */ - readonly range: ValidRange; - /** - * optionally only apply this group to dependencies of the provided types - */ - readonly dependencyTypes?: DependencyType[]; -} -export interface VersionGroup { - /** - * the names of packages in your monorepo which belong to this group, taken - * from the "name" field in package.json, not the package directory name - */ - readonly packages: string[]; - /** - * the names of the dependencies (eg. "lodash") which belong to this group - */ - readonly dependencies: string[]; - /** - * optionally force all dependencies in this group to be removed - */ - readonly isBanned?: true; - /** - * optionally force all dependencies in this group to have this version - */ - readonly pinVersion?: string; - /** - * optionally only apply this group to dependencies of the provided types - */ - readonly dependencyTypes?: DependencyType[]; -} +// JSII compatible fork of types from https://github.com/JamieMason/syncpack/blob/main/src/config/types.ts (v12.3.0) -export interface SyncpackConfig { - /** - * which dependency properties to search within - */ - readonly dependencyTypes: DependencyType[]; - /** - * whether to search within devDependencies - */ - readonly dev: boolean; - /** - * a string which will be passed to `new RegExp()` to match against package - * names that should be included - */ - readonly filter: string; - /** - * the character(s) to be used to indent your package.json files when writing - * to disk - */ - readonly indent: string; - /** - * whether to search within npm overrides - */ - readonly overrides: boolean; - /** - * whether to search within peerDependencies - */ - readonly peer: boolean; - /** - * whether to search within pnpm overrides - */ - readonly pnpmOverrides: boolean; - /** - * whether to search within dependencies - */ - readonly prod: boolean; - /** - * whether to search within yarn resolutions - */ - readonly resolutions: boolean; +/** + * Types and constants for Syncpack usage in the monorepo + * @see https://jamiemason.github.io/syncpack + */ +export namespace Syncpack { /** + * Aliases for semver range formats supported by syncpack * + * Defaults to `""` to ensure that exact dependency versions are used instead of + * loose ranges, but this can be overridden in your config file. + * + * | Supported Range | Example | + * | --------------- | --------: | + * | `"<"` | `<1.4.2` | + * | `"<="` | `<=1.4.2` | + * | `""` | `1.4.2` | + * | `"~"` | `~1.4.2` | + * | `"^"` | `^1.4.2` | + * | `">="` | `>=1.4.2` | + * | `">"` | `>1.4.2` | + * | `"*"` | `*` | + * + * @default "" */ - readonly semverGroups: SemverGroup[]; - /** - * defaults to `""` to ensure that exact dependency versions are used instead - * of loose ranges - */ - readonly semverRange: ValidRange; - /** - * which fields within package.json files should be sorted alphabetically - */ - readonly sortAz: string[]; - /** - * which fields within package.json files should appear at the top, and in - * what order - */ - readonly sortFirst: string[]; - /** - * glob patterns for package.json file locations - */ - readonly source: string[]; + export type SemverRange = + | "" + | "*" + | ">" + | ">=" + | ".x" + | "<" + | "<=" + | "^" + | "~" + | "workspace:"; + + export const CUSTOM_TYPES = { + dev: { + strategy: "versionsByName", + path: "devDependencies", + }, + local: { + strategy: "name~version", + namePath: "name", + path: "version", + }, + overrides: { + strategy: "versionsByName", + path: "overrides", + }, + peer: { + strategy: "versionsByName", + path: "peerDependencies", + }, + pnpmOverrides: { + strategy: "versionsByName", + path: "pnpm.overrides", + }, + prod: { + strategy: "versionsByName", + path: "dependencies", + }, + resolutions: { + strategy: "versionsByName", + path: "resolutions", + }, + } as const; + + type DefaultDependencyType = keyof typeof CUSTOM_TYPES; + + export type DependencyType = + | DefaultDependencyType + | `!${DefaultDependencyType}` + // This is done to allow any other `string` while also offering intellisense + // for the internal dependency types above. `(string & {})` is needed to + // prevent typescript from ignoring these specific strings and merging them + // all into `string`, where we'd lose any editor autocomplete for the other + // more specific fields, using (string & {}) stops that from happening. + // + // eslint-disable-next-line @typescript-eslint/ban-types + | (string & {}); + + // NB: for brevity we use "string" instead of re-defining all the different specifier types here: + // https://github.com/JamieMason/syncpack/blob/db2b31ccdb1a28fdbe0c42d27ce956ea5c6c543a/src/specifier/index.ts#L16-L27 + export type SpecifierType = string; + + export interface GroupConfig { + readonly dependencies?: string[]; + readonly dependencyTypes?: DependencyType[]; + readonly label?: string; + readonly packages?: string[]; + readonly specifierTypes?: SpecifierType[]; + } + + export namespace SemverGroupConfig { + export interface Disabled extends GroupConfig { + readonly isDisabled: true; + } + + export interface Ignored extends GroupConfig { + readonly isIgnored: true; + } + + export interface WithRange extends GroupConfig { + readonly range: SemverRange; + } + + export type Any = Disabled | Ignored | WithRange; + } + + export namespace VersionGroupConfig { + export interface Banned extends GroupConfig { + readonly isBanned: true; + } + + export interface Ignored extends GroupConfig { + readonly isIgnored: true; + } + + export interface Pinned extends GroupConfig { + readonly pinVersion: string; + } + + export interface SnappedTo extends GroupConfig { + readonly snapTo: string[]; + } + + export interface SameRange extends GroupConfig { + readonly policy: "sameRange"; + } + + export interface SnappedTo extends GroupConfig { + readonly snapTo: string[]; + } + + export interface Standard extends GroupConfig { + readonly preferVersion?: "highestSemver" | "lowestSemver"; + } + + export type Any = + | Banned + | Ignored + | Pinned + | SameRange + | SnappedTo + | Standard; + } + + export namespace CustomTypeConfig { + export interface NameAndVersionProps { + readonly namePath: string; + readonly path: string; + readonly strategy: "name~version"; + } + + export interface NamedVersionString { + readonly path: string; + readonly strategy: "name@version"; + } + + export interface UnnamedVersionString { + readonly path: string; + readonly strategy: "version"; + } + + export interface VersionsByName { + readonly path: string; + readonly strategy: "versionsByName"; + } + + export type Any = + | NameAndVersionProps + | NamedVersionString + | UnnamedVersionString + | VersionsByName; + } + + export interface CliConfig { + readonly configPath?: string; + readonly filter: string; + readonly indent: string; + readonly source: string[]; + readonly specs: string; + readonly types: string; + } + /** - * + * Configuration for Syncpack + * @see https://jamiemason.github.io/syncpack */ - readonly versionGroups: VersionGroup[]; + export interface SyncpackConfig { + /** @see https://jamiemason.github.io/syncpack/config/custom-types */ + readonly customTypes?: Record; + /** @see https://jamiemason.github.io/syncpack/config/dependency-types */ + readonly dependencyTypes?: DependencyType[]; + /** @see https://jamiemason.github.io/syncpack/config/filter */ + readonly filter?: string; + /** @see https://jamiemason.github.io/syncpack/config/format-bugs */ + readonly formatBugs?: boolean; + /** @see https://jamiemason.github.io/syncpack/config/format-repository */ + readonly formatRepository?: boolean; + /** @see https://jamiemason.github.io/syncpack/config/indent */ + readonly indent?: string; + /** @see https://jamiemason.github.io/syncpack/config/lint-formatting */ + readonly lintFormatting?: boolean; + /** @see https://jamiemason.github.io/syncpack/config/lint-semver-ranges */ + readonly lintSemverRanges?: boolean; + /** @see https://jamiemason.github.io/syncpack/config/lint-versions */ + readonly lintVersions?: boolean; + /** @see https://jamiemason.github.io/syncpack/config/semver-groups */ + readonly semverGroups?: SemverGroupConfig.Any[]; + /** @see https://jamiemason.github.io/syncpack/config/sort-az */ + readonly sortAz?: string[]; + /** @see https://jamiemason.github.io/syncpack/config/sort-exports */ + readonly sortExports?: string[]; + /** @see https://jamiemason.github.io/syncpack/config/sort-first */ + readonly sortFirst?: string[]; + /** @see https://jamiemason.github.io/syncpack/config/sort-packages */ + readonly sortPackages?: boolean; + /** @see https://jamiemason.github.io/syncpack/config/source */ + readonly source?: string[]; + /** @see https://jamiemason.github.io/syncpack/config/specifier-types */ + readonly specifierTypes?: SpecifierType[]; + /** @see https://jamiemason.github.io/syncpack/config/version-groups */ + readonly versionGroups?: VersionGroupConfig.Any[]; + } + /** - * whether to include the versions of the `--source` packages developed in - * your workspace/monorepo as part of the search for versions to sync + * Default monorepo configuration for Syncpack + * @see https://jamiemason.github.io/syncpack/ */ - readonly workspace: boolean; + export const DEFAULT_CONFIG: Syncpack.SyncpackConfig = { + filter: ".", + indent: " ", + semverGroups: [ + { + dependencies: ["**"], + dependencyTypes: ["**"], + packages: ["**"], + range: "", + }, + ], + sortAz: [ + "contributors", + "dependencies", + "devDependencies", + "keywords", + "peerDependencies", + "resolutions", + "scripts", + ], + sortFirst: ["name", "description", "version", "author"], + source: [], + versionGroups: [], + }; } - -export const RANGE_ANY = "*"; -export const RANGE_EXACT = ""; -export const RANGE_GT = ">"; -export const RANGE_GTE = ">="; -export const RANGE_LOOSE = ".x"; -export const RANGE_LT = "<"; -export const RANGE_LTE = "<="; -export const RANGE_MINOR = "^"; -export const RANGE_PATCH = "~"; - -export const DEFAULT_CONFIG: SyncpackConfig = { - dependencyTypes: [], - dev: true, - filter: ".", - indent: " ", - overrides: true, - peer: true, - pnpmOverrides: true, - prod: true, - resolutions: true, - workspace: true, - semverGroups: [], - semverRange: "", - sortAz: [ - "contributors", - "dependencies", - "devDependencies", - "keywords", - "peerDependencies", - "resolutions", - "scripts", - ], - sortFirst: ["name", "description", "version", "author"], - source: [], - versionGroups: [], -}; diff --git a/packages/monorepo/test/__snapshots__/monorepo.test.ts.snap b/packages/monorepo/test/__snapshots__/monorepo.test.ts.snap index a0c24d5f8..44dae8699 100644 --- a/packages/monorepo/test/__snapshots__/monorepo.test.ts.snap +++ b/packages/monorepo/test/__snapshots__/monorepo.test.ts.snap @@ -318,6 +318,7 @@ resolution-mode=highest { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -616,17 +617,22 @@ resolution-mode=highest }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "pnpm exec projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -644,7 +650,6 @@ resolution-mode=highest ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -920,7 +925,7 @@ resolution-mode=highest "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -2362,6 +2367,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -2658,17 +2664,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "yarn projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -2686,7 +2697,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -2962,7 +2972,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -4406,6 +4416,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -4703,17 +4714,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "yarn exec projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -4731,7 +4747,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, ".yarnrc.yml": "# ~~ Generated by projen. To modify, edit .projenrc.ts and run "yarn exec projen". @@ -5011,7 +5026,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -6460,6 +6475,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -6756,17 +6772,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -6784,7 +6805,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -7060,7 +7080,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -8310,6 +8330,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -8614,17 +8635,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -8642,7 +8668,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -8918,7 +8943,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -10060,6 +10085,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -10356,17 +10382,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -10384,7 +10415,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -10660,7 +10690,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -11094,6 +11124,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -11390,17 +11421,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "bun x projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -11418,7 +11454,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -11694,7 +11729,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -13121,6 +13156,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -13425,17 +13461,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -13453,7 +13494,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -13729,7 +13769,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -16456,6 +16496,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -16753,17 +16794,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -16781,7 +16827,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -17057,7 +17102,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -17490,6 +17535,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -17786,17 +17832,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -17814,7 +17865,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -18090,7 +18140,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -18965,6 +19015,7 @@ pattern1.txt { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -19261,17 +19312,22 @@ pattern1.txt }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -19289,7 +19345,6 @@ pattern1.txt ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -19565,7 +19620,7 @@ pattern1.txt "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -20007,6 +20062,7 @@ resolution-mode=highest { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -20305,17 +20361,22 @@ resolution-mode=highest }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "pnpm exec projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -20333,7 +20394,6 @@ resolution-mode=highest ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -20609,7 +20669,7 @@ resolution-mode=highest "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -22067,6 +22127,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -22363,17 +22424,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -22391,7 +22457,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -22680,7 +22745,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -23114,6 +23179,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -23410,17 +23476,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -23438,7 +23509,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -23714,7 +23784,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, diff --git a/packages/pdk/package.json b/packages/pdk/package.json index a4c01818f..67501017a 100644 --- a/packages/pdk/package.json +++ b/packages/pdk/package.json @@ -203,6 +203,14 @@ "./scripts/type-safe-api/custom/gradle-wrapper/gradlew.bat" ] }, + "typesVersions": { + "<=3.9": { + "./*": [ + "./.types-compat/ts3.9/*", + "./.types-compat/ts3.9/*/index.d.ts" + ] + } + }, "version": "0.0.0", "types": "./index.d.ts", "stability": "stable", diff --git a/packages/type-safe-api/test/project/__snapshots__/type-safe-api-project.test.ts.snap b/packages/type-safe-api/test/project/__snapshots__/type-safe-api-project.test.ts.snap index 28000f650..c3d92ae25 100644 --- a/packages/type-safe-api/test/project/__snapshots__/type-safe-api-project.test.ts.snap +++ b/packages/type-safe-api/test/project/__snapshots__/type-safe-api-project.test.ts.snap @@ -3259,6 +3259,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -3566,17 +3567,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -3594,7 +3600,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -3870,7 +3875,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -10493,6 +10498,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -10800,17 +10806,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -10828,7 +10839,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -11104,7 +11114,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -17948,6 +17958,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -18255,17 +18266,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -18283,7 +18299,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -18559,7 +18574,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -32869,6 +32884,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -33176,17 +33192,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -33204,7 +33225,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -33480,7 +33500,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -39716,6 +39736,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -40015,17 +40036,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -40043,7 +40069,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -40319,7 +40344,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -45746,6 +45771,7 @@ resolution-mode=highest { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -46047,17 +46073,22 @@ resolution-mode=highest }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "pnpm exec projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -46075,7 +46106,6 @@ resolution-mode=highest ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -46351,7 +46381,7 @@ resolution-mode=highest "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -52349,6 +52379,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -52656,17 +52687,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -52684,7 +52720,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -52960,7 +52995,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -59990,6 +60025,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -60297,17 +60333,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -60325,7 +60366,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -60601,7 +60641,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -67085,6 +67125,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -67385,17 +67426,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "yarn exec projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -67413,7 +67459,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, ".yarnrc.yml": "# ~~ Generated by projen. To modify, edit .projenrc.ts and run "yarn exec projen". @@ -67693,7 +67738,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, @@ -73145,6 +73190,7 @@ tsconfig.tsbuildinfo { "name": "syncpack", "type": "build", + "version": "^12", }, { "name": "ts-node", @@ -73444,17 +73490,22 @@ tsconfig.tsbuildinfo }, ".syncpackrc.json": { "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run "yarn projen".", - "dependencyTypes": [], - "dev": true, "filter": ".", "indent": " ", - "overrides": true, - "peer": true, - "pnpmOverrides": true, - "prod": true, - "resolutions": true, - "semverGroups": [], - "semverRange": "", + "semverGroups": [ + { + "dependencies": [ + "**", + ], + "dependencyTypes": [ + "**", + ], + "packages": [ + "**", + ], + "range": "", + }, + ], "sortAz": [ "contributors", "dependencies", @@ -73472,7 +73523,6 @@ tsconfig.tsbuildinfo ], "source": [], "versionGroups": [], - "workspace": true, }, "LICENSE": " Apache License @@ -73748,7 +73798,7 @@ tsconfig.tsbuildinfo "nx": "16.0.0", "prettier": "*", "projen": "*", - "syncpack": "*", + "syncpack": "^12", "ts-node": "*", "typescript": "*", }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 520859e22..4d06542fc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -119,8 +119,8 @@ importers: specifier: ^2.8.8 version: 2.8.8 syncpack: - specifier: ^9.8.6 - version: 9.8.6 + specifier: ^12 + version: 12.3.0(typescript@5.2.2) ts-node: specifier: ^10.9.1 version: 10.9.1(@types/node@18.18.9)(typescript@5.2.2) @@ -2479,6 +2479,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.18.6 + dev: true /@babel/code-frame@7.22.13: resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} @@ -2486,7 +2487,6 @@ packages: dependencies: '@babel/highlight': 7.22.20 chalk: 2.4.2 - dev: true /@babel/compat-data@7.21.7: resolution: {integrity: sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==} @@ -2627,11 +2627,11 @@ packages: /@babel/helper-validator-identifier@7.19.1: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-validator-identifier@7.22.20: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-validator-option@7.21.0: resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} @@ -2656,6 +2656,7 @@ packages: '@babel/helper-validator-identifier': 7.19.1 chalk: 2.4.2 js-tokens: 4.0.0 + dev: true /@babel/highlight@7.22.20: resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} @@ -2664,7 +2665,6 @@ packages: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 - dev: true /@babel/parser@7.21.8: resolution: {integrity: sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==} @@ -2815,7 +2815,7 @@ packages: resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.21.4 + '@babel/code-frame': 7.22.13 '@babel/parser': 7.21.8 '@babel/types': 7.21.5 dev: true @@ -3054,6 +3054,16 @@ packages: dependencies: '@jridgewell/trace-mapping': 0.3.9 + /@effect/schema@0.56.1(effect@2.0.0-next.62)(fast-check@3.15.0): + resolution: {integrity: sha512-cfEyHLXPdzSKzJU/yYrPjFd0iVHPydh+NT0sgTe4bzXbcvOsKZuvQ86cAAwXN7lxY0N5cPes9ACxUxTdkEaNlw==} + peerDependencies: + effect: 2.0.0-next.62 + fast-check: ^3.13.2 + dependencies: + effect: 2.0.0-next.62 + fast-check: 3.15.0 + dev: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.39.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6575,6 +6585,11 @@ packages: engines: {node: '>=14'} dev: true + /commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} + dev: true + /commander@2.1.0: resolution: {integrity: sha512-J2wnb6TKniXNOtoHS8TSrG9IOQluPrsmyAJ8oCUJOBmv+uLBCyPYAZkD2jFvw2DCzIXNnISIM01NIvr35TkBMQ==} engines: {node: '>= 0.6.x'} @@ -6866,6 +6881,22 @@ packages: path-type: 4.0.0 dev: true + /cosmiconfig@9.0.0(typescript@5.2.2): + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + typescript: 5.2.2 + dev: true + /create-jest@29.7.0(@types/node@18.18.9)(ts-node@10.9.1): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -7223,7 +7254,7 @@ packages: dependencies: semver: 7.5.4 shelljs: 0.8.5 - typescript: 5.4.0-dev.20240107 + typescript: 5.4.0-dev.20240128 dev: true /duplexer2@0.0.2: @@ -7258,6 +7289,10 @@ packages: safer-buffer: 2.1.2 dev: true + /effect@2.0.0-next.62: + resolution: {integrity: sha512-fJhLzf5oouL4WZP314ZJgZz5Bel7OHTY+YFxO06sW1mSvqJz0s28y7jDHr5zhtTNM1YRvzbeLYUYfNaJYKqx1A==} + dev: true + /ejs@3.1.9: resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} engines: {node: '>=0.10.0'} @@ -7317,6 +7352,14 @@ packages: ansi-colors: 4.1.3 dev: true + /enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + dev: true + /entities@2.0.3: resolution: {integrity: sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==} dev: true @@ -7814,6 +7857,13 @@ packages: engines: {'0': node >=0.6.0} dev: true + /fast-check@3.15.0: + resolution: {integrity: sha512-iBz6c+EXL6+nI931x/sbZs1JYTZtLG6Cko0ouS8LRTikhDR7+wZk4TYzdRavlnByBs2G6+nuuJ7NYL9QplNt8Q==} + engines: {node: '>=8.0.0'} + dependencies: + pure-rand: 6.0.2 + dev: true + /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -8763,6 +8813,13 @@ packages: dependencies: lru-cache: 7.18.3 + /hosted-git-info@7.0.1: + resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + lru-cache: 10.2.0 + dev: true + /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true @@ -10559,6 +10616,11 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} + dev: true + /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -11316,6 +11378,16 @@ packages: validate-npm-package-name: 5.0.0 dev: true + /npm-package-arg@11.0.1: + resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + hosted-git-info: 7.0.1 + proc-log: 3.0.0 + semver: 7.5.4 + validate-npm-package-name: 5.0.0 + dev: true + /npm-package-arg@8.1.1: resolution: {integrity: sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg==} engines: {node: '>=10'} @@ -11996,7 +12068,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.21.4 + '@babel/code-frame': 7.22.13 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -12970,14 +13042,6 @@ packages: lru-cache: 6.0.0 dev: true - /semver@7.5.0: - resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /semver@7.5.3: resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} engines: {node: '>=10'} @@ -13539,21 +13603,29 @@ packages: xml-reader: 2.4.3 dev: false - /syncpack@9.8.6: - resolution: {integrity: sha512-4S4cUoKK9WenA/Wdk9GvlekzPR9PxC7sqcsUIsK4ypsa/pIYv8Ju1vxGNvp6Y1yI2S9EdCk0QJsB3/wRB8XYVw==} - engines: {node: '>=14'} + /syncpack@12.3.0(typescript@5.2.2): + resolution: {integrity: sha512-Gz2uGn96OmGfVVlKztvFac1EJYjP+WptQ2ohA6Uf48C6qLkhSayhkdujKQ6q7bGOTy8HSGI0iDfwfCJu6wvRig==} + engines: {node: '>=16'} hasBin: true dependencies: + '@effect/schema': 0.56.1(effect@2.0.0-next.62)(fast-check@3.15.0) chalk: 4.1.2 - commander: 10.0.1 - cosmiconfig: 8.1.3 - fs-extra: 11.1.1 - glob: 8.1.0 - minimatch: 6.2.0 + commander: 11.1.0 + cosmiconfig: 9.0.0(typescript@5.2.2) + effect: 2.0.0-next.62 + enquirer: 2.4.1 + fast-check: 3.15.0 + globby: 11.1.0 + minimatch: 9.0.3 + npm-package-arg: 11.0.1 + ora: 5.4.1 + prompts: 2.4.2 read-yaml-file: 2.1.0 - semver: 7.5.0 + semver: 7.5.4 tightrope: 0.1.0 - zod: 3.21.4 + ts-toolbelt: 9.6.0 + transitivePeerDependencies: + - typescript dev: true /table-layout@1.0.2: @@ -13914,6 +13986,10 @@ packages: yn: 3.1.1 dev: true + /ts-toolbelt@9.6.0: + resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==} + dev: true + /tsconfig-paths@3.14.2: resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} dependencies: @@ -14092,8 +14168,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - /typescript@5.4.0-dev.20240107: - resolution: {integrity: sha512-6EfwZFaO82JLhOUsgQ3+c4lHuYS4WAQ6xBC767qWwJGf7BKYYeSFUkSptSkNhWOdeCEhdooudx22mkU8LphAPg==} + /typescript@5.4.0-dev.20240128: + resolution: {integrity: sha512-SfSvvhZKrpjP/LSfkjpg/VUFMXElCXEtU7SzfHoPph8e3PBlbjZlQdLczkEr95M7wj8V/iiXWyqAoPuQ6nuI4A==} engines: {node: '>=14.17'} hasBin: true dev: true @@ -14665,7 +14741,3 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} dev: true - - /zod@3.21.4: - resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} - dev: true diff --git a/projenrc/projects/pdk-monorepo-project.ts b/projenrc/projects/pdk-monorepo-project.ts index 89990e703..3af9fe2f3 100644 --- a/projenrc/projects/pdk-monorepo-project.ts +++ b/projenrc/projects/pdk-monorepo-project.ts @@ -2,7 +2,7 @@ SPDX-License-Identifier: Apache-2.0 */ import { Project } from "projen"; import { NodePackageManager, NodeProject } from "projen/lib/javascript"; -import { MonorepoTsProject, DEFAULT_CONFIG } from "../../packages/monorepo/src"; +import { MonorepoTsProject, Syncpack } from "../../packages/monorepo/src"; import { PDK_NAMESPACE } from "../abstract/pdk-project"; const HEADER_RULE = { @@ -47,7 +47,10 @@ export class PDKMonorepoProject extends MonorepoTsProject { "@jsii/spec", ], monorepoUpgradeDepsOptions: { - syncpackConfig: { ...DEFAULT_CONFIG, workspace: false }, + syncpackConfig: { + ...Syncpack.DEFAULT_CONFIG, + dependencyTypes: ["!local"], + }, }, deps: [ "fast-xml-parser",