@forge/cli 12.21.0 → 12.21.1-next.7-experimental-5c60439
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/CHANGELOG.md +114 -0
- package/npm-shrinkwrap.json +37 -35
- package/out/command-line/controller/module-controller.d.ts +8 -1
- package/out/command-line/controller/module-controller.d.ts.map +1 -1
- package/out/command-line/controller/module-controller.js +70 -19
- package/out/command-line/controller/module-controller.js.map +1 -1
- package/out/command-line/dependency-injection.d.ts.map +1 -1
- package/out/command-line/dependency-injection.js +3 -1
- package/out/command-line/dependency-injection.js.map +1 -1
- package/out/command-line/register-module-commands.d.ts.map +1 -1
- package/out/command-line/register-module-commands.js +0 -1
- package/out/command-line/register-module-commands.js.map +1 -1
- package/out/command-line/view/module-view.d.ts +8 -0
- package/out/command-line/view/module-view.d.ts.map +1 -1
- package/out/command-line/view/module-view.js +142 -0
- package/out/command-line/view/module-view.js.map +1 -1
- package/out/deploy/deployer/deployer.d.ts.map +1 -1
- package/out/deploy/deployer/deployer.js +6 -0
- package/out/deploy/deployer/deployer.js.map +1 -1
- package/out/module-add/dependencies-merger.d.ts +23 -0
- package/out/module-add/dependencies-merger.d.ts.map +1 -0
- package/out/module-add/dependencies-merger.js +175 -0
- package/out/module-add/dependencies-merger.js.map +1 -0
- package/out/module-add/manifest-merger.d.ts +11 -0
- package/out/module-add/manifest-merger.d.ts.map +1 -0
- package/out/module-add/manifest-merger.js +210 -0
- package/out/module-add/manifest-merger.js.map +1 -0
- package/out/module-add/vite-scaffolder.d.ts +6 -0
- package/out/module-add/vite-scaffolder.d.ts.map +1 -0
- package/out/module-add/vite-scaffolder.js +96 -0
- package/out/module-add/vite-scaffolder.js.map +1 -0
- package/out/service/module-file-service.d.ts +34 -0
- package/out/service/module-file-service.d.ts.map +1 -0
- package/out/service/module-file-service.js +162 -0
- package/out/service/module-file-service.js.map +1 -0
- package/out/service/module-service.d.ts +5 -6
- package/out/service/module-service.d.ts.map +1 -1
- package/out/service/module-service.js +117 -61
- package/out/service/module-service.js.map +1 -1
- package/package.json +8 -6
|
@@ -2,12 +2,57 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ModuleService = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const crypto_1 = tslib_1.__importDefault(require("crypto"));
|
|
5
6
|
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
6
7
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
7
8
|
const yaml_1 = tslib_1.__importDefault(require("yaml"));
|
|
8
9
|
const manifest_1 = require("@forge/manifest");
|
|
9
|
-
const cli_shared_1 = require("@forge/cli-shared");
|
|
10
10
|
const manifest_schema_json_1 = tslib_1.__importDefault(require("@forge/manifest/out/schema/manifest-schema.json"));
|
|
11
|
+
const VALIDATION_KEYWORD_BY_VAR = {
|
|
12
|
+
moduleKey: /\bkey\b/,
|
|
13
|
+
functionKey: /\bfunction\b/,
|
|
14
|
+
resourceKey: /\bresources?\b/,
|
|
15
|
+
title: /\btitle\b/,
|
|
16
|
+
icon: /\bicon\b/,
|
|
17
|
+
description: /\bdescription\b/,
|
|
18
|
+
label: /\blabel\b/
|
|
19
|
+
};
|
|
20
|
+
const PROMPT_TIME_IRRELEVANT_PATTERNS = [/cannot find associated file/i];
|
|
21
|
+
function collectModuleKeys(modules) {
|
|
22
|
+
const moduleKeys = new Set();
|
|
23
|
+
if (!modules)
|
|
24
|
+
return moduleKeys;
|
|
25
|
+
for (const [type, entries] of Object.entries(modules)) {
|
|
26
|
+
if (type === 'function' || !Array.isArray(entries))
|
|
27
|
+
continue;
|
|
28
|
+
for (const entry of entries) {
|
|
29
|
+
if (entry?.key)
|
|
30
|
+
moduleKeys.add(entry.key);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return moduleKeys;
|
|
34
|
+
}
|
|
35
|
+
function mergeFragmentIntoManifest(existing, fragment) {
|
|
36
|
+
const merged = { ...existing };
|
|
37
|
+
const existingModules = (existing.modules ?? {});
|
|
38
|
+
const fragmentModules = (fragment.modules ?? {});
|
|
39
|
+
const mergedModules = { ...existingModules };
|
|
40
|
+
for (const [type, entries] of Object.entries(fragmentModules)) {
|
|
41
|
+
const existingEntries = Array.isArray(mergedModules[type]) ? mergedModules[type] : [];
|
|
42
|
+
const fragmentEntries = Array.isArray(entries) ? entries : [];
|
|
43
|
+
mergedModules[type] = [...existingEntries, ...fragmentEntries];
|
|
44
|
+
}
|
|
45
|
+
if (Object.keys(mergedModules).length > 0) {
|
|
46
|
+
merged.modules = mergedModules;
|
|
47
|
+
}
|
|
48
|
+
if (Array.isArray(fragment.resources) || Array.isArray(existing.resources)) {
|
|
49
|
+
merged.resources = [
|
|
50
|
+
...(Array.isArray(existing.resources) ? existing.resources : []),
|
|
51
|
+
...(Array.isArray(fragment.resources) ? fragment.resources : [])
|
|
52
|
+
];
|
|
53
|
+
}
|
|
54
|
+
return merged;
|
|
55
|
+
}
|
|
11
56
|
class ModuleService {
|
|
12
57
|
templateServices;
|
|
13
58
|
cacheDirs = [];
|
|
@@ -36,14 +81,19 @@ class ModuleService {
|
|
|
36
81
|
}
|
|
37
82
|
return moduleChoiceMap;
|
|
38
83
|
}
|
|
39
|
-
async
|
|
84
|
+
async prepareModuleMetadata(template, uiFramework) {
|
|
40
85
|
if (!this.templateServices)
|
|
41
86
|
return undefined;
|
|
42
|
-
const
|
|
43
|
-
if (
|
|
44
|
-
this.cacheDirs.push(
|
|
87
|
+
const preparedMeta = await this.templateServices.prepareModuleMetadata(template, uiFramework);
|
|
88
|
+
if (preparedMeta.cacheDir) {
|
|
89
|
+
this.cacheDirs.push(preparedMeta.cacheDir);
|
|
45
90
|
}
|
|
46
|
-
return
|
|
91
|
+
return preparedMeta;
|
|
92
|
+
}
|
|
93
|
+
async downloadModuleBundle(template, uiFramework) {
|
|
94
|
+
if (!this.templateServices)
|
|
95
|
+
return;
|
|
96
|
+
await this.templateServices.downloadModuleBundle(template, uiFramework);
|
|
47
97
|
}
|
|
48
98
|
cleanup() {
|
|
49
99
|
if (this.templateServices) {
|
|
@@ -53,23 +103,14 @@ class ModuleService {
|
|
|
53
103
|
}
|
|
54
104
|
this.cacheDirs.length = 0;
|
|
55
105
|
}
|
|
56
|
-
parseManifestAndExtractKeys(content, filePath
|
|
57
|
-
const keys = {
|
|
58
|
-
moduleKeys: new Set(),
|
|
59
|
-
functionKeys: new Set(),
|
|
60
|
-
resourceKeys: new Set()
|
|
61
|
-
};
|
|
106
|
+
parseManifestAndExtractKeys(content, filePath) {
|
|
62
107
|
try {
|
|
63
108
|
const parsed = new manifest_1.ManifestParserBuilder().withInterpolators().build().parseManifest({ content, filePath });
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
keys.functionKeys = new Set(funcEntries.map((f) => f?.key).filter(Boolean));
|
|
70
|
-
const resourceEntries = parsed?.resources || [];
|
|
71
|
-
keys.resourceKeys = new Set(resourceEntries.map((r) => r?.key).filter(Boolean));
|
|
72
|
-
return keys;
|
|
109
|
+
return {
|
|
110
|
+
moduleKeys: collectModuleKeys(parsed?.modules),
|
|
111
|
+
functionKeys: new Set((parsed?.modules?.function || []).map((f) => f?.key).filter((k) => Boolean(k))),
|
|
112
|
+
resourceKeys: new Set((parsed?.resources || []).map((r) => r?.key).filter((k) => Boolean(k)))
|
|
113
|
+
};
|
|
73
114
|
}
|
|
74
115
|
catch {
|
|
75
116
|
return {
|
|
@@ -88,38 +129,43 @@ class ModuleService {
|
|
|
88
129
|
return undefined;
|
|
89
130
|
}
|
|
90
131
|
}
|
|
91
|
-
|
|
92
|
-
if (varDef.name === 'moduleKey' && existingKeys.moduleKeys.has(value)) {
|
|
93
|
-
return cli_shared_1.Text.module.errors.duplicateModuleKey(value, moduleKey);
|
|
94
|
-
}
|
|
95
|
-
if (varDef.name === 'functionKey' && existingKeys.functionKeys.has(value)) {
|
|
96
|
-
return cli_shared_1.Text.module.errors.duplicateFunctionKey(value);
|
|
97
|
-
}
|
|
98
|
-
if (varDef.name === 'resourceKey' && existingKeys.resourceKeys.has(value)) {
|
|
99
|
-
return cli_shared_1.Text.module.errors.duplicateResourceKey(value);
|
|
100
|
-
}
|
|
101
|
-
return undefined;
|
|
102
|
-
}
|
|
103
|
-
async validateFragment(substitutedFragment, manifestPath, currentValue, moduleKey) {
|
|
132
|
+
async validateFragment(substitutedFragment, manifestPath, currentValue, varName) {
|
|
104
133
|
const fragment = yaml_1.default.parse(substitutedFragment);
|
|
105
134
|
const existingManifest = yaml_1.default.parse(fs_1.default.readFileSync(manifestPath, 'utf8'));
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
return
|
|
121
|
-
|
|
122
|
-
|
|
135
|
+
const merged = mergeFragmentIntoManifest(existingManifest, fragment);
|
|
136
|
+
const yamlString = yaml_1.default.stringify(merged);
|
|
137
|
+
const validatorInput = {
|
|
138
|
+
filePath: manifestPath,
|
|
139
|
+
yamlContent: merged,
|
|
140
|
+
yamlContentByLine: yamlString.split('\n')
|
|
141
|
+
};
|
|
142
|
+
const schemaResult = await new manifest_1.SchemaValidator(manifest_schema_json_1.default).validate(validatorInput);
|
|
143
|
+
const modulesResult = await new manifest_1.ModulesValidator().validate({
|
|
144
|
+
...validatorInput,
|
|
145
|
+
typedContent: merged
|
|
146
|
+
});
|
|
147
|
+
const allErrors = [...(schemaResult.errors ?? []), ...(modulesResult.errors ?? [])];
|
|
148
|
+
if (allErrors.length === 0)
|
|
149
|
+
return [];
|
|
150
|
+
const keyword = VALIDATION_KEYWORD_BY_VAR[varName];
|
|
151
|
+
const messages = [];
|
|
152
|
+
const seen = new Set();
|
|
153
|
+
for (const e of allErrors) {
|
|
154
|
+
if (e.level !== 'error')
|
|
155
|
+
continue;
|
|
156
|
+
if (PROMPT_TIME_IRRELEVANT_PATTERNS.some((p) => p.test(e.message)))
|
|
157
|
+
continue;
|
|
158
|
+
const quotedValue = new RegExp(`[\`'"‘“]${currentValue.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}(?:-[^\`'"’”]*)?[\`'"’”]`);
|
|
159
|
+
if (!quotedValue.test(e.message))
|
|
160
|
+
continue;
|
|
161
|
+
if (keyword && !keyword.test(e.message))
|
|
162
|
+
continue;
|
|
163
|
+
if (seen.has(e.message))
|
|
164
|
+
continue;
|
|
165
|
+
seen.add(e.message);
|
|
166
|
+
messages.push(e.message);
|
|
167
|
+
}
|
|
168
|
+
return messages;
|
|
123
169
|
}
|
|
124
170
|
getVariableDefinitions(template, uiFramework) {
|
|
125
171
|
if (uiFramework && template.variants?.[uiFramework]?.variables) {
|
|
@@ -130,29 +176,39 @@ class ModuleService {
|
|
|
130
176
|
}
|
|
131
177
|
return [];
|
|
132
178
|
}
|
|
133
|
-
loadManifestContext(
|
|
179
|
+
loadManifestContext() {
|
|
134
180
|
const manifestPath = path_1.default.join(process.cwd(), 'manifest.yml');
|
|
135
181
|
const manifestContent = fs_1.default.readFileSync(manifestPath, 'utf8');
|
|
136
|
-
const existingKeys = this.parseManifestAndExtractKeys(manifestContent, manifestPath
|
|
182
|
+
const existingKeys = this.parseManifestAndExtractKeys(manifestContent, manifestPath);
|
|
137
183
|
return { manifestPath, existingKeys };
|
|
138
184
|
}
|
|
139
185
|
computeEffectiveDefault(varDef, variables) {
|
|
140
|
-
if (varDef.
|
|
141
|
-
|
|
186
|
+
if (varDef.default) {
|
|
187
|
+
const resolved = varDef.default.replace(/\{\{\s*([a-zA-Z0-9_-]+)\s*\}\}/g, (match, key) => variables[key] ?? match);
|
|
188
|
+
return resolved;
|
|
142
189
|
}
|
|
143
190
|
return varDef.default;
|
|
144
191
|
}
|
|
145
192
|
async validateCandidateValue(varDef, value, existingKeys, moduleKey, fragmentContent, variables, manifestPath) {
|
|
146
|
-
const duplicateWarning = this.checkDuplicateKey(varDef, value, existingKeys, moduleKey);
|
|
147
|
-
if (duplicateWarning) {
|
|
148
|
-
return [duplicateWarning];
|
|
149
|
-
}
|
|
150
193
|
if (fragmentContent) {
|
|
151
|
-
const substituted = fragmentContent.replace(/\{\{\s*([a-zA-Z0-9_-]+)\s*\}\}/g, (_m, key) =>
|
|
152
|
-
|
|
194
|
+
const substituted = fragmentContent.replace(/\{\{\s*([a-zA-Z0-9_-]+)\s*\}\}/g, (_m, key) => {
|
|
195
|
+
if (key === varDef.name)
|
|
196
|
+
return value;
|
|
197
|
+
return variables[key] ?? generateUnfilledPlaceholder();
|
|
198
|
+
});
|
|
199
|
+
return this.validateFragment(substituted, manifestPath, value, varDef.name);
|
|
153
200
|
}
|
|
154
201
|
return [];
|
|
155
202
|
}
|
|
156
203
|
}
|
|
157
204
|
exports.ModuleService = ModuleService;
|
|
205
|
+
function generateUnfilledPlaceholder() {
|
|
206
|
+
const alphabet = 'abcdefghijklmnopqrstuvwxyz';
|
|
207
|
+
const bytes = crypto_1.default.randomBytes(12);
|
|
208
|
+
let out = '';
|
|
209
|
+
for (let i = 0; i < 12; i++) {
|
|
210
|
+
out += alphabet[bytes[i] % alphabet.length];
|
|
211
|
+
}
|
|
212
|
+
return out;
|
|
213
|
+
}
|
|
158
214
|
//# sourceMappingURL=module-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-service.js","sourceRoot":"","sources":["../../src/service/module-service.ts"],"names":[],"mappings":";;;;AAAA,oDAAoB;AACpB,wDAAwB;AACxB,wDAAwB;AACxB,
|
|
1
|
+
{"version":3,"file":"module-service.js","sourceRoot":"","sources":["../../src/service/module-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli",
|
|
3
|
-
"version": "12.21.
|
|
3
|
+
"version": "12.21.1-next.7-experimental-5c60439",
|
|
4
4
|
"description": "A command line interface for managing Atlassian-hosted apps",
|
|
5
5
|
"author": "Atlassian",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
"generate:custom-scopes-types": "json2ts --input src/custom-scopes/validation/schema.json --output src/custom-scopes/generated-types.d.ts --style.singleQuote"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@forge/bundler": "6.2.
|
|
25
|
-
"@forge/cli-shared": "8.23.
|
|
24
|
+
"@forge/bundler": "6.2.1-next.7-experimental-5c60439",
|
|
25
|
+
"@forge/cli-shared": "8.23.1-next.6-experimental-5c60439",
|
|
26
26
|
"@forge/egress": "2.3.2",
|
|
27
|
-
"@forge/lint": "5.19.
|
|
28
|
-
"@forge/manifest": "12.
|
|
27
|
+
"@forge/lint": "5.19.2-next.7-experimental-5c60439",
|
|
28
|
+
"@forge/manifest": "12.9.0-next.5-experimental-5c60439",
|
|
29
29
|
"@forge/i18n": "0.0.7",
|
|
30
30
|
"@forge/runtime": "6.1.3",
|
|
31
|
-
"@forge/tunnel": "6.4.
|
|
31
|
+
"@forge/tunnel": "6.4.1-next.7-experimental-5c60439",
|
|
32
32
|
"@forge/util": "2.0.1",
|
|
33
33
|
"@sentry/node": "7.106.0",
|
|
34
34
|
"ajv": "^8.18.0",
|
|
@@ -64,6 +64,7 @@
|
|
|
64
64
|
"v8-compile-cache": "^2.4.0"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
|
+
"@types/adm-zip": "^0.5.5",
|
|
67
68
|
"@types/archiver": "^6.0.3",
|
|
68
69
|
"@types/command-exists": "^1.2.3",
|
|
69
70
|
"@types/cross-spawn": "^6.0.6",
|
|
@@ -79,6 +80,7 @@
|
|
|
79
80
|
"@types/omelette": "^0.4.5",
|
|
80
81
|
"@types/semver": "^7.5.8",
|
|
81
82
|
"@types/tmp": "^0.2.6",
|
|
83
|
+
"adm-zip": "^0.5.10",
|
|
82
84
|
"chokidar": "^3.6.0",
|
|
83
85
|
"jest": "^29.7.0",
|
|
84
86
|
"jest-fixtures": "^0.6.0",
|