@jakubmazanec/carson 3.0.0-unstable.7ea7296c → 3.0.1-next.83951f6f

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.
@@ -64,7 +64,8 @@ export class WorkspaceDependencies extends Array {
64
64
  if (options?.includeWorkspaceDependencies) {
65
65
  for (let [dependencyName, dependencyVersion] of Object.entries({
66
66
  ...workspace.packageJson?.dependencies,
67
- ...workspace.packageJson?.devDependencies
67
+ ...workspace.packageJson?.devDependencies,
68
+ ...workspace.packageJson?.engines
68
69
  })) {
69
70
  let exactDependencyVersion = semver.validRange(dependencyVersion) ? semver.minVersion(dependencyVersion)?.format() ?? semver.coerce(dependencyVersion)?.format() ?? dependencyVersion.trim() : dependencyVersion.trim();
70
71
  let workspaceDependency = {
@@ -78,9 +79,10 @@ export class WorkspaceDependencies extends Array {
78
79
  }
79
80
  for (let project of workspace.projects) {
80
81
  if (!options?.includeOnlyDevDependencies) {
81
- for (let [dependencyName, dependencyVersion] of Object.entries(
82
- project.packageJson.dependencies ?? {}
83
- )) {
82
+ for (let [dependencyName, dependencyVersion] of Object.entries({
83
+ ...project.packageJson.dependencies,
84
+ ...workspace.packageJson?.engines
85
+ })) {
84
86
  let exactDependencyVersion = semver.validRange(dependencyVersion) ? semver.minVersion(dependencyVersion)?.format() ?? semver.coerce(dependencyVersion)?.format() ?? dependencyVersion.trim() : dependencyVersion.trim();
85
87
  let workspaceDependency = {
86
88
  name: dependencyName,
@@ -101,9 +103,9 @@ export class WorkspaceDependencies extends Array {
101
103
  }
102
104
  }
103
105
  if (options?.includeDevDependencies || options?.includeOnlyDevDependencies) {
104
- for (let [dependencyName, dependencyVersion] of Object.entries(
105
- project.packageJson.devDependencies ?? {}
106
- )) {
106
+ for (let [dependencyName, dependencyVersion] of Object.entries({
107
+ ...project.packageJson.devDependencies
108
+ })) {
107
109
  let exactDependencyVersion = semver.validRange(dependencyVersion) ? semver.minVersion(dependencyVersion)?.format() ?? semver.coerce(dependencyVersion)?.format() ?? dependencyVersion.trim() : dependencyVersion.trim();
108
110
  let workspaceDependency = {
109
111
  name: dependencyName,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../source/workspace/WorkspaceDependencies.ts"],
4
- "sourcesContent": ["import _ 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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",
4
+ "sourcesContent": ["import _ 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 ...(workspace.packageJson?.engines as Record<string, string>),\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 ...(workspace.packageJson?.engines as Record<string, string>),\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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jakubmazanec/carson",
3
- "version": "3.0.0-unstable.7ea7296c",
3
+ "version": "3.0.1-next.83951f6f",
4
4
  "description": "Tool for managing workspace and project configuration.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,9 +21,9 @@
21
21
  "source"
22
22
  ],
23
23
  "scripts": {
24
- "build": "del-cli build tsconfig.tsbuildinfo && esbuild \"source/**/*\" --platform=node --target=node24.1 --outdir=build --sourcemap && tsc",
24
+ "build": "del-cli build tsconfig.tsbuildinfo && esbuild \"source/**/*\" --platform=node --target=node24.3 --outdir=build --sourcemap && tsc",
25
25
  "clean": "del-cli coverage build *.tsbuildinfo",
26
- "develop": "concurrently \"esbuild \"source/**/*\" --platform=node --target=node24.1 --outdir=build --sourcemap --watch\" \"tsc --watch\"",
26
+ "develop": "concurrently \"esbuild \"source/**/*\" --platform=node --target=node24.3 --outdir=build --sourcemap --watch\" \"tsc --watch\"",
27
27
  "document": "del-cli docs && typedoc --options typedoc.config.cjs",
28
28
  "format": "prettier . --write --ignore-unknown",
29
29
  "lint": "eslint .",
@@ -32,13 +32,13 @@
32
32
  "typecheck": "tsc --project tsconfig.typecheck.json"
33
33
  },
34
34
  "dependencies": {
35
- "@jakubmazanec/args": "2.0.12-unstable.7ea7296c",
36
- "@jakubmazanec/cli": "0.5.0-unstable.7ea7296c",
37
- "@jakubmazanec/error": "3.0.12-unstable.7ea7296c",
38
- "@jakubmazanec/fs-utils": "0.2.12-unstable.7ea7296c",
39
- "@jakubmazanec/template": "2.0.13-unstable.7ea7296c",
40
- "@jakubmazanec/ts-utils": "3.0.13-unstable.7ea7296c",
41
- "@jakubmazanec/zod-utils": "2.0.12-unstable.7ea7296c",
35
+ "@jakubmazanec/args": "2.0.13-next.83951f6f",
36
+ "@jakubmazanec/cli": "0.5.1-next.83951f6f",
37
+ "@jakubmazanec/error": "3.0.13-next.83951f6f",
38
+ "@jakubmazanec/fs-utils": "0.2.13-next.83951f6f",
39
+ "@jakubmazanec/template": "2.0.14-next.83951f6f",
40
+ "@jakubmazanec/ts-utils": "3.0.14-next.83951f6f",
41
+ "@jakubmazanec/zod-utils": "2.0.13-next.83951f6f",
42
42
  "chalk": "^5.4.1",
43
43
  "fast-glob": "^3.3.3",
44
44
  "fflate": "^0.8.2",
@@ -46,35 +46,35 @@
46
46
  "json5": "^2.2.3",
47
47
  "lodash": "^4.17.21",
48
48
  "micromatch": "^4.0.8",
49
- "prettier": "^3.4.2",
50
- "prettier-plugin-packagejson": "^2.5.8",
51
- "semver": "^7.7.0",
52
- "simple-git": "^3.27.0",
53
- "yaml": "^2.7.0",
49
+ "prettier": "^3.6.0",
50
+ "prettier-plugin-packagejson": "^2.5.15",
51
+ "semver": "^7.7.2",
52
+ "simple-git": "^3.28.0",
53
+ "yaml": "^2.8.0",
54
54
  "zen-observable": "^0.10.0",
55
- "zod": "^3.24.1"
55
+ "zod": "^3.25.67"
56
56
  },
57
57
  "devDependencies": {
58
- "@jakubmazanec/eslint-config": "4.1.6-unstable.7ea7296c",
58
+ "@jakubmazanec/eslint-config": "4.1.7-next.83951f6f",
59
59
  "@types/fs-extra": "^11.0.4",
60
- "@types/lodash": "^4.17.15",
60
+ "@types/lodash": "^4.17.18",
61
61
  "@types/micromatch": "^4.0.9",
62
- "@types/node": "^22.15.21",
63
- "@types/react": "^19.0.8",
64
- "@types/semver": "^7.5.8",
62
+ "@types/node": "^24.0.4",
63
+ "@types/react": "^19.1.8",
64
+ "@types/semver": "^7.7.0",
65
65
  "@types/zen-observable": "^0.8.7",
66
- "@vitest/coverage-v8": "^3.0.4",
67
- "concurrently": "^9.1.2",
66
+ "@vitest/coverage-v8": "^3.2.4",
67
+ "concurrently": "^9.2.0",
68
68
  "del-cli": "^6.0.0",
69
- "esbuild": "^0.24.2",
70
- "eslint": "^9.19.0",
69
+ "esbuild": "^0.25.5",
70
+ "eslint": "^9.29.0",
71
71
  "ink": "^6.0.0",
72
- "react": "^19.0.0",
73
- "tsx": "^4.19.2",
74
- "typedoc": "^0.28.4",
75
- "typedoc-plugin-markdown": "^4.6.3",
76
- "typescript": "^5.7.3",
77
- "vitest": "^3.0.4"
72
+ "react": "^19.1.0",
73
+ "tsx": "^4.20.3",
74
+ "typedoc": "^0.28.5",
75
+ "typedoc-plugin-markdown": "^4.7.0",
76
+ "typescript": "^5.8.3",
77
+ "vitest": "^3.2.4"
78
78
  },
79
79
  "peerDependencies": {
80
80
  "ink": "6.x",
@@ -82,6 +82,7 @@
82
82
  },
83
83
  "packageManager": "npm@11.3.0",
84
84
  "engines": {
85
- "node": "^24.1.0"
85
+ "node": "^24.3.0",
86
+ "npm": "^11.3.0"
86
87
  }
87
88
  }
@@ -88,6 +88,7 @@ export class WorkspaceDependencies<M extends boolean = true> extends Array<Works
88
88
  for (let [dependencyName, dependencyVersion] of Object.entries({
89
89
  ...workspace.packageJson?.dependencies,
90
90
  ...workspace.packageJson?.devDependencies,
91
+ ...(workspace.packageJson?.engines as Record<string, string>),
91
92
  })) {
92
93
  let exactDependencyVersion =
93
94
  semver.validRange(dependencyVersion) ?
@@ -109,9 +110,10 @@ export class WorkspaceDependencies<M extends boolean = true> extends Array<Works
109
110
 
110
111
  for (let project of workspace.projects) {
111
112
  if (!options?.includeOnlyDevDependencies) {
112
- for (let [dependencyName, dependencyVersion] of Object.entries(
113
- project.packageJson.dependencies ?? {},
114
- )) {
113
+ for (let [dependencyName, dependencyVersion] of Object.entries({
114
+ ...project.packageJson.dependencies,
115
+ ...(workspace.packageJson?.engines as Record<string, string>),
116
+ })) {
115
117
  let exactDependencyVersion =
116
118
  semver.validRange(dependencyVersion) ?
117
119
  (semver.minVersion(dependencyVersion)?.format() ??
@@ -141,9 +143,9 @@ export class WorkspaceDependencies<M extends boolean = true> extends Array<Works
141
143
  }
142
144
 
143
145
  if (options?.includeDevDependencies || options?.includeOnlyDevDependencies) {
144
- for (let [dependencyName, dependencyVersion] of Object.entries(
145
- project.packageJson.devDependencies ?? {},
146
- )) {
146
+ for (let [dependencyName, dependencyVersion] of Object.entries({
147
+ ...project.packageJson.devDependencies,
148
+ })) {
147
149
  let exactDependencyVersion =
148
150
  semver.validRange(dependencyVersion) ?
149
151
  (semver.minVersion(dependencyVersion)?.format() ??