@jakubmazanec/carson 1.2.1-unstable.f30f9e4 → 1.2.1

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../source/workspace/WorkspaceDependencies.ts"],
4
- "sourcesContent": ["// TODO: try to fix\n/* eslint-disable complexity -- TODO */\nimport _ from 'lodash';\nimport semver from 'semver';\n\nimport {compareSemver, compareWorkspaceDependencyProjectName} from './internals.js';\nimport {type Workspace} from './Workspace.js';\nimport {type WorkspaceDependenciesFromWorkspaceOptions} from './WorkspaceDependenciesFromWorkspaceOptions.js';\nimport {type WorkspaceDependenciesGetVersionsOptions} from './WorkspaceDependenciesGetVersionsOptions.js';\nimport {type WorkspaceDependency} from './WorkspaceDependency.js';\n\n/**\n * A collection of {@link WorkspaceDependency | workspace dependencies} that are installed in {@link Workspace | a workspace}.\n */\nexport class WorkspaceDependencies<M extends boolean = true> extends Array<WorkspaceDependency> {\n /** The workspace the dependencies are installed in. */\n workspace: Workspace<M>;\n\n constructor(...args: [...WorkspaceDependency[], Workspace<M>]) {\n super();\n\n if (args.length === 1) {\n [this.workspace] = args as [Workspace<M>];\n } else {\n let values = args.slice(0, -1) as WorkspaceDependency[];\n let workspace = args.at(-1) as Workspace<M>;\n\n this.push(...values);\n\n this.workspace = workspace;\n }\n }\n\n /**\n * Adds one or more new dependencies.\n *\n * @param newWorkspaceDependencies The dependencies to add.\n * @returns The new length of the collection.\n */\n override push(...newWorkspaceDependencies: WorkspaceDependency[]): number {\n for (let newWorkspaceDependency of newWorkspaceDependencies) {\n let doesExist = false;\n\n for (let workspaceDependency of this) {\n if (workspaceDependency.name === newWorkspaceDependency.name) {\n doesExist = true;\n\n workspaceDependency.versions = _.union(\n workspaceDependency.versions,\n newWorkspaceDependency.versions,\n );\n workspaceDependency.exactVersions = _.union(\n workspaceDependency.exactVersions,\n newWorkspaceDependency.exactVersions,\n );\n workspaceDependency.projects = _.unionWith(\n workspaceDependency.projects,\n newWorkspaceDependency.projects,\n (a, b) => a.name === b.name,\n );\n\n workspaceDependency.versions.sort(compareSemver);\n workspaceDependency.exactVersions.sort(compareSemver);\n workspaceDependency.projects.sort(compareWorkspaceDependencyProjectName);\n }\n }\n\n if (!doesExist) {\n super.push(newWorkspaceDependency);\n }\n }\n\n return this.length;\n }\n\n /**\n * Creates new {@link WorkspaceDependencies} instance from a {@link Workspace} instance and its dependencies.\n *\n * @param workspace The workspace from which the dependnecies are taken.\n * @param options Options.\n * @returns The new {@link WorkspaceDependencies} instance.\n */\n static fromWorkspace<M extends boolean = true>(\n workspace: Workspace<M>,\n options?: WorkspaceDependenciesFromWorkspaceOptions,\n ) {\n let workspaceDependencies: WorkspaceDependency[] = [];\n\n if (options?.includeWorkspaceDependencies) {\n for (let [dependencyName, dependencyVersion] of Object.entries({\n ...workspace.packageJson?.dependencies,\n ...workspace.packageJson?.devDependencies,\n })) {\n let exactDependencyVersion =\n semver.validRange(dependencyVersion) ?\n semver.minVersion(dependencyVersion)?.format() ??\n semver.coerce(dependencyVersion)?.format() ??\n dependencyVersion.trim()\n : dependencyVersion.trim();\n\n let workspaceDependency: WorkspaceDependency = {\n name: dependencyName,\n versions: [dependencyVersion],\n exactVersions: [exactDependencyVersion],\n projects: [],\n };\n\n workspaceDependencies.push(workspaceDependency);\n }\n }\n\n for (let project of workspace.projects) {\n if (!options?.includeOnlyDevDependencies) {\n for (let [dependencyName, dependencyVersion] of Object.entries(\n project.packageJson.dependencies ?? {},\n )) {\n let exactDependencyVersion =\n semver.validRange(dependencyVersion) ?\n semver.minVersion(dependencyVersion)?.format() ??\n semver.coerce(dependencyVersion)?.format() ??\n dependencyVersion.trim()\n : dependencyVersion.trim();\n\n let workspaceDependency: WorkspaceDependency = {\n name: dependencyName,\n versions: [dependencyVersion],\n exactVersions: [exactDependencyVersion],\n projects: [],\n };\n\n if (project.name) {\n workspaceDependency.projects = [\n {\n name: project.name,\n version: dependencyVersion,\n exactVersion: exactDependencyVersion,\n },\n ];\n }\n\n workspaceDependencies.push(workspaceDependency);\n }\n }\n\n if (options?.includeDevDependencies || options?.includeOnlyDevDependencies) {\n for (let [dependencyName, dependencyVersion] of Object.entries(\n project.packageJson.devDependencies ?? {},\n )) {\n let exactDependencyVersion =\n semver.validRange(dependencyVersion) ?\n semver.minVersion(dependencyVersion)?.format() ??\n semver.coerce(dependencyVersion)?.format() ??\n dependencyVersion.trim()\n : dependencyVersion.trim();\n\n let workspaceDependency: WorkspaceDependency = {\n name: dependencyName,\n versions: [dependencyVersion],\n exactVersions: [exactDependencyVersion],\n projects: [],\n };\n\n if (project.name) {\n workspaceDependency.projects = [\n {\n name: project.name,\n version: dependencyVersion,\n exactVersion: exactDependencyVersion,\n },\n ];\n }\n\n workspaceDependencies.push(workspaceDependency);\n }\n }\n }\n\n return new this(...workspaceDependencies, workspace);\n }\n\n /**\n * Creates map of all dependnecies and their installed version.\n *\n * @param options Options.\n * @returns Object whose keys are dependency names and values are sorted versions.\n */\n getVersions(options?: WorkspaceDependenciesGetVersionsOptions) {\n let versions: Record<string, string[]> = {};\n\n for (let dependency of this) {\n versions[dependency.name] =\n options?.useExactVersions ? dependency.exactVersions : dependency.versions;\n }\n\n return versions;\n }\n}\n"],
5
- "mappings": ";AAEA,OAAO,OAAO;AACd,OAAO,YAAY;AAEnB,SAAQ,eAAe,6CAA4C;AAS5D,aAAM,8BAAwD,MAA2B;AAAA;AAAA,EAE9F;AAAA,EAEA,eAAe,MAAgD;AAC7D,UAAM;AAEN,QAAI,KAAK,WAAW,GAAG;AACrB,OAAC,KAAK,SAAS,IAAI;AAAA,IACrB,OAAO;AACL,UAAI,SAAS,KAAK,MAAM,GAAG,EAAE;AAC7B,UAAI,YAAY,KAAK,GAAG,EAAE;AAE1B,WAAK,KAAK,GAAG,MAAM;AAEnB,WAAK,YAAY;AAAA,IACnB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQS,QAAQ,0BAAyD;AACxE,aAAS,0BAA0B,0BAA0B;AAC3D,UAAI,YAAY;AAEhB,eAAS,uBAAuB,MAAM;AACpC,YAAI,oBAAoB,SAAS,uBAAuB,MAAM;AAC5D,sBAAY;AAEZ,8BAAoB,WAAW,EAAE;AAAA,YAC/B,oBAAoB;AAAA,YACpB,uBAAuB;AAAA,UACzB;AACA,8BAAoB,gBAAgB,EAAE;AAAA,YACpC,oBAAoB;AAAA,YACpB,uBAAuB;AAAA,UACzB;AACA,8BAAoB,WAAW,EAAE;AAAA,YAC/B,oBAAoB;AAAA,YACpB,uBAAuB;AAAA,YACvB,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE;AAAA,UACzB;AAEA,8BAAoB,SAAS,KAAK,aAAa;AAC/C,8BAAoB,cAAc,KAAK,aAAa;AACpD,8BAAoB,SAAS,KAAK,qCAAqC;AAAA,QACzE;AAAA,MACF;AAEA,UAAI,CAAC,WAAW;AACd,cAAM,KAAK,sBAAsB;AAAA,MACnC;AAAA,IACF;AAEA,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,OAAO,cACL,WACA,SACA;AACA,QAAI,wBAA+C,CAAC;AAEpD,QAAI,SAAS,8BAA8B;AACzC,eAAS,CAAC,gBAAgB,iBAAiB,KAAK,OAAO,QAAQ;AAAA,QAC7D,GAAG,UAAU,aAAa;AAAA,QAC1B,GAAG,UAAU,aAAa;AAAA,MAC5B,CAAC,GAAG;AACF,YAAI,yBACF,OAAO,WAAW,iBAAiB,IACjC,OAAO,WAAW,iBAAiB,GAAG,OAAO,KAC7C,OAAO,OAAO,iBAAiB,GAAG,OAAO,KACzC,kBAAkB,KAAK,IACvB,kBAAkB,KAAK;AAE3B,YAAI,sBAA2C;AAAA,UAC7C,MAAM;AAAA,UACN,UAAU,CAAC,iBAAiB;AAAA,UAC5B,eAAe,CAAC,sBAAsB;AAAA,UACtC,UAAU,CAAC;AAAA,QACb;AAEA,8BAAsB,KAAK,mBAAmB;AAAA,MAChD;AAAA,IACF;AAEA,aAAS,WAAW,UAAU,UAAU;AACtC,UAAI,CAAC,SAAS,4BAA4B;AACxC,iBAAS,CAAC,gBAAgB,iBAAiB,KAAK,OAAO;AAAA,UACrD,QAAQ,YAAY,gBAAgB,CAAC;AAAA,QACvC,GAAG;AACD,cAAI,yBACF,OAAO,WAAW,iBAAiB,IACjC,OAAO,WAAW,iBAAiB,GAAG,OAAO,KAC7C,OAAO,OAAO,iBAAiB,GAAG,OAAO,KACzC,kBAAkB,KAAK,IACvB,kBAAkB,KAAK;AAE3B,cAAI,sBAA2C;AAAA,YAC7C,MAAM;AAAA,YACN,UAAU,CAAC,iBAAiB;AAAA,YAC5B,eAAe,CAAC,sBAAsB;AAAA,YACtC,UAAU,CAAC;AAAA,UACb;AAEA,cAAI,QAAQ,MAAM;AAChB,gCAAoB,WAAW;AAAA,cAC7B;AAAA,gBACE,MAAM,QAAQ;AAAA,gBACd,SAAS;AAAA,gBACT,cAAc;AAAA,cAChB;AAAA,YACF;AAAA,UACF;AAEA,gCAAsB,KAAK,mBAAmB;AAAA,QAChD;AAAA,MACF;AAEA,UAAI,SAAS,0BAA0B,SAAS,4BAA4B;AAC1E,iBAAS,CAAC,gBAAgB,iBAAiB,KAAK,OAAO;AAAA,UACrD,QAAQ,YAAY,mBAAmB,CAAC;AAAA,QAC1C,GAAG;AACD,cAAI,yBACF,OAAO,WAAW,iBAAiB,IACjC,OAAO,WAAW,iBAAiB,GAAG,OAAO,KAC7C,OAAO,OAAO,iBAAiB,GAAG,OAAO,KACzC,kBAAkB,KAAK,IACvB,kBAAkB,KAAK;AAE3B,cAAI,sBAA2C;AAAA,YAC7C,MAAM;AAAA,YACN,UAAU,CAAC,iBAAiB;AAAA,YAC5B,eAAe,CAAC,sBAAsB;AAAA,YACtC,UAAU,CAAC;AAAA,UACb;AAEA,cAAI,QAAQ,MAAM;AAChB,gCAAoB,WAAW;AAAA,cAC7B;AAAA,gBACE,MAAM,QAAQ;AAAA,gBACd,SAAS;AAAA,gBACT,cAAc;AAAA,cAChB;AAAA,YACF;AAAA,UACF;AAEA,gCAAsB,KAAK,mBAAmB;AAAA,QAChD;AAAA,MACF;AAAA,IACF;AAEA,WAAO,IAAI,KAAK,GAAG,uBAAuB,SAAS;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,YAAY,SAAmD;AAC7D,QAAI,WAAqC,CAAC;AAE1C,aAAS,cAAc,MAAM;AAC3B,eAAS,WAAW,IAAI,IACtB,SAAS,mBAAmB,WAAW,gBAAgB,WAAW;AAAA,IACtE;AAEA,WAAO;AAAA,EACT;AACF;",
4
+ "sourcesContent": ["// TODO: try to fix\n/* eslint-disable complexity -- TODO */\nimport _ from 'lodash';\nimport semver from 'semver';\n\nimport {compareSemver, compareWorkspaceDependencyProjectName} from './internals.js';\nimport {type Workspace} from './Workspace.js';\nimport {type WorkspaceDependenciesFromWorkspaceOptions} from './WorkspaceDependenciesFromWorkspaceOptions.js';\nimport {type WorkspaceDependenciesGetVersionsOptions} from './WorkspaceDependenciesGetVersionsOptions.js';\nimport {type WorkspaceDependency} from './WorkspaceDependency.js';\n\n/**\n * A collection of {@link WorkspaceDependency | workspace dependencies} that are installed in {@link Workspace | a workspace}.\n */\nexport class WorkspaceDependencies<M extends boolean = true> extends Array<WorkspaceDependency> {\n /** The workspace the dependencies are installed in. */\n workspace: Workspace<M>;\n\n constructor(...args: [...WorkspaceDependency[], Workspace<M>]) {\n super();\n\n if (args.length === 1) {\n [this.workspace] = args as [Workspace<M>];\n } else {\n let values = args.slice(0, -1) as WorkspaceDependency[];\n let workspace = args.at(-1) as Workspace<M>;\n\n this.push(...values);\n\n this.workspace = workspace;\n }\n }\n\n /**\n * Adds one or more new dependencies.\n *\n * @param newWorkspaceDependencies The dependencies to add.\n * @returns The new length of the collection.\n */\n override push(...newWorkspaceDependencies: WorkspaceDependency[]): number {\n for (let newWorkspaceDependency of newWorkspaceDependencies) {\n let doesExist = false;\n\n for (let workspaceDependency of this) {\n if (workspaceDependency.name === newWorkspaceDependency.name) {\n doesExist = true;\n\n workspaceDependency.versions = _.union(\n workspaceDependency.versions,\n newWorkspaceDependency.versions,\n );\n workspaceDependency.exactVersions = _.union(\n workspaceDependency.exactVersions,\n newWorkspaceDependency.exactVersions,\n );\n workspaceDependency.projects = _.unionWith(\n workspaceDependency.projects,\n newWorkspaceDependency.projects,\n (a, b) => a.name === b.name,\n );\n\n workspaceDependency.versions.sort(compareSemver);\n workspaceDependency.exactVersions.sort(compareSemver);\n workspaceDependency.projects.sort(compareWorkspaceDependencyProjectName);\n }\n }\n\n if (!doesExist) {\n super.push(newWorkspaceDependency);\n }\n }\n\n return this.length;\n }\n\n /**\n * Creates new {@link WorkspaceDependencies} instance from a {@link Workspace} instance and its dependencies.\n *\n * @param workspace The workspace from which the dependnecies are taken.\n * @param options Options.\n * @returns The new {@link WorkspaceDependencies} instance.\n */\n static fromWorkspace<M extends boolean = true>(\n workspace: Workspace<M>,\n options?: WorkspaceDependenciesFromWorkspaceOptions,\n ) {\n let workspaceDependencies: WorkspaceDependency[] = [];\n\n if (options?.includeWorkspaceDependencies) {\n for (let [dependencyName, dependencyVersion] of Object.entries({\n ...workspace.packageJson?.dependencies,\n ...workspace.packageJson?.devDependencies,\n })) {\n let exactDependencyVersion =\n semver.validRange(dependencyVersion) ?\n (semver.minVersion(dependencyVersion)?.format() ??\n semver.coerce(dependencyVersion)?.format() ??\n dependencyVersion.trim())\n : dependencyVersion.trim();\n\n let workspaceDependency: WorkspaceDependency = {\n name: dependencyName,\n versions: [dependencyVersion],\n exactVersions: [exactDependencyVersion],\n projects: [],\n };\n\n workspaceDependencies.push(workspaceDependency);\n }\n }\n\n for (let project of workspace.projects) {\n if (!options?.includeOnlyDevDependencies) {\n for (let [dependencyName, dependencyVersion] of Object.entries(\n project.packageJson.dependencies ?? {},\n )) {\n let exactDependencyVersion =\n semver.validRange(dependencyVersion) ?\n (semver.minVersion(dependencyVersion)?.format() ??\n semver.coerce(dependencyVersion)?.format() ??\n dependencyVersion.trim())\n : dependencyVersion.trim();\n\n let workspaceDependency: WorkspaceDependency = {\n name: dependencyName,\n versions: [dependencyVersion],\n exactVersions: [exactDependencyVersion],\n projects: [],\n };\n\n if (project.name) {\n workspaceDependency.projects = [\n {\n name: project.name,\n version: dependencyVersion,\n exactVersion: exactDependencyVersion,\n },\n ];\n }\n\n workspaceDependencies.push(workspaceDependency);\n }\n }\n\n if (options?.includeDevDependencies || options?.includeOnlyDevDependencies) {\n for (let [dependencyName, dependencyVersion] of Object.entries(\n project.packageJson.devDependencies ?? {},\n )) {\n let exactDependencyVersion =\n semver.validRange(dependencyVersion) ?\n (semver.minVersion(dependencyVersion)?.format() ??\n semver.coerce(dependencyVersion)?.format() ??\n dependencyVersion.trim())\n : dependencyVersion.trim();\n\n let workspaceDependency: WorkspaceDependency = {\n name: dependencyName,\n versions: [dependencyVersion],\n exactVersions: [exactDependencyVersion],\n projects: [],\n };\n\n if (project.name) {\n workspaceDependency.projects = [\n {\n name: project.name,\n version: dependencyVersion,\n exactVersion: exactDependencyVersion,\n },\n ];\n }\n\n workspaceDependencies.push(workspaceDependency);\n }\n }\n }\n\n return new this(...workspaceDependencies, workspace);\n }\n\n /**\n * Creates map of all dependnecies and their installed version.\n *\n * @param options Options.\n * @returns Object whose keys are dependency names and values are sorted versions.\n */\n getVersions(options?: WorkspaceDependenciesGetVersionsOptions) {\n let versions: Record<string, string[]> = {};\n\n for (let dependency of this) {\n versions[dependency.name] =\n options?.useExactVersions ? dependency.exactVersions : dependency.versions;\n }\n\n return versions;\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../source/workspace/internals/compareSemver.ts"],
4
- "sourcesContent": ["import semver from 'semver';\n\n/**\n * Defines sort order between two SemVer strings.\n *\n * @param a The first SemVer string.\n * @param b The second SemvEr string.\n * @returns Number whose positivity indicates the relative order of the two elements.\n */\nexport function compareSemver(a: string, b: string) {\n let firstSemver =\n semver.validRange(a) ?\n semver.minVersion(a)?.format() ?? semver.coerce(a)?.format() ?? '0.0.0'\n : '0.0.0';\n let secondSemver =\n semver.validRange(b) ?\n semver.minVersion(b)?.format() ?? semver.coerce(b)?.format() ?? '0.0.0'\n : '0.0.0';\n\n let comparison = semver.compare(firstSemver, secondSemver);\n\n if (comparison === 0 && (a !== firstSemver || b !== secondSemver)) {\n if (a !== firstSemver && b !== secondSemver) {\n return b.localeCompare(a);\n }\n\n if (a !== firstSemver) {\n return 1;\n }\n\n if (b !== secondSemver) {\n return -1;\n }\n }\n\n return comparison;\n}\n"],
5
- "mappings": ";AAAA,OAAO,YAAY;AASZ,gBAAS,cAAc,GAAW,GAAW;AAClD,MAAI,cACF,OAAO,WAAW,CAAC,IACjB,OAAO,WAAW,CAAC,GAAG,OAAO,KAAK,OAAO,OAAO,CAAC,GAAG,OAAO,KAAK,UAChE;AACJ,MAAI,eACF,OAAO,WAAW,CAAC,IACjB,OAAO,WAAW,CAAC,GAAG,OAAO,KAAK,OAAO,OAAO,CAAC,GAAG,OAAO,KAAK,UAChE;AAEJ,MAAI,aAAa,OAAO,QAAQ,aAAa,YAAY;AAEzD,MAAI,eAAe,MAAM,MAAM,eAAe,MAAM,eAAe;AACjE,QAAI,MAAM,eAAe,MAAM,cAAc;AAC3C,aAAO,EAAE,cAAc,CAAC;AAAA,IAC1B;AAEA,QAAI,MAAM,aAAa;AACrB,aAAO;AAAA,IACT;AAEA,QAAI,MAAM,cAAc;AACtB,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;",
4
+ "sourcesContent": ["import semver from 'semver';\n\n/**\n * Defines sort order between two SemVer strings.\n *\n * @param a The first SemVer string.\n * @param b The second SemvEr string.\n * @returns Number whose positivity indicates the relative order of the two elements.\n */\nexport function compareSemver(a: string, b: string) {\n let firstSemver =\n semver.validRange(a) ?\n (semver.minVersion(a)?.format() ?? semver.coerce(a)?.format() ?? '0.0.0')\n : '0.0.0';\n let secondSemver =\n semver.validRange(b) ?\n (semver.minVersion(b)?.format() ?? semver.coerce(b)?.format() ?? '0.0.0')\n : '0.0.0';\n\n let comparison = semver.compare(firstSemver, secondSemver);\n\n if (comparison === 0 && (a !== firstSemver || b !== secondSemver)) {\n if (a !== firstSemver && b !== secondSemver) {\n return b.localeCompare(a);\n }\n\n if (a !== firstSemver) {\n return 1;\n }\n\n if (b !== secondSemver) {\n return -1;\n }\n }\n\n return comparison;\n}\n"],
5
+ "mappings": ";AAAA,OAAO,YAAY;AASZ,gBAAS,cAAc,GAAW,GAAW;AAClD,MAAI,cACF,OAAO,WAAW,CAAC,IAChB,OAAO,WAAW,CAAC,GAAG,OAAO,KAAK,OAAO,OAAO,CAAC,GAAG,OAAO,KAAK,UACjE;AACJ,MAAI,eACF,OAAO,WAAW,CAAC,IAChB,OAAO,WAAW,CAAC,GAAG,OAAO,KAAK,OAAO,OAAO,CAAC,GAAG,OAAO,KAAK,UACjE;AAEJ,MAAI,aAAa,OAAO,QAAQ,aAAa,YAAY;AAEzD,MAAI,eAAe,MAAM,MAAM,eAAe,MAAM,eAAe;AACjE,QAAI,MAAM,eAAe,MAAM,cAAc;AAC3C,aAAO,EAAE,cAAc,CAAC;AAAA,IAC1B;AAEA,QAAI,MAAM,aAAa;AACrB,aAAO;AAAA,IACT;AAEA,QAAI,MAAM,cAAc;AACtB,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jakubmazanec/carson",
3
- "version": "1.2.1-unstable.f30f9e4",
3
+ "version": "1.2.1",
4
4
  "description": "Tool for managing workspace and project configuration.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -32,33 +32,33 @@
