@webiny/cli-core 0.0.0-unstable.df7a8bb475 → 6.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/features/DepsSync/BuildDependencyTree.js +2 -2
- package/features/DepsSync/BuildDependencyTree.js.map +1 -1
- package/features/DepsSync/commands/VerifyDepsCommand.js +3 -3
- package/features/DepsSync/commands/VerifyDepsCommand.js.map +1 -1
- package/features/DepsSync/createReferenceFile.js +3 -3
- package/features/DepsSync/createReferenceFile.js.map +1 -1
- package/package.json +8 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DependencyTree } from "./DependencyTree.js";
|
|
2
|
-
import
|
|
2
|
+
import { loadJsonFileSync } from "load-json-file";
|
|
3
3
|
export class BuildDependencyTree {
|
|
4
4
|
build(params) {
|
|
5
5
|
const {
|
|
@@ -10,7 +10,7 @@ export class BuildDependencyTree {
|
|
|
10
10
|
const tree = new DependencyTree();
|
|
11
11
|
for (const file of files) {
|
|
12
12
|
try {
|
|
13
|
-
const json =
|
|
13
|
+
const json = loadJsonFileSync(file);
|
|
14
14
|
tree.push({
|
|
15
15
|
file: file.replace(basePath, ""),
|
|
16
16
|
json,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DependencyTree","
|
|
1
|
+
{"version":3,"names":["DependencyTree","loadJsonFileSync","BuildDependencyTree","build","params","basePath","files","ignore","tree","file","json","push","replace","console","log"],"sources":["BuildDependencyTree.ts"],"sourcesContent":["import type { IDependencyTree } from \"./types.js\";\nimport { DependencyTree } from \"./DependencyTree.js\";\nimport type { PackageJson } from \"type-fest\";\nimport { loadJsonFileSync } from \"load-json-file\";\n\nexport interface IBuildDependencyTreeParams {\n basePath: string;\n files: string[];\n ignore?: RegExp;\n}\n\nexport class BuildDependencyTree {\n public build(params: IBuildDependencyTreeParams): IDependencyTree {\n const { basePath, files, ignore } = params;\n const tree = new DependencyTree();\n for (const file of files) {\n try {\n const json = loadJsonFileSync<PackageJson>(file);\n tree.push({\n file: file.replace(basePath, \"\"),\n json,\n ignore\n });\n } catch {\n console.log(`Failed to load \"${file}\".`);\n }\n }\n return tree;\n }\n}\n"],"mappings":"AACA,SAASA,cAAc;AAEvB,SAASC,gBAAgB,QAAQ,gBAAgB;AAQjD,OAAO,MAAMC,mBAAmB,CAAC;EACtBC,KAAKA,CAACC,MAAkC,EAAmB;IAC9D,MAAM;MAAEC,QAAQ;MAAEC,KAAK;MAAEC;IAAO,CAAC,GAAGH,MAAM;IAC1C,MAAMI,IAAI,GAAG,IAAIR,cAAc,CAAC,CAAC;IACjC,KAAK,MAAMS,IAAI,IAAIH,KAAK,EAAE;MACtB,IAAI;QACA,MAAMI,IAAI,GAAGT,gBAAgB,CAAcQ,IAAI,CAAC;QAChDD,IAAI,CAACG,IAAI,CAAC;UACNF,IAAI,EAAEA,IAAI,CAACG,OAAO,CAACP,QAAQ,EAAE,EAAE,CAAC;UAChCK,IAAI;UACJH;QACJ,CAAC,CAAC;MACN,CAAC,CAAC,MAAM;QACJM,OAAO,CAACC,GAAG,CAAC,mBAAmBL,IAAI,IAAI,CAAC;MAC5C;IACJ;IACA,OAAOD,IAAI;EACf;AACJ","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createImplementation } from "@webiny/di";
|
|
2
2
|
import { CliCommandFactory, GetProjectSdkService, UiService } from "../../../abstractions/index.js";
|
|
3
|
-
import
|
|
3
|
+
import { loadJsonFileSync } from "load-json-file";
|
|
4
4
|
import { getDuplicatesFilePath, getReferencesFilePath } from "../paths.js";
|
|
5
5
|
import fs from "fs";
|
|
6
6
|
import { createDependencyTree } from "../createDependencyTree.js";
|
|
@@ -30,7 +30,7 @@ export class VerifyDepsCommand {
|
|
|
30
30
|
};
|
|
31
31
|
ui.info("Checking references file...");
|
|
32
32
|
if (fs.existsSync(referencesFile)) {
|
|
33
|
-
const json =
|
|
33
|
+
const json = loadJsonFileSync(referencesFile);
|
|
34
34
|
if (JSON.stringify(references) !== JSON.stringify(json)) {
|
|
35
35
|
for (const type in references) {
|
|
36
36
|
const refDependencies = references[type];
|
|
@@ -58,7 +58,7 @@ export class VerifyDepsCommand {
|
|
|
58
58
|
}
|
|
59
59
|
ui.info("Checking duplicates file...");
|
|
60
60
|
if (fs.existsSync(duplicatesFile)) {
|
|
61
|
-
const json =
|
|
61
|
+
const json = loadJsonFileSync(duplicatesFile);
|
|
62
62
|
if (JSON.stringify(tree.duplicates) !== JSON.stringify(json)) {
|
|
63
63
|
throw new Error("Duplicates are not in sync. Please run `yarn webiny sync-dependencies` command.");
|
|
64
64
|
} else if (Array.isArray(json) && json.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createImplementation","CliCommandFactory","GetProjectSdkService","UiService","
|
|
1
|
+
{"version":3,"names":["createImplementation","CliCommandFactory","GetProjectSdkService","UiService","loadJsonFileSync","getDuplicatesFilePath","getReferencesFilePath","fs","createDependencyTree","VerifyDepsCommand","constructor","getProjectSdkService","uiService","execute","name","description","examples","handler","ui","projectSdk","project","getProject","referencesFile","duplicatesFile","tree","references","dependencies","devDependencies","peerDependencies","resolutions","info","existsSync","json","JSON","stringify","type","refDependencies","fileDependencies","dep","refDep","fileDep","console","log","Error","duplicates","Array","isArray","length","verifyDepsCommand","abstraction","implementation"],"sources":["VerifyDepsCommand.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { CliCommandFactory, GetProjectSdkService, UiService } from \"~/abstractions/index.js\";\nimport { loadJsonFileSync } from \"load-json-file\";\nimport { getDuplicatesFilePath, getReferencesFilePath } from \"../paths.js\";\nimport fs from \"fs\";\nimport { createDependencyTree } from \"../createDependencyTree.js\";\nimport type { IDependencyCollection } from \"~/features/DepsSync/types.js\";\n\nexport class VerifyDepsCommand implements CliCommandFactory.Interface<unknown> {\n constructor(\n private getProjectSdkService: GetProjectSdkService.Interface,\n private uiService: UiService.Interface\n ) {}\n\n async execute() {\n return {\n name: \"verify-dependencies\",\n description: \"Verify dependencies for all packages.\",\n examples: [\"$0 verify-dependencies\"],\n handler: async () => {\n const ui = this.uiService;\n const projectSdk = await this.getProjectSdkService.execute();\n const project = projectSdk.getProject();\n const referencesFile = getReferencesFilePath(project);\n const duplicatesFile = getDuplicatesFilePath(project);\n\n const tree = createDependencyTree(project);\n\n const references: IDependencyCollection = {\n dependencies: tree.dependencies,\n devDependencies: tree.devDependencies,\n peerDependencies: tree.peerDependencies,\n resolutions: tree.resolutions,\n references: tree.references\n };\n\n ui.info(\"Checking references file...\");\n\n if (fs.existsSync(referencesFile)) {\n const json = loadJsonFileSync<IDependencyCollection>(referencesFile)!;\n if (JSON.stringify(references) !== JSON.stringify(json)) {\n for (const type in references) {\n const refDependencies = references[type as keyof typeof references];\n const fileDependencies = json[type as keyof typeof json];\n for (const dep in refDependencies) {\n const refDep = refDependencies[dep];\n const fileDep = fileDependencies[dep];\n if (!fileDep) {\n console.log(\"Missing dependency:\", refDep.name, \"in\", type);\n continue;\n }\n if (JSON.stringify(refDep) !== JSON.stringify(fileDep)) {\n console.log(\"Mismatch in dependency:\", refDep.name, \"in\", type);\n console.log({\n refDep: JSON.stringify(refDep),\n fileDep: JSON.stringify(fileDep)\n });\n }\n }\n }\n throw new Error(\n \"References are not in sync. Please run `yarn webiny sync-dependencies` command.\"\n );\n }\n } else {\n throw new Error(\n \"References file does not exist. Please run `yarn webiny sync-dependencies` command.\"\n );\n }\n\n ui.info(\"Checking duplicates file...\");\n\n if (fs.existsSync(duplicatesFile)) {\n const json = loadJsonFileSync(duplicatesFile);\n if (JSON.stringify(tree.duplicates) !== JSON.stringify(json)) {\n throw new Error(\n \"Duplicates are not in sync. Please run `yarn webiny sync-dependencies` command.\"\n );\n } else if (Array.isArray(json) && json.length > 0) {\n throw new Error(\n \"There are still duplicates in the project. Please sort them out and run `yarn webiny sync-dependencies` command to regenerate files.\"\n );\n }\n } else {\n throw new Error(\n \"Duplicates file does not exist. Please run `yarn webiny sync-dependencies` command.\"\n );\n }\n\n ui.info(\"✅ All package reference files are in sync.\");\n }\n };\n }\n}\n\nexport const verifyDepsCommand = createImplementation({\n abstraction: CliCommandFactory,\n implementation: VerifyDepsCommand,\n dependencies: [GetProjectSdkService, UiService]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,YAAY;AACjD,SAASC,iBAAiB,EAAEC,oBAAoB,EAAEC,SAAS;AAC3D,SAASC,gBAAgB,QAAQ,gBAAgB;AACjD,SAASC,qBAAqB,EAAEC,qBAAqB;AACrD,OAAOC,EAAE,MAAM,IAAI;AACnB,SAASC,oBAAoB;AAG7B,OAAO,MAAMC,iBAAiB,CAAiD;EAC3EC,WAAWA,CACCC,oBAAoD,EACpDC,SAA8B,EACxC;IAAA,KAFUD,oBAAoD,GAApDA,oBAAoD;IAAA,KACpDC,SAA8B,GAA9BA,SAA8B;EACvC;EAEH,MAAMC,OAAOA,CAAA,EAAG;IACZ,OAAO;MACHC,IAAI,EAAE,qBAAqB;MAC3BC,WAAW,EAAE,uCAAuC;MACpDC,QAAQ,EAAE,CAAC,wBAAwB,CAAC;MACpCC,OAAO,EAAE,MAAAA,CAAA,KAAY;QACjB,MAAMC,EAAE,GAAG,IAAI,CAACN,SAAS;QACzB,MAAMO,UAAU,GAAG,MAAM,IAAI,CAACR,oBAAoB,CAACE,OAAO,CAAC,CAAC;QAC5D,MAAMO,OAAO,GAAGD,UAAU,CAACE,UAAU,CAAC,CAAC;QACvC,MAAMC,cAAc,GAAGhB,qBAAqB,CAACc,OAAO,CAAC;QACrD,MAAMG,cAAc,GAAGlB,qBAAqB,CAACe,OAAO,CAAC;QAErD,MAAMI,IAAI,GAAGhB,oBAAoB,CAACY,OAAO,CAAC;QAE1C,MAAMK,UAAiC,GAAG;UACtCC,YAAY,EAAEF,IAAI,CAACE,YAAY;UAC/BC,eAAe,EAAEH,IAAI,CAACG,eAAe;UACrCC,gBAAgB,EAAEJ,IAAI,CAACI,gBAAgB;UACvCC,WAAW,EAAEL,IAAI,CAACK,WAAW;UAC7BJ,UAAU,EAAED,IAAI,CAACC;QACrB,CAAC;QAEDP,EAAE,CAACY,IAAI,CAAC,6BAA6B,CAAC;QAEtC,IAAIvB,EAAE,CAACwB,UAAU,CAACT,cAAc,CAAC,EAAE;UAC/B,MAAMU,IAAI,GAAG5B,gBAAgB,CAAwBkB,cAAc,CAAE;UACrE,IAAIW,IAAI,CAACC,SAAS,CAACT,UAAU,CAAC,KAAKQ,IAAI,CAACC,SAAS,CAACF,IAAI,CAAC,EAAE;YACrD,KAAK,MAAMG,IAAI,IAAIV,UAAU,EAAE;cAC3B,MAAMW,eAAe,GAAGX,UAAU,CAACU,IAAI,CAA4B;cACnE,MAAME,gBAAgB,GAAGL,IAAI,CAACG,IAAI,CAAsB;cACxD,KAAK,MAAMG,GAAG,IAAIF,eAAe,EAAE;gBAC/B,MAAMG,MAAM,GAAGH,eAAe,CAACE,GAAG,CAAC;gBACnC,MAAME,OAAO,GAAGH,gBAAgB,CAACC,GAAG,CAAC;gBACrC,IAAI,CAACE,OAAO,EAAE;kBACVC,OAAO,CAACC,GAAG,CAAC,qBAAqB,EAAEH,MAAM,CAACzB,IAAI,EAAE,IAAI,EAAEqB,IAAI,CAAC;kBAC3D;gBACJ;gBACA,IAAIF,IAAI,CAACC,SAAS,CAACK,MAAM,CAAC,KAAKN,IAAI,CAACC,SAAS,CAACM,OAAO,CAAC,EAAE;kBACpDC,OAAO,CAACC,GAAG,CAAC,yBAAyB,EAAEH,MAAM,CAACzB,IAAI,EAAE,IAAI,EAAEqB,IAAI,CAAC;kBAC/DM,OAAO,CAACC,GAAG,CAAC;oBACRH,MAAM,EAAEN,IAAI,CAACC,SAAS,CAACK,MAAM,CAAC;oBAC9BC,OAAO,EAAEP,IAAI,CAACC,SAAS,CAACM,OAAO;kBACnC,CAAC,CAAC;gBACN;cACJ;YACJ;YACA,MAAM,IAAIG,KAAK,CACX,iFACJ,CAAC;UACL;QACJ,CAAC,MAAM;UACH,MAAM,IAAIA,KAAK,CACX,qFACJ,CAAC;QACL;QAEAzB,EAAE,CAACY,IAAI,CAAC,6BAA6B,CAAC;QAEtC,IAAIvB,EAAE,CAACwB,UAAU,CAACR,cAAc,CAAC,EAAE;UAC/B,MAAMS,IAAI,GAAG5B,gBAAgB,CAACmB,cAAc,CAAC;UAC7C,IAAIU,IAAI,CAACC,SAAS,CAACV,IAAI,CAACoB,UAAU,CAAC,KAAKX,IAAI,CAACC,SAAS,CAACF,IAAI,CAAC,EAAE;YAC1D,MAAM,IAAIW,KAAK,CACX,iFACJ,CAAC;UACL,CAAC,MAAM,IAAIE,KAAK,CAACC,OAAO,CAACd,IAAI,CAAC,IAAIA,IAAI,CAACe,MAAM,GAAG,CAAC,EAAE;YAC/C,MAAM,IAAIJ,KAAK,CACX,sIACJ,CAAC;UACL;QACJ,CAAC,MAAM;UACH,MAAM,IAAIA,KAAK,CACX,qFACJ,CAAC;QACL;QAEAzB,EAAE,CAACY,IAAI,CAAC,6CAA6C,CAAC;MAC1D;IACJ,CAAC;EACL;AACJ;AAEA,OAAO,MAAMkB,iBAAiB,GAAGhD,oBAAoB,CAAC;EAClDiD,WAAW,EAAEhD,iBAAiB;EAC9BiD,cAAc,EAAEzC,iBAAiB;EACjCiB,YAAY,EAAE,CAACxB,oBAAoB,EAAEC,SAAS;AAClD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { writeJsonFileSync } from "write-json-file";
|
|
2
2
|
import { getDuplicatesFilePath, getReferencesFilePath } from "./paths.js";
|
|
3
3
|
export const createReferenceFile = (project, tree, di) => {
|
|
4
4
|
const refsFilePath = getReferencesFilePath(project);
|
|
@@ -18,11 +18,11 @@ export const createReferenceFile = (project, tree, di) => {
|
|
|
18
18
|
references: tree.references
|
|
19
19
|
};
|
|
20
20
|
ui.info(`Creating %s...`, refsFilePath);
|
|
21
|
-
|
|
21
|
+
writeJsonFileSync(refsFilePath, json, {
|
|
22
22
|
indent: 0
|
|
23
23
|
});
|
|
24
24
|
ui.info(`Creating %s...`, dupesFilePath);
|
|
25
|
-
|
|
25
|
+
writeJsonFileSync(dupesFilePath, tree.duplicates, {
|
|
26
26
|
indent: 0
|
|
27
27
|
});
|
|
28
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["writeJsonFileSync","getDuplicatesFilePath","getReferencesFilePath","createReferenceFile","project","tree","di","refsFilePath","dupesFilePath","uiService","ui","references","length","info","json","dependencies","devDependencies","peerDependencies","resolutions","indent","duplicates"],"sources":["createReferenceFile.ts"],"sourcesContent":["import { writeJsonFileSync } from \"write-json-file\";\nimport { IProjectModel } from \"@webiny/project\";\nimport { UiService } from \"~/abstractions/services/index.js\";\nimport { getDuplicatesFilePath, getReferencesFilePath } from \"./paths.js\";\nimport type { IDependencyCollection, IDependencyTree } from \"./types.js\";\n\nexport interface ICreateReferenceFileDi {\n uiService: UiService.Interface;\n}\n\nexport const createReferenceFile = (\n project: IProjectModel,\n tree: IDependencyTree,\n di: ICreateReferenceFileDi\n): void => {\n const refsFilePath = getReferencesFilePath(project);\n const dupesFilePath = getDuplicatesFilePath(project);\n\n const { uiService: ui } = di;\n if (tree.references.length === 0) {\n ui.info(\"No references found.\");\n return;\n }\n\n const json: IDependencyCollection = {\n dependencies: tree.dependencies,\n devDependencies: tree.devDependencies,\n peerDependencies: tree.peerDependencies,\n resolutions: tree.resolutions,\n references: tree.references\n };\n\n ui.info(`Creating %s...`, refsFilePath);\n writeJsonFileSync(refsFilePath, json, {\n indent: 0\n });\n\n ui.info(`Creating %s...`, dupesFilePath);\n\n writeJsonFileSync(dupesFilePath, tree.duplicates, {\n indent: 0\n });\n};\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,iBAAiB;AAGnD,SAASC,qBAAqB,EAAEC,qBAAqB;AAOrD,OAAO,MAAMC,mBAAmB,GAAGA,CAC/BC,OAAsB,EACtBC,IAAqB,EACrBC,EAA0B,KACnB;EACP,MAAMC,YAAY,GAAGL,qBAAqB,CAACE,OAAO,CAAC;EACnD,MAAMI,aAAa,GAAGP,qBAAqB,CAACG,OAAO,CAAC;EAEpD,MAAM;IAAEK,SAAS,EAAEC;EAAG,CAAC,GAAGJ,EAAE;EAC5B,IAAID,IAAI,CAACM,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE;IAC9BF,EAAE,CAACG,IAAI,CAAC,sBAAsB,CAAC;IAC/B;EACJ;EAEA,MAAMC,IAA2B,GAAG;IAChCC,YAAY,EAAEV,IAAI,CAACU,YAAY;IAC/BC,eAAe,EAAEX,IAAI,CAACW,eAAe;IACrCC,gBAAgB,EAAEZ,IAAI,CAACY,gBAAgB;IACvCC,WAAW,EAAEb,IAAI,CAACa,WAAW;IAC7BP,UAAU,EAAEN,IAAI,CAACM;EACrB,CAAC;EAEDD,EAAE,CAACG,IAAI,CAAC,gBAAgB,EAAEN,YAAY,CAAC;EACvCP,iBAAiB,CAACO,YAAY,EAAEO,IAAI,EAAE;IAClCK,MAAM,EAAE;EACZ,CAAC,CAAC;EAEFT,EAAE,CAACG,IAAI,CAAC,gBAAgB,EAAEL,aAAa,CAAC;EAExCR,iBAAiB,CAACQ,aAAa,EAAEH,IAAI,CAACe,UAAU,EAAE;IAC9CD,MAAM,EAAE;EACZ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/cli-core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0-rc.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"repository": {
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@webiny/di": "0.2.3",
|
|
14
|
-
"@webiny/project": "
|
|
15
|
-
"@webiny/pulumi-sdk": "
|
|
16
|
-
"@webiny/telemetry": "
|
|
14
|
+
"@webiny/project": "6.0.0-rc.0",
|
|
15
|
+
"@webiny/pulumi-sdk": "6.0.0-rc.0",
|
|
16
|
+
"@webiny/telemetry": "6.0.0-rc.0",
|
|
17
17
|
"chalk": "4.1.2",
|
|
18
18
|
"ci-info": "4.4.0",
|
|
19
19
|
"execa": "5.1.1",
|
|
@@ -22,21 +22,21 @@
|
|
|
22
22
|
"glob": "7.2.3",
|
|
23
23
|
"humanize-duration": "3.33.2",
|
|
24
24
|
"inquirer": "12.11.1",
|
|
25
|
-
"load-json-file": "
|
|
25
|
+
"load-json-file": "7.0.1",
|
|
26
26
|
"open": "10.2.0",
|
|
27
27
|
"ora": "4.1.1",
|
|
28
28
|
"pino": "9.14.0",
|
|
29
29
|
"pino-pretty": "9.4.1",
|
|
30
30
|
"semver": "7.7.4",
|
|
31
31
|
"type-fest": "5.4.4",
|
|
32
|
-
"write-json-file": "
|
|
32
|
+
"write-json-file": "7.0.0",
|
|
33
33
|
"yargs": "17.7.2",
|
|
34
34
|
"zod": "3.25.76"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/listr": "0.14.10",
|
|
38
38
|
"@types/lodash": "4.17.23",
|
|
39
|
-
"@webiny/build-tools": "
|
|
39
|
+
"@webiny/build-tools": "6.0.0-rc.0",
|
|
40
40
|
"rimraf": "6.1.3",
|
|
41
41
|
"typescript": "5.9.3"
|
|
42
42
|
},
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"access": "public",
|
|
45
45
|
"directory": "dist"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "0f2aa699f4642e550ab62c96fcd050e8d02345c9"
|
|
48
48
|
}
|