@shopify/shop-minis-cli 0.3.13 → 0.3.15
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/build/commands/submit/submit.js +17 -38
- package/build/commands/submit/submit.js.map +1 -1
- package/build/commands/verify-build/index.js +43 -8
- package/build/commands/verify-build/index.js.map +1 -1
- package/build/utils/allowed-dependencies.js +1 -1
- package/build/utils/allowed-dependencies.js.map +1 -1
- package/build/utils/dependencies.d.ts +14 -0
- package/build/utils/dependencies.js +27 -23
- package/build/utils/dependencies.js.map +1 -1
- package/build/utils/minis-manifest.d.ts +2 -2
- package/build/utils/minis-manifest.js +143 -6
- package/build/utils/minis-manifest.js.map +1 -1
- package/build/utils/package-manager.d.ts +16 -3
- package/build/utils/package-manager.js +39 -24
- package/build/utils/package-manager.js.map +1 -1
- package/build/utils/verify-build-checks/checks/build-output.d.ts +2 -0
- package/build/utils/verify-build-checks/checks/build-output.js +32 -0
- package/build/utils/verify-build-checks/checks/build-output.js.map +1 -0
- package/build/utils/verify-build-checks/checks/dependencies.d.ts +2 -0
- package/build/utils/verify-build-checks/checks/dependencies.js +20 -0
- package/build/utils/verify-build-checks/checks/dependencies.js.map +1 -0
- package/build/utils/verify-build-checks/checks/eslint-disables.d.ts +2 -0
- package/build/utils/verify-build-checks/checks/eslint-disables.js +69 -0
- package/build/utils/verify-build-checks/checks/eslint-disables.js.map +1 -0
- package/build/utils/verify-build-checks/checks/eslint.d.ts +2 -0
- package/build/utils/verify-build-checks/checks/eslint.js +20 -0
- package/build/utils/verify-build-checks/checks/eslint.js.map +1 -0
- package/build/utils/verify-build-checks/checks/manifest-validation.d.ts +2 -0
- package/build/utils/verify-build-checks/checks/manifest-validation.js +90 -0
- package/build/utils/verify-build-checks/checks/manifest-validation.js.map +1 -0
- package/build/utils/verify-build-checks/checks/typescript.d.ts +2 -0
- package/build/utils/verify-build-checks/checks/typescript.js +20 -0
- package/build/utils/verify-build-checks/checks/typescript.js.map +1 -0
- package/build/utils/verify-build-checks/command-output.d.ts +1 -0
- package/build/utils/verify-build-checks/command-output.js +11 -0
- package/build/utils/verify-build-checks/command-output.js.map +1 -0
- package/build/utils/verify-build-checks/types.d.ts +17 -0
- package/build/utils/verify-build-checks/types.js +39 -0
- package/build/utils/verify-build-checks/types.js.map +1 -0
- package/build/utils/verify-build-checks.d.ts +11 -0
- package/build/utils/verify-build-checks.js +33 -0
- package/build/utils/verify-build-checks.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { promisify } from 'util';
|
|
2
|
-
import { exec } from 'child_process';
|
|
3
1
|
import { renderSuccess, renderTasks, renderConfirmationPrompt, } from '@shopify/cli-kit/node/ui';
|
|
4
2
|
import { outputInfo, outputDebug, outputWarn } from '@shopify/cli-kit/node/output';
|
|
5
3
|
import { edit } from 'external-editor';
|
|
@@ -9,11 +7,11 @@ import { assertNetworkAndAuth } from '../../utils/common-tasks.js';
|
|
|
9
7
|
import { assertCorePackageVersions } from '../../utils/core-dependencies.js';
|
|
10
8
|
import { ALLOWED_EXTENSIONS, ALLOWED_FILES, } from '../../constants/allowed-extensions.js';
|
|
11
9
|
import { compareWithTemplate, findUnexpectedRootFiles, } from '../../utils/template-sync.js';
|
|
10
|
+
import { runDependencyValidationCheck, runEslintCheck, runTypeScriptCheck, } from '../../utils/verify-build-checks.js';
|
|
12
11
|
import { validateDescription } from './validation.js';
|
|
13
12
|
import { assertManifestValid, assertNoPendingSubmissions, assertRequiredAssets, createStagedUpload, createSubmission, packageShopMini, uploadSubmission, } from './tasks.js';
|
|
14
13
|
import { generateSubmissionArchiveFilename, getSubmissionArchivePath, } from './config.js';
|
|
15
14
|
import { getSubmissionVerificationFailedAbortError, SubmissionVerificationFailedError, } from './errors.js';
|
|
16
|
-
const execAsync = promisify(exec);
|
|
17
15
|
// Helper to create consistent dependency error messages
|
|
18
16
|
const createDependencyError = (title, message, fixCommand, checkCommand) => {
|
|
19
17
|
const nextSteps = [];
|
|
@@ -57,12 +55,11 @@ export const codeBuildChecks = async ({ skipDependencyCheck = false, skipTypescr
|
|
|
57
55
|
task: async () => {
|
|
58
56
|
const checkCommand = await getRunBinCommand('shop-minis install --check');
|
|
59
57
|
const fixCommand = await getRunBinCommand('shop-minis install --fix');
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
throw createDependencyError(`External dependency issues found`, 'You have unapproved or problematic dependencies.', fixCommand, checkCommand);
|
|
58
|
+
const result = await runDependencyValidationCheck();
|
|
59
|
+
if (result.status !== 'pass') {
|
|
60
|
+
throw createDependencyError(`External dependency issues found`, result.status === 'fail'
|
|
61
|
+
? result.message
|
|
62
|
+
: 'You have unapproved or problematic dependencies.', fixCommand, checkCommand);
|
|
66
63
|
}
|
|
67
64
|
},
|
|
68
65
|
});
|
|
@@ -71,12 +68,12 @@ export const codeBuildChecks = async ({ skipDependencyCheck = false, skipTypescr
|
|
|
71
68
|
tasks.push({
|
|
72
69
|
title: `Running typescript checks`,
|
|
73
70
|
task: async () => {
|
|
74
|
-
const tscCommand = await getRunBinCommand('tsc');
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
71
|
+
const tscCommand = await getRunBinCommand('tsc', ['--noEmit']);
|
|
72
|
+
const result = await runTypeScriptCheck();
|
|
73
|
+
if (result.status !== 'pass') {
|
|
74
|
+
throw new AbortError(`Typescript checks failed`, result.status === 'fail'
|
|
75
|
+
? result.message
|
|
76
|
+
: 'Fix the errors and try again.', [`Run "${tscCommand}" to see the errors`]);
|
|
80
77
|
}
|
|
81
78
|
},
|
|
82
79
|
});
|
|
@@ -86,32 +83,14 @@ export const codeBuildChecks = async ({ skipDependencyCheck = false, skipTypescr
|
|
|
86
83
|
title: `Running lint checks`,
|
|
87
84
|
task: async () => {
|
|
88
85
|
const lintCommand = await getRunBinCommand('eslint .');
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
86
|
+
const result = await runEslintCheck();
|
|
87
|
+
if (result.status !== 'pass') {
|
|
88
|
+
throw new AbortError(`Lint checks failed`, result.status === 'fail'
|
|
89
|
+
? result.message
|
|
90
|
+
: 'Fix the errors and try again.', [`Run "${lintCommand}" to see the errors`]);
|
|
94
91
|
}
|
|
95
92
|
},
|
|
96
93
|
});
|
|
97
|
-
// TODO: Uncomment this when we enable stylelint back
|
|
98
|
-
// tasks.push({
|
|
99
|
-
// title: `Running CSS lint checks`,
|
|
100
|
-
// task: async () => {
|
|
101
|
-
// const stylelintCommand = await getRunBinCommand(
|
|
102
|
-
// "stylelint 'src/**/*.css'"
|
|
103
|
-
// )
|
|
104
|
-
// try {
|
|
105
|
-
// await execAsync(stylelintCommand)
|
|
106
|
-
// } catch {
|
|
107
|
-
// throw new AbortError(
|
|
108
|
-
// `CSS lint checks failed`,
|
|
109
|
-
// 'Fix the errors and try again.',
|
|
110
|
-
// [`Run "${stylelintCommand}" to see the errors`]
|
|
111
|
-
// )
|
|
112
|
-
// }
|
|
113
|
-
// },
|
|
114
|
-
// })
|
|
115
94
|
}
|
|
116
95
|
try {
|
|
117
96
|
await renderTasks(tasks);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/commands/submit/submit.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/commands/submit/submit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,49 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { AbortError } from '@shopify/cli-kit/node/error';
|
|
3
|
-
import { outputSuccess } from '@shopify/cli-kit/node/output';
|
|
4
|
-
import {
|
|
3
|
+
import { outputContent, outputInfo, outputSuccess, } from '@shopify/cli-kit/node/output';
|
|
4
|
+
import { isVerifyBuildCheckId, runVerifyBuildChecks, VERIFY_BUILD_CHECK_IDS, } from '../../utils/verify-build-checks.js';
|
|
5
|
+
const printJson = (results) => {
|
|
6
|
+
const success = results.every(result => result.status === 'pass');
|
|
7
|
+
console.log(JSON.stringify({ success, results }, null, 2));
|
|
8
|
+
};
|
|
9
|
+
const printHuman = (results) => {
|
|
10
|
+
for (const result of results) {
|
|
11
|
+
const icon = result.status === 'pass' ? '✓' : '✗';
|
|
12
|
+
outputInfo(outputContent `${icon} ${result.name}: ${result.message}`);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
5
15
|
export const command = new Command('verify-build')
|
|
6
|
-
.description('Verify the Mini production build
|
|
7
|
-
.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
16
|
+
.description('Verify the Mini production build and deterministic checks')
|
|
17
|
+
.option('--check <check>', `Run a single check (${VERIFY_BUILD_CHECK_IDS.join(', ')})`)
|
|
18
|
+
.option('--json', 'Output check results as JSON')
|
|
19
|
+
.action(async (options) => {
|
|
20
|
+
const checkIds = [];
|
|
21
|
+
if (options.check) {
|
|
22
|
+
if (!isVerifyBuildCheckId(options.check)) {
|
|
23
|
+
throw new AbortError('Unknown verify-build check', `Expected one of: ${VERIFY_BUILD_CHECK_IDS.join(', ')}`);
|
|
24
|
+
}
|
|
25
|
+
checkIds.push(options.check);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
checkIds.push(...VERIFY_BUILD_CHECK_IDS);
|
|
29
|
+
}
|
|
30
|
+
const results = await runVerifyBuildChecks(checkIds);
|
|
31
|
+
const failed = results.filter(result => result.status === 'fail');
|
|
32
|
+
const errored = results.filter(result => result.status === 'error');
|
|
33
|
+
if (options.json) {
|
|
34
|
+
printJson(results);
|
|
35
|
+
if (errored.length > 0 || failed.length > 0) {
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
printHuman(results);
|
|
41
|
+
if (errored.length > 0) {
|
|
42
|
+
throw new AbortError('Build verification errored', errored.map(result => `${result.name}: ${result.message}`).join('\n\n'));
|
|
43
|
+
}
|
|
44
|
+
if (failed.length > 0) {
|
|
45
|
+
throw new AbortError('Build verification failed', failed.map(result => `${result.name}: ${result.message}`).join('\n\n'));
|
|
11
46
|
}
|
|
12
|
-
outputSuccess(
|
|
47
|
+
outputSuccess('Build verification passed');
|
|
13
48
|
});
|
|
14
49
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/verify-build/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAA;AACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/verify-build/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"allowed-dependencies.js","sourceRoot":"","sources":["../../src/utils/allowed-dependencies.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,8DAA8D;AAC9D,mDAAmD;AAUnD,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC3D,2BAA2B,EAAE,GAAG;IAChC,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,QAAQ;CACtB,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAoC;IACpE,gBAAgB,EAAE,OAAO;IACzB,iBAAiB,EAAE,gBAAgB;IACnC,oBAAoB,EAAE,QAAQ;IAC9B,MAAM,EAAE,OAAO;IACf,eAAe,EAAE,OAAO;IACxB,SAAS,EAAE,OAAO;IAClB,KAAK,EAAE,SAAS;IAChB,cAAc,EAAE,SAAS;IACzB,MAAM,EAAE,SAAS;IACjB,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE;QACb,OAAO,EAAE,QAAQ;QACjB,cAAc,EAAE,CAAC,wBAAwB,CAAC;QAC1C,YAAY,EAAE,CAAC,qDAAqD,CAAC;KACtE;IACD,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,OAAO;IACnB,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"allowed-dependencies.js","sourceRoot":"","sources":["../../src/utils/allowed-dependencies.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,8DAA8D;AAC9D,mDAAmD;AAUnD,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC3D,2BAA2B,EAAE,GAAG;IAChC,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,QAAQ;CACtB,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAoC;IACpE,gBAAgB,EAAE,OAAO;IACzB,iBAAiB,EAAE,gBAAgB;IACnC,oBAAoB,EAAE,QAAQ;IAC9B,MAAM,EAAE,OAAO;IACf,eAAe,EAAE,OAAO;IACxB,SAAS,EAAE,OAAO;IAClB,KAAK,EAAE,SAAS;IAChB,cAAc,EAAE,SAAS;IACzB,MAAM,EAAE,SAAS;IACjB,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE;QACb,OAAO,EAAE,QAAQ;QACjB,cAAc,EAAE,CAAC,wBAAwB,CAAC;QAC1C,YAAY,EAAE,CAAC,qDAAqD,CAAC;KACtE;IACD,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,OAAO;IACnB,cAAc,EAAE,QAAQ;IACxB,kBAAkB,EAAE,OAAO;IAC3B,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,OAAO;IAChB,uBAAuB,EAAE,QAAQ;IACjC,EAAE,EAAE,QAAQ;IACZ,gBAAgB,EAAE,QAAQ;IAC1B,eAAe,EAAE,QAAQ;IACzB,kBAAkB,EAAE,QAAQ;IAC5B,4BAA4B,EAAE,OAAO;IACrC,sBAAsB,EAAE,OAAO;IAC/B,yBAAyB,EAAE,OAAO;IAClC,4BAA4B,EAAE,OAAO;IACrC,4BAA4B,EAAE,OAAO;IACrC,4BAA4B,EAAE,OAAO;IACrC,qBAAqB,EAAE,OAAO;IAC9B,eAAe,EAAE,OAAO;IACxB,oBAAoB,EAAE,OAAO;IAC7B,mBAAmB,EAAE,QAAQ;IAC7B,kBAAkB,EAAE,OAAO;IAC3B,mBAAmB,EAAE,OAAO;IAC5B,YAAY,EAAE,OAAO;IACrB,aAAa,EAAE,SAAS;IACxB,GAAG,EAAE,QAAQ;IACb,gBAAgB,EAAE,OAAO;IACzB,YAAY,EAAE,OAAO;IACrB,uBAAuB,EAAE,OAAO;IAChC,yBAAyB,EAAE,QAAQ;IACnC,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,OAAO;IACb,gBAAgB,EAAE,OAAO;IACzB,0BAA0B,EAAE,OAAO;IACnC,MAAM,EAAE,OAAO;CAChB,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAU,EAAE,CACnD,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;AAEnD,MAAM,CAAC,MAAM,oBAAoB,GAA2B,MAAM,CAAC,WAAW,CAC5E,MAAM,CAAC,OAAO,CAAC;IACb,GAAG,qBAAqB;IACxB,GAAG,qBAAqB;CACzB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CACpD,CAAA"}
|
|
@@ -1,7 +1,21 @@
|
|
|
1
|
+
export interface DependencyCheckDependency {
|
|
2
|
+
name: string;
|
|
3
|
+
installed: string | null;
|
|
4
|
+
allowed: string | null;
|
|
5
|
+
status: string;
|
|
6
|
+
valid: boolean;
|
|
7
|
+
required: boolean;
|
|
8
|
+
message: string;
|
|
9
|
+
}
|
|
10
|
+
export interface DependencyCheckReport {
|
|
11
|
+
valid: boolean;
|
|
12
|
+
dependencies: DependencyCheckDependency[];
|
|
13
|
+
}
|
|
1
14
|
export declare const isExactVersion: (version: string) => boolean;
|
|
2
15
|
export declare const resolveDependencyVersion: (dependency: string, version: string) => Promise<string>;
|
|
3
16
|
export declare const installDependencies: (dependencySpecs: string[]) => Promise<void>;
|
|
4
17
|
export declare const gatherRequiredDependencies: () => Promise<Record<string, string>>;
|
|
5
18
|
export declare const warnDependencies: () => Promise<void>;
|
|
19
|
+
export declare const getDependencyValidationReport: () => DependencyCheckReport;
|
|
6
20
|
export declare const checkDependencies: (jsonOutput?: boolean) => Promise<boolean>;
|
|
7
21
|
export declare const fixDependencies: () => Promise<void>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import semver from 'semver';
|
|
2
2
|
import { renderSuccess, renderWarning } from '@shopify/cli-kit/node/ui';
|
|
3
|
-
import { getPackageVersions,
|
|
3
|
+
import { getPackageVersions, resolvePackageVersion, installPackages, uninstallPackages, getRunBinCommand, getInstalledPackagesWithDevDeps, moveFromDevToRegularDependencies, } from './package-manager.js';
|
|
4
4
|
import { ALLOWED_DEPENDENCIES, REQUIRED_DEPENDENCIES, } from './allowed-dependencies.js';
|
|
5
5
|
// Constants
|
|
6
6
|
const DEPENDENCIES_DOCUMENTATION_LINK = [
|
|
@@ -114,21 +114,21 @@ const analyzeDependencies = (packageDependencies, packageDevDependencies = {}) =
|
|
|
114
114
|
}
|
|
115
115
|
return results;
|
|
116
116
|
};
|
|
117
|
+
const dependencyResultsToReport = (results) => ({
|
|
118
|
+
valid: results.every(result => result.status === DependencyStatus.VALID),
|
|
119
|
+
dependencies: results.map(result => ({
|
|
120
|
+
name: result.name,
|
|
121
|
+
installed: result.installedVersion || null,
|
|
122
|
+
allowed: result.allowedVersion || null,
|
|
123
|
+
status: DependencyStatus[result.status],
|
|
124
|
+
valid: result.status === DependencyStatus.VALID,
|
|
125
|
+
required: REQUIRED_DEPENDENCIES[result.name] !== undefined,
|
|
126
|
+
message: getErrorMessage(result),
|
|
127
|
+
})),
|
|
128
|
+
});
|
|
117
129
|
// Rendering functions
|
|
118
|
-
const renderDependencyCheckAsJson = (
|
|
119
|
-
|
|
120
|
-
valid: results.every(result => result.status === DependencyStatus.VALID),
|
|
121
|
-
dependencies: results.map(result => ({
|
|
122
|
-
name: result.name,
|
|
123
|
-
installed: result.installedVersion || null,
|
|
124
|
-
allowed: result.allowedVersion || null,
|
|
125
|
-
status: DependencyStatus[result.status],
|
|
126
|
-
valid: result.status === DependencyStatus.VALID,
|
|
127
|
-
required: REQUIRED_DEPENDENCIES[result.name] !== undefined,
|
|
128
|
-
message: getErrorMessage(result),
|
|
129
|
-
})),
|
|
130
|
-
};
|
|
131
|
-
console.log(JSON.stringify(output, null, 2));
|
|
130
|
+
const renderDependencyCheckAsJson = (report) => {
|
|
131
|
+
console.log(JSON.stringify(report, null, 2));
|
|
132
132
|
};
|
|
133
133
|
const getErrorMessage = (result) => {
|
|
134
134
|
const { name, installedVersion, status } = result;
|
|
@@ -182,14 +182,13 @@ export const resolveDependencyVersion = async (dependency, version) => {
|
|
|
182
182
|
throw new Error(`${dependency} is not an allowed dependency`);
|
|
183
183
|
}
|
|
184
184
|
const allowedVersion = ALLOWED_DEPENDENCIES[dependency];
|
|
185
|
-
// If allowed version is "*",
|
|
185
|
+
// If allowed version is "*", resolve the requested range the same way a
|
|
186
|
+
// package manager would: prefer the `latest` dist-tag (so `next`-tagged
|
|
187
|
+
// releases don't accidentally win for ranges like `*` or `^0.20.0`), then
|
|
188
|
+
// fall back to the highest non-prerelease that satisfies the range.
|
|
186
189
|
if (allowedVersion === '*') {
|
|
187
190
|
try {
|
|
188
|
-
|
|
189
|
-
// If it's an array, get the latest one; if it's a string, use it directly
|
|
190
|
-
return Array.isArray(availableVersions)
|
|
191
|
-
? availableVersions[availableVersions.length - 1]
|
|
192
|
-
: availableVersions;
|
|
191
|
+
return await resolvePackageVersion(dependency, version);
|
|
193
192
|
}
|
|
194
193
|
catch (error) {
|
|
195
194
|
throw new Error(`No version of ${dependency} satisfies ${version}`);
|
|
@@ -256,16 +255,21 @@ export const warnDependencies = async () => {
|
|
|
256
255
|
});
|
|
257
256
|
}
|
|
258
257
|
};
|
|
258
|
+
export const getDependencyValidationReport = () => {
|
|
259
|
+
const { dependencies, devDependencies } = getInstalledPackagesWithDevDeps();
|
|
260
|
+
return dependencyResultsToReport(analyzeDependencies(dependencies, devDependencies));
|
|
261
|
+
};
|
|
259
262
|
export const checkDependencies = async (jsonOutput) => {
|
|
260
263
|
const { dependencies, devDependencies } = getInstalledPackagesWithDevDeps();
|
|
261
264
|
const results = analyzeDependencies(dependencies, devDependencies);
|
|
265
|
+
const report = dependencyResultsToReport(results);
|
|
262
266
|
if (jsonOutput) {
|
|
263
|
-
renderDependencyCheckAsJson(
|
|
267
|
+
renderDependencyCheckAsJson(report);
|
|
264
268
|
}
|
|
265
269
|
else {
|
|
266
270
|
await renderDependencyCheck(results);
|
|
267
271
|
}
|
|
268
|
-
return
|
|
272
|
+
return !report.valid;
|
|
269
273
|
};
|
|
270
274
|
export const fixDependencies = async () => {
|
|
271
275
|
const { dependencies, devDependencies } = getInstalledPackagesWithDevDeps();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/utils/dependencies.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../src/utils/dependencies.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export declare const DEFAULT_MANIFEST_PATH: string;
|
|
2
2
|
export declare function manifestExists(): boolean;
|
|
3
|
-
export declare function getMiniManifest(manifestPath?: string): any;
|
|
3
|
+
export declare function getMiniManifest(manifestPath?: string, miniRoot?: string): any;
|
|
4
4
|
export declare const getMiniManifestFeatures: (manifestPath?: string) => string[];
|
|
5
5
|
export declare const setMiniManifestFeatures: (features: string[], manifestPath?: string) => void;
|
|
6
|
-
export declare function validateManifest(manifestPath?: string): {
|
|
6
|
+
export declare function validateManifest(manifestPath?: string, miniRoot?: string): {
|
|
7
7
|
valid: boolean;
|
|
8
8
|
errors: string[];
|
|
9
9
|
};
|
|
@@ -13,8 +13,8 @@ export function manifestExists() {
|
|
|
13
13
|
const fullManifestPath = path.join(getMiniBasePath(), DEFAULT_MANIFEST_PATH);
|
|
14
14
|
return existsSync(fullManifestPath);
|
|
15
15
|
}
|
|
16
|
-
export function getMiniManifest(manifestPath = DEFAULT_MANIFEST_PATH) {
|
|
17
|
-
const fullManifestPath = path.join(
|
|
16
|
+
export function getMiniManifest(manifestPath = DEFAULT_MANIFEST_PATH, miniRoot = getMiniBasePath()) {
|
|
17
|
+
const fullManifestPath = path.join(miniRoot, manifestPath);
|
|
18
18
|
let manifest;
|
|
19
19
|
try {
|
|
20
20
|
manifest = require(fullManifestPath);
|
|
@@ -143,6 +143,113 @@ function validateCspSource(source) {
|
|
|
143
143
|
}
|
|
144
144
|
return null;
|
|
145
145
|
}
|
|
146
|
+
const DOMAINS_DISALLOWING_WILDCARDS = [
|
|
147
|
+
'googleapis.com',
|
|
148
|
+
'googleusercontent.com',
|
|
149
|
+
'storage.googleapis.com',
|
|
150
|
+
'storage.cloud.google.com',
|
|
151
|
+
'amazonaws.com',
|
|
152
|
+
's3.amazonaws.com',
|
|
153
|
+
'cloudfront.net',
|
|
154
|
+
'supabase.co',
|
|
155
|
+
'firebaseio.com',
|
|
156
|
+
'firebaseapp.com',
|
|
157
|
+
'firebasestorage.googleapis.com',
|
|
158
|
+
'cloudinary.com',
|
|
159
|
+
'imgix.net',
|
|
160
|
+
'akamaized.net',
|
|
161
|
+
'azureedge.net',
|
|
162
|
+
'digitaloceanspaces.com',
|
|
163
|
+
'blob.core.windows.net',
|
|
164
|
+
'azure.com',
|
|
165
|
+
];
|
|
166
|
+
function extractBaseDomain(domain) {
|
|
167
|
+
return domain.replace(/^\*\./, '');
|
|
168
|
+
}
|
|
169
|
+
function validateWildcardUsage(domain) {
|
|
170
|
+
if (!domain.startsWith('*.')) {
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
const baseDomain = extractBaseDomain(domain);
|
|
174
|
+
for (const restrictedDomain of DOMAINS_DISALLOWING_WILDCARDS) {
|
|
175
|
+
if (baseDomain === restrictedDomain ||
|
|
176
|
+
baseDomain.endsWith(`.${restrictedDomain}`)) {
|
|
177
|
+
return `Wildcard not allowed for common domain: "${domain}". Please specify the exact subdomain instead of using wildcards.`;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
function validateNotTestDomain(domain) {
|
|
183
|
+
if (process.env.VITEST) {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
const baseDomain = extractBaseDomain(domain);
|
|
187
|
+
const lowerDomain = baseDomain.toLowerCase();
|
|
188
|
+
if (lowerDomain === 'localhost' ||
|
|
189
|
+
lowerDomain.endsWith('.localhost') ||
|
|
190
|
+
lowerDomain === '127.0.0.1' ||
|
|
191
|
+
lowerDomain === '[::1]') {
|
|
192
|
+
return `Domain "${domain}" is not accepted. Localhost domains are for local development only and should not be in production manifest.`;
|
|
193
|
+
}
|
|
194
|
+
if (lowerDomain === 'example.com' || lowerDomain.endsWith('.example.com')) {
|
|
195
|
+
return `Domain "${domain}" is not accepted. example.com is a reserved domain for documentation and should not be used in production.`;
|
|
196
|
+
}
|
|
197
|
+
if (lowerDomain === 'example.org' ||
|
|
198
|
+
lowerDomain.endsWith('.example.org') ||
|
|
199
|
+
lowerDomain === 'example.net' ||
|
|
200
|
+
lowerDomain.endsWith('.example.net') ||
|
|
201
|
+
lowerDomain === 'test.com' ||
|
|
202
|
+
lowerDomain.endsWith('.test')) {
|
|
203
|
+
return `Domain "${domain}" is not accepted. This is a reserved test/example domain and should not be used in production.`;
|
|
204
|
+
}
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
function validateDomainSpecificity(domain) {
|
|
208
|
+
const baseDomain = extractBaseDomain(domain);
|
|
209
|
+
if (baseDomain === 's3.amazonaws.com' &&
|
|
210
|
+
!domain.includes('.s3.amazonaws.com')) {
|
|
211
|
+
return `Domain "${domain}" is too broad. Specify your bucket: "your-bucket.s3.amazonaws.com" or use regional endpoint like "s3.us-east-1.amazonaws.com/your-bucket"`;
|
|
212
|
+
}
|
|
213
|
+
if (baseDomain === 'storage.googleapis.com' &&
|
|
214
|
+
!domain.includes('.storage.googleapis.com')) {
|
|
215
|
+
return `Domain "${domain}" is too broad. Specify your bucket: "your-bucket.storage.googleapis.com" or ensure you're restricting to specific paths in your manifest`;
|
|
216
|
+
}
|
|
217
|
+
if (baseDomain === 'cloudfront.net' && !domain.includes('.cloudfront.net')) {
|
|
218
|
+
return `Domain "${domain}" is too broad. Specify your CloudFront distribution: "d111111abcdef8.cloudfront.net"`;
|
|
219
|
+
}
|
|
220
|
+
if (baseDomain === 'supabase.co' && !domain.includes('.supabase.co')) {
|
|
221
|
+
return `Domain "${domain}" is too broad. Specify your Supabase project: "your-project-id.supabase.co"`;
|
|
222
|
+
}
|
|
223
|
+
if (baseDomain === 'firebaseio.com' && !domain.includes('.firebaseio.com')) {
|
|
224
|
+
return `Domain "${domain}" is too broad. Specify your Firebase project: "your-project-id.firebaseio.com"`;
|
|
225
|
+
}
|
|
226
|
+
if (baseDomain === 'firebaseapp.com' &&
|
|
227
|
+
!domain.includes('.firebaseapp.com')) {
|
|
228
|
+
return `Domain "${domain}" is too broad. Specify your Firebase project: "your-project-id.firebaseapp.com"`;
|
|
229
|
+
}
|
|
230
|
+
if (baseDomain === 'firebasestorage.googleapis.com' &&
|
|
231
|
+
!domain.includes('.firebasestorage.googleapis.com')) {
|
|
232
|
+
return `Domain "${domain}" is too broad. Specify your Firebase Storage bucket: "your-project-id.firebasestorage.googleapis.com" or "firebasestorage.googleapis.com/v0/b/your-bucket"`;
|
|
233
|
+
}
|
|
234
|
+
if (baseDomain === 'imgix.net' && !domain.includes('.imgix.net')) {
|
|
235
|
+
return `Domain "${domain}" is too broad. Specify your Imgix source: "your-source.imgix.net"`;
|
|
236
|
+
}
|
|
237
|
+
if (baseDomain === 'blob.core.windows.net' &&
|
|
238
|
+
!domain.includes('.blob.core.windows.net')) {
|
|
239
|
+
return `Domain "${domain}" is too broad. Specify your storage account: "your-account.blob.core.windows.net"`;
|
|
240
|
+
}
|
|
241
|
+
if (baseDomain === 'azureedge.net' && !domain.includes('.azureedge.net')) {
|
|
242
|
+
return `Domain "${domain}" is too broad. Specify your Azure CDN endpoint: "your-endpoint.azureedge.net"`;
|
|
243
|
+
}
|
|
244
|
+
if (baseDomain === 'digitaloceanspaces.com' &&
|
|
245
|
+
!domain.includes('.digitaloceanspaces.com')) {
|
|
246
|
+
return `Domain "${domain}" is too broad. Specify your Space: "your-space.region.digitaloceanspaces.com"`;
|
|
247
|
+
}
|
|
248
|
+
if (baseDomain === 'cloudinary.com' && domain !== 'res.cloudinary.com') {
|
|
249
|
+
return `Domain "${domain}" is too broad. Use "res.cloudinary.com" with your cloud name in the URL path`;
|
|
250
|
+
}
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
146
253
|
function formatFriendlyManifestError(error) {
|
|
147
254
|
// Map technical jsonschema errors to friendly, actionable messages
|
|
148
255
|
const requiredFieldMessages = {
|
|
@@ -160,13 +267,32 @@ function formatFriendlyManifestError(error) {
|
|
|
160
267
|
// Return the original error if no mapping exists
|
|
161
268
|
return error;
|
|
162
269
|
}
|
|
163
|
-
export function validateManifest(manifestPath) {
|
|
164
|
-
const manifest = getMiniManifest(manifestPath);
|
|
270
|
+
export function validateManifest(manifestPath, miniRoot = getMiniBasePath()) {
|
|
271
|
+
const manifest = getMiniManifest(manifestPath, miniRoot);
|
|
165
272
|
const validator = new Validator();
|
|
166
273
|
const result = validator.validate(manifest, manifestSchema);
|
|
167
274
|
const validationErrors = [
|
|
168
275
|
...result.errors.map(validationError => formatFriendlyManifestError(validationError.stack)),
|
|
169
276
|
];
|
|
277
|
+
// Validate name field - check for restricted keywords
|
|
278
|
+
if (manifest.name) {
|
|
279
|
+
const restrictedKeywords = [
|
|
280
|
+
'Minis',
|
|
281
|
+
'Mini',
|
|
282
|
+
'Shop',
|
|
283
|
+
'Shops',
|
|
284
|
+
'Shopping',
|
|
285
|
+
'Shopper',
|
|
286
|
+
];
|
|
287
|
+
const name = manifest.name;
|
|
288
|
+
for (const keyword of restrictedKeywords) {
|
|
289
|
+
// Use word boundary regex for exact word match (case insensitive)
|
|
290
|
+
const regex = new RegExp(`\\b${keyword}\\b`, 'i');
|
|
291
|
+
if (regex.test(name)) {
|
|
292
|
+
validationErrors.push(`Manifest name contains restricted keyword: "${keyword}". Please update the name and re-submit`);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
170
296
|
// Validate trusted_domains
|
|
171
297
|
if (manifest.trusted_domains) {
|
|
172
298
|
if (Array.isArray(manifest.trusted_domains)) {
|
|
@@ -177,6 +303,18 @@ export function validateManifest(manifestPath) {
|
|
|
177
303
|
if (error) {
|
|
178
304
|
validationErrors.push(`Invalid trusted_domains entry "${domain}": ${error}`);
|
|
179
305
|
}
|
|
306
|
+
const testDomainError = validateNotTestDomain(domain);
|
|
307
|
+
if (testDomainError) {
|
|
308
|
+
validationErrors.push(`Invalid trusted_domains entry "${domain}": ${testDomainError}`);
|
|
309
|
+
}
|
|
310
|
+
const wildcardError = validateWildcardUsage(domain);
|
|
311
|
+
if (wildcardError) {
|
|
312
|
+
validationErrors.push(`Invalid trusted_domains entry "${domain}": ${wildcardError}`);
|
|
313
|
+
}
|
|
314
|
+
const specificityError = validateDomainSpecificity(domain);
|
|
315
|
+
if (specificityError) {
|
|
316
|
+
validationErrors.push(`Invalid trusted_domains entry "${domain}": ${specificityError}`);
|
|
317
|
+
}
|
|
180
318
|
}
|
|
181
319
|
});
|
|
182
320
|
}
|
|
@@ -185,8 +323,7 @@ export function validateManifest(manifestPath) {
|
|
|
185
323
|
}
|
|
186
324
|
}
|
|
187
325
|
// Validate unused scopes
|
|
188
|
-
const
|
|
189
|
-
const scopesResult = validateUnusedScopes(miniPath, manifest);
|
|
326
|
+
const scopesResult = validateUnusedScopes(miniRoot, manifest);
|
|
190
327
|
if (scopesResult.skipped) {
|
|
191
328
|
outputDebug(`Scopes validation skipped: ${scopesResult.skipReason}`);
|
|
192
329
|
}
|