32
32
  "typecheck": "tsc --project tsconfig.typecheck.json"
33
33
  },
34
34
  "dependencies": {
35
- "@jakubmazanec/args": "2.0.4-unstable.f30f9e4",
36
- "@jakubmazanec/cli": "0.3.4-unstable.f30f9e4",
37
- "@jakubmazanec/error": "3.0.4-unstable.f30f9e4",
38
- "@jakubmazanec/fs-utils": "0.2.4-unstable.f30f9e4",
39
- "@jakubmazanec/template": "2.0.4-unstable.f30f9e4",
40
- "@jakubmazanec/ts-utils": "3.0.4-unstable.f30f9e4",
41
- "@jakubmazanec/zod-utils": "2.0.4-unstable.f30f9e4",
35
+ "@jakubmazanec/args": "^2.0.0",
36
+ "@jakubmazanec/cli": "^0.3.0",
37
+ "@jakubmazanec/error": "^3.0.0",
38
+ "@jakubmazanec/fs-utils": "^0.2.0",
39
+ "@jakubmazanec/template": "^2.0.0",
40
+ "@jakubmazanec/ts-utils": "^3.0.0",
41
+ "@jakubmazanec/zod-utils": "^2.0.0",
42
42
  "chalk": "^5.3.0",
43
43
  "fast-glob": "^3.3.2",
44
44
  "fflate": "^0.8.2",
45
45
  "fs-extra": "^11.2.0",
46
46
  "json5": "^2.2.3",
47
47
  "lodash": "^4.17.21",
48
- "micromatch": "^4.0.7",
49
- "prettier": "^3.3.0",
48
+ "micromatch": "^4.0.8",
49
+ "prettier": "^3.3.3",
50
50
  "prettier-plugin-packagejson": "^2.5.3",
51
- "semver": "^7.6.2",
51
+ "semver": "^7.6.3",
52
52
  "simple-git": "^3.27.0",
53
- "yaml": "^2.4.3",
53
+ "yaml": "^2.6.0",
54
54
  "zen-observable": "^0.10.0",
55
55
  "zod": "^3.23.8"
56
56
  },
57
57
  "devDependencies": {
58
- "@jakubmazanec/eslint-config": "3.3.2-unstable.f30f9e4",
58
+ "@jakubmazanec/eslint-config": "^3.2.0",
59
59
  "@types/fs-extra": "^11.0.4",
60
- "@types/lodash": "^4.14.202",
61
- "@types/micromatch": "^4.0.7",
60
+ "@types/lodash": "^4.17.13",
61
+ "@types/micromatch": "^4.0.9",
62
62
  "@types/node": "^22.9.0",
63
63
  "@types/react": "^18.2.63",
64
64
  "@types/semver": "^7.5.8",
@@ -66,11 +66,11 @@
66
66
  "@vitest/coverage-v8": "^2.1.4",
67
67
  "concurrently": "^9.1.0",
68
68
  "del-cli": "^6.0.0",
69
- "esbuild": "^0.21.4",
69
+ "esbuild": "^0.24.0",
70
70
  "eslint": "^8.56.0",
71
71
  "ink": "^5.0.1",
72
72
  "lodash": "^4.17.21",
73
- "prettier": "^3.3.0",
73
+ "prettier": "^3.3.3",
74
74
  "prettier-plugin-packagejson": "^2.5.3",
75
75
  "react": "^18.2.0",
76
76
  "ts-node": "^10.9.2",
@@ -93,9 +93,9 @@ export class WorkspaceDependencies<M extends boolean = true> extends Array<Works
93
93
  })) {
94
94
  let exactDependencyVersion =
95
95
  semver.validRange(dependencyVersion) ?
96
- semver.minVersion(dependencyVersion)?.format() ??
96
+ (semver.minVersion(dependencyVersion)?.format() ??
97
97
  semver.coerce(dependencyVersion)?.format() ??
98
- dependencyVersion.trim()
98
+ dependencyVersion.trim())
99
99
  : dependencyVersion.trim();
100
100
 
101
101
  let workspaceDependency: WorkspaceDependency = {
@@ -116,9 +116,9 @@ export class WorkspaceDependencies<M extends boolean = true> extends Array<Works
116
116
  )) {
117
117
  let exactDependencyVersion =
118
118
  semver.validRange(dependencyVersion) ?
119
- semver.minVersion(dependencyVersion)?.format() ??
119
+ (semver.minVersion(dependencyVersion)?.format() ??
120
120
  semver.coerce(dependencyVersion)?.format() ??
121
- dependencyVersion.trim()
121
+ dependencyVersion.trim())
122
122
  : dependencyVersion.trim();
123
123
 
124
124
  let workspaceDependency: WorkspaceDependency = {
@@ -148,9 +148,9 @@ export class WorkspaceDependencies<M extends boolean = true> extends Array<Works
148
148
  )) {
149
149
  let exactDependencyVersion =
150
150
  semver.validRange(dependencyVersion) ?
151
- semver.minVersion(dependencyVersion)?.format() ??
151
+ (semver.minVersion(dependencyVersion)?.format() ??
152
152
  semver.coerce(dependencyVersion)?.format() ??
153
- dependencyVersion.trim()
153
+ dependencyVersion.trim())
154
154
  : dependencyVersion.trim();
155
155
 
156
156
  let workspaceDependency: WorkspaceDependency = {
@@ -10,11 +10,11 @@ import semver from 'semver';
10
10
  export function compareSemver(a: string, b: string) {
11
11
  let firstSemver =
12
12
  semver.validRange(a) ?
13
- semver.minVersion(a)?.format() ?? semver.coerce(a)?.format() ?? '0.0.0'
13
+ (semver.minVersion(a)?.format() ?? semver.coerce(a)?.format() ?? '0.0.0')
14
14
  : '0.0.0';
15
15
  let secondSemver =
16
16
  semver.validRange(b) ?
17
- semver.minVersion(b)?.format() ?? semver.coerce(b)?.format() ?? '0.0.0'
17
+ (semver.minVersion(b)?.format() ?? semver.coerce(b)?.format() ?? '0.0.0')
18
18
  : '0.0.0';
19
19
 
20
20
  let comparison = semver.compare(firstSemver, secondSemver);