screw-up 1.17.0 → 1.19.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/README.md +4 -0
- package/dist/analyzer.d.ts +2 -2
- package/dist/cli-internal.d.ts +10 -3
- package/dist/cli-internal.d.ts.map +1 -1
- package/dist/cli.d.ts +2 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/fast-tags.d.ts +2 -2
- package/dist/generated/packageMetadata.d.ts +4 -4
- package/dist/git-operations.d.ts +2 -2
- package/dist/index.cjs +33 -133
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +33 -133
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +2 -2
- package/dist/main.cjs +277 -14
- package/dist/main.cjs.map +1 -1
- package/dist/main.d.ts +2 -2
- package/dist/main.js +279 -16
- package/dist/main.js.map +1 -1
- package/dist/metadata-file.d.ts +22 -0
- package/dist/metadata-file.d.ts.map +1 -0
- package/dist/{packageMetadata-DdvLnmBC.cjs → packageMetadata-DXwK6bb8.cjs} +73 -5
- package/dist/packageMetadata-DXwK6bb8.cjs.map +1 -0
- package/dist/{packageMetadata-DgMEVI8P.js → packageMetadata-DlkAQe0j.js} +79 -11
- package/dist/packageMetadata-DlkAQe0j.js.map +1 -0
- package/dist/types.d.ts +2 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/vite-plugin.d.ts +2 -2
- package/dist/vite-plugin.d.ts.map +1 -1
- package/images/git-versioning.png +0 -0
- package/package.json +10 -9
- package/dist/packageMetadata-DdvLnmBC.cjs.map +0 -1
- package/dist/packageMetadata-DgMEVI8P.js.map +0 -1
package/README.md
CHANGED
|
@@ -49,6 +49,10 @@ To insert banner header each bundled source files (`dist/index.js` and etc.):
|
|
|
49
49
|
You may have noticed the line `git.commit.hash:`. That's right, if your project is managed by Git (it is, right?), you can also insert commit IDs, branch information, and tag information.
|
|
50
50
|
Most importantly, if a version is applied to a Git tag, you can automatically reflect that version tag in the `version` field of `package.json`. In other words, you can manage version numbers using only Git tags!
|
|
51
51
|
|
|
52
|
+
This calculates the version number by measuring the commit height to the current HEAD based on the last applied version tag.
|
|
53
|
+
|
|
54
|
+

|
|
55
|
+
|
|
52
56
|
Instead of using `npm pack`, you can use the CLI tool `screw-up` to generate packages, which will automatically apply the collected metadata to the NPM package's `package.json`:
|
|
53
57
|
|
|
54
58
|
```bash
|
package/dist/analyzer.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* name: screw-up
|
|
3
|
-
* version: 1.
|
|
3
|
+
* version: 1.19.0
|
|
4
4
|
* description: Simply package metadata inserter on Vite plugin
|
|
5
5
|
* author: Kouji Matsui (@kekyo@mi.kekyo.net)
|
|
6
6
|
* license: MIT
|
|
7
7
|
* repository.url: https://github.com/kekyo/screw-up.git
|
|
8
|
-
* git.commit.hash:
|
|
8
|
+
* git.commit.hash: b86321865390ff8dc11c118f46a8e0ba8b67aa9c
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { Logger } from './internal.js';
|
package/dist/cli-internal.d.ts
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* name: screw-up
|
|
3
|
-
* version: 1.
|
|
3
|
+
* version: 1.19.0
|
|
4
4
|
* description: Simply package metadata inserter on Vite plugin
|
|
5
5
|
* author: Kouji Matsui (@kekyo@mi.kekyo.net)
|
|
6
6
|
* license: MIT
|
|
7
7
|
* repository.url: https://github.com/kekyo/screw-up.git
|
|
8
|
-
* git.commit.hash:
|
|
8
|
+
* git.commit.hash: b86321865390ff8dc11c118f46a8e0ba8b67aa9c
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { Logger } from './internal';
|
|
12
|
+
export interface WorkspaceFilesMergeResult {
|
|
13
|
+
readonly workspaceRoot: string;
|
|
14
|
+
readonly parentFiles?: string[];
|
|
15
|
+
readonly childFiles?: string[];
|
|
16
|
+
readonly mergedFiles?: string[];
|
|
17
|
+
}
|
|
18
|
+
export declare const resolveWorkspaceFilesMerge: (targetDir: string, logger: Logger) => Promise<WorkspaceFilesMergeResult | undefined>;
|
|
12
19
|
/**
|
|
13
20
|
* Packed result
|
|
14
21
|
*/
|
|
@@ -28,7 +35,7 @@ export interface PackedResult {
|
|
|
28
35
|
* @param alwaysOverrideVersionFromGit - Always override version from Git (default: true)
|
|
29
36
|
* @returns Package metadata (package.json) or undefined if failed
|
|
30
37
|
*/
|
|
31
|
-
export declare const packAssets: (targetDir: string, outputDir: string, checkWorkingDirectoryStatus: boolean, alwaysOverrideVersionFromGit: boolean, inheritableFields: Set<string>, readmeReplacementPath: string | undefined, replacePeerDepsWildcards: boolean, peerDepsVersionPrefix: string, logger: Logger) => Promise<PackedResult | undefined>;
|
|
38
|
+
export declare const packAssets: (targetDir: string, outputDir: string, checkWorkingDirectoryStatus: boolean, alwaysOverrideVersionFromGit: boolean, inheritableFields: Set<string>, readmeReplacementPath: string | undefined, replacePeerDepsWildcards: boolean, peerDepsVersionPrefix: string, logger: Logger, mergeFiles?: boolean) => Promise<PackedResult | undefined>;
|
|
32
39
|
/**
|
|
33
40
|
* Get computed package.json object
|
|
34
41
|
* @param targetDir - Target directory to resolve package metadata
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-internal.d.ts","sourceRoot":"","sources":["../src/cli-internal.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"cli-internal.d.ts","sourceRoot":"","sources":["../src/cli-internal.ts"],"names":[],"mappings":";;;;;;;;;AAmBA,OAAO,EAKL,MAAM,EACP,MAAM,YAAY,CAAC;AAgHpB,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,eAAO,MAAM,0BAA0B,GACrC,WAAW,MAAM,EACjB,QAAQ,MAAM,KACb,OAAO,CAAC,yBAAyB,GAAG,SAAS,CA6B/C,CAAC;AAoEF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;CACxB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,GACrB,WAAW,MAAM,EACjB,WAAW,MAAM,EACjB,6BAA6B,OAAO,EACpC,8BAA8B,OAAO,EACrC,mBAAmB,GAAG,CAAC,MAAM,CAAC,EAC9B,uBAAuB,MAAM,GAAG,SAAS,EACzC,0BAA0B,OAAO,EACjC,uBAAuB,MAAM,EAC7B,QAAQ,MAAM,EACd,aAAY,OAAc,KACzB,OAAO,CAAC,YAAY,GAAG,SAAS,CA+JlC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,GACvC,WAAW,MAAM,EACjB,kBAAkB,MAAM,OAAO,CAAC,GAAG,CAAC,EACpC,8BAA8B,OAAO,EACrC,mBAAmB,GAAG,CAAC,MAAM,CAAC,EAC9B,QAAQ,MAAM,EACd,iBAAgB,OAAe,KAC9B,OAAO,CAAC,GAAG,CAgBb,CAAC;AAIF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;CACpD;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GACpB,MAAM,MAAM,EAAE,EACd,cAAc,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,KACrC,UAiDF,CAAC"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* name: screw-up
|
|
3
|
-
* version: 1.
|
|
3
|
+
* version: 1.19.0
|
|
4
4
|
* description: Simply package metadata inserter on Vite plugin
|
|
5
5
|
* author: Kouji Matsui (@kekyo@mi.kekyo.net)
|
|
6
6
|
* license: MIT
|
|
7
7
|
* repository.url: https://github.com/kekyo/screw-up.git
|
|
8
|
-
* git.commit.hash:
|
|
8
|
+
* git.commit.hash: b86321865390ff8dc11c118f46a8e0ba8b67aa9c
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { Logger } from './internal';
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;AAkBA,OAAO,EAAE,MAAM,EAA0B,MAAM,YAAY,CAAC;AAyzB5D,eAAO,MAAM,OAAO,GAClB,MAAM,MAAM,EAAE,EACd,QAAQ,MAAM,KACb,OAAO,CAAC,MAAM,CAgChB,CAAC"}
|
package/dist/fast-tags.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* name: screw-up
|
|
3
|
-
* version: 1.
|
|
3
|
+
* version: 1.19.0
|
|
4
4
|
* description: Simply package metadata inserter on Vite plugin
|
|
5
5
|
* author: Kouji Matsui (@kekyo@mi.kekyo.net)
|
|
6
6
|
* license: MIT
|
|
7
7
|
* repository.url: https://github.com/kekyo/screw-up.git
|
|
8
|
-
* git.commit.hash:
|
|
8
|
+
* git.commit.hash: b86321865390ff8dc11c118f46a8e0ba8b67aa9c
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { Logger } from './internal.js';
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* name: screw-up
|
|
3
|
-
* version: 1.
|
|
3
|
+
* version: 1.19.0
|
|
4
4
|
* description: Simply package metadata inserter on Vite plugin
|
|
5
5
|
* author: Kouji Matsui (@kekyo@mi.kekyo.net)
|
|
6
6
|
* license: MIT
|
|
7
7
|
* repository.url: https://github.com/kekyo/screw-up.git
|
|
8
|
-
* git.commit.hash:
|
|
8
|
+
* git.commit.hash: b86321865390ff8dc11c118f46a8e0ba8b67aa9c
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
export declare const name = "screw-up";
|
|
12
|
-
export declare const version = "1.
|
|
12
|
+
export declare const version = "1.19.0";
|
|
13
13
|
export declare const description = "Simply package metadata inserter on Vite plugin";
|
|
14
14
|
export declare const author = "Kouji Matsui (@kekyo@mi.kekyo.net)";
|
|
15
15
|
export declare const license = "MIT";
|
|
16
16
|
export declare const repository_url = "https://github.com/kekyo/screw-up.git";
|
|
17
|
-
export declare const git_commit_hash = "
|
|
17
|
+
export declare const git_commit_hash = "b86321865390ff8dc11c118f46a8e0ba8b67aa9c";
|
|
18
18
|
//# sourceMappingURL=packageMetadata.d.ts.map
|
package/dist/git-operations.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* name: screw-up
|
|
3
|
-
* version: 1.
|
|
3
|
+
* version: 1.19.0
|
|
4
4
|
* description: Simply package metadata inserter on Vite plugin
|
|
5
5
|
* author: Kouji Matsui (@kekyo@mi.kekyo.net)
|
|
6
6
|
* license: MIT
|
|
7
7
|
* repository.url: https://github.com/kekyo/screw-up.git
|
|
8
|
-
* git.commit.hash:
|
|
8
|
+
* git.commit.hash: b86321865390ff8dc11c118f46a8e0ba8b67aa9c
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { TagInfo, Version } from './analyzer';
|
package/dist/index.cjs
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*!
|
|
3
3
|
* name: screw-up
|
|
4
|
-
* version: 1.
|
|
4
|
+
* version: 1.19.0
|
|
5
5
|
* description: Simply package metadata inserter on Vite plugin
|
|
6
6
|
* author: Kouji Matsui (@kekyo@mi.kekyo.net)
|
|
7
7
|
* license: MIT
|
|
8
8
|
* repository.url: https://github.com/kekyo/screw-up.git
|
|
9
|
-
* git.commit.hash:
|
|
9
|
+
* git.commit.hash: b86321865390ff8dc11c118f46a8e0ba8b67aa9c
|
|
10
10
|
*/
|
|
11
11
|
const fs = require("fs/promises");
|
|
12
12
|
const fs$1 = require("fs");
|
|
13
13
|
const path = require("path");
|
|
14
|
-
const packageMetadata = require("./packageMetadata-
|
|
14
|
+
const packageMetadata = require("./packageMetadata-DXwK6bb8.cjs");
|
|
15
15
|
/*!
|
|
16
16
|
* name: async-primitives
|
|
17
|
-
* version: 1.
|
|
17
|
+
* version: 1.5.0
|
|
18
18
|
* description: A collection of primitive functions for asynchronous operations
|
|
19
19
|
* author: Kouji Matsui (@kekyo@mi.kekyo.net)
|
|
20
20
|
* license: MIT
|
|
21
21
|
* repository.url: https://github.com/kekyo/async-primitives.git
|
|
22
|
-
* git.commit.hash:
|
|
22
|
+
* git.commit.hash: cd35465b7e9b9945049186e7eaeecc0bfba65766
|
|
23
23
|
*/
|
|
24
24
|
const __NOOP_HANDLER = () => {
|
|
25
25
|
};
|
|
@@ -27,13 +27,22 @@ const __NOOP_RELEASABLE = {
|
|
|
27
27
|
release: __NOOP_HANDLER,
|
|
28
28
|
[Symbol.dispose]: __NOOP_HANDLER
|
|
29
29
|
};
|
|
30
|
+
const toAbortError = (reason) => {
|
|
31
|
+
if (reason instanceof Error) {
|
|
32
|
+
return reason;
|
|
33
|
+
}
|
|
34
|
+
if (typeof reason === "string") {
|
|
35
|
+
return new Error(reason);
|
|
36
|
+
}
|
|
37
|
+
return new Error("Operation aborted");
|
|
38
|
+
};
|
|
30
39
|
const onAbort = (signal, callback) => {
|
|
31
40
|
if (!signal) {
|
|
32
41
|
return __NOOP_RELEASABLE;
|
|
33
42
|
}
|
|
34
43
|
if (signal.aborted) {
|
|
35
44
|
try {
|
|
36
|
-
callback();
|
|
45
|
+
callback(toAbortError(signal.reason));
|
|
37
46
|
} catch (error) {
|
|
38
47
|
console.warn("AbortHook callback error: ", error);
|
|
39
48
|
}
|
|
@@ -42,10 +51,11 @@ const onAbort = (signal, callback) => {
|
|
|
42
51
|
let abortHandler;
|
|
43
52
|
abortHandler = () => {
|
|
44
53
|
if (abortHandler) {
|
|
54
|
+
const reason = signal.reason;
|
|
45
55
|
signal.removeEventListener("abort", abortHandler);
|
|
46
56
|
abortHandler = void 0;
|
|
47
57
|
try {
|
|
48
|
-
callback();
|
|
58
|
+
callback(toAbortError(reason));
|
|
49
59
|
} catch (error) {
|
|
50
60
|
console.warn("AbortHook callback error: ", error);
|
|
51
61
|
}
|
|
@@ -227,40 +237,6 @@ const mergeBanners = (currentBanner, existingBanner) => {
|
|
|
227
237
|
const currentWithNewline = ensureTrailingNewline(currentBanner, newlineSeq);
|
|
228
238
|
return `${currentWithNewline}${existingBanner}`;
|
|
229
239
|
};
|
|
230
|
-
const sanitizeKey = (key) => {
|
|
231
|
-
return key.replace(/[^a-zA-Z0-9_]/g, "_").replace(/^(\d)/, "_$1");
|
|
232
|
-
};
|
|
233
|
-
const generateMetadataFileContent = (metadata, outputKeys) => {
|
|
234
|
-
const lines = [];
|
|
235
|
-
const exportedIdentifiers = [];
|
|
236
|
-
lines.push("// @ts-nocheck");
|
|
237
|
-
lines.push("// This file is auto-generated by screw-up plugin");
|
|
238
|
-
lines.push("// Do not edit manually");
|
|
239
|
-
lines.push("");
|
|
240
|
-
for (const key of outputKeys) {
|
|
241
|
-
const value = metadata[key];
|
|
242
|
-
if (value) {
|
|
243
|
-
const sanitizedKey = sanitizeKey(key);
|
|
244
|
-
const escapedValue = JSON.stringify(value);
|
|
245
|
-
lines.push(`export const ${sanitizedKey} = ${escapedValue};`);
|
|
246
|
-
exportedIdentifiers.push(sanitizedKey);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
lines.push("");
|
|
250
|
-
return { content: lines.join("\n"), exportedIdentifiers };
|
|
251
|
-
};
|
|
252
|
-
const generateMetadataTypeFileContent = (outputKeys) => {
|
|
253
|
-
const lines = [];
|
|
254
|
-
lines.push("// This file is auto-generated by screw-up plugin");
|
|
255
|
-
lines.push("// Do not edit manually");
|
|
256
|
-
lines.push("");
|
|
257
|
-
for (const key of outputKeys) {
|
|
258
|
-
const sanitizedKey = sanitizeKey(key);
|
|
259
|
-
lines.push(`export declare const ${sanitizedKey}: string;`);
|
|
260
|
-
}
|
|
261
|
-
lines.push("");
|
|
262
|
-
return lines.join("\n");
|
|
263
|
-
};
|
|
264
240
|
const countInsertedLines = (bannerWithTrailingNewline) => {
|
|
265
241
|
return bannerWithTrailingNewline.split("\n").length - 1;
|
|
266
242
|
};
|
|
@@ -302,7 +278,6 @@ const screwUp = (options = {}) => {
|
|
|
302
278
|
assetFilters = ["\\.d\\.ts$"],
|
|
303
279
|
outputMetadataFile = false,
|
|
304
280
|
outputMetadataFilePath = "src/generated/packageMetadata.ts",
|
|
305
|
-
outputMetadataFileTypePath,
|
|
306
281
|
outputMetadataKeys = [
|
|
307
282
|
"name",
|
|
308
283
|
"version",
|
|
@@ -317,7 +292,6 @@ const screwUp = (options = {}) => {
|
|
|
317
292
|
insertMetadataBanner = true
|
|
318
293
|
} = options;
|
|
319
294
|
const assetFiltersRegex = assetFilters.map((filter) => new RegExp(filter));
|
|
320
|
-
const resolvedOutputMetadataTypeFilePath = outputMetadataFileTypePath || outputMetadataFilePath.replace(/\.ts$/, ".d.ts");
|
|
321
295
|
const generateMetadataSourceLocker = createMutex();
|
|
322
296
|
const loggerPrefix = `${packageMetadata.name}-vite`;
|
|
323
297
|
let logger = packageMetadata.createConsoleLogger(loggerPrefix);
|
|
@@ -325,50 +299,6 @@ const screwUp = (options = {}) => {
|
|
|
325
299
|
let metadata;
|
|
326
300
|
let projectRoot;
|
|
327
301
|
let fetchGitMetadata = () => Promise.resolve({});
|
|
328
|
-
const writeFileIfChanged = async (filePath, content, description) => {
|
|
329
|
-
try {
|
|
330
|
-
let shouldWrite = !fs$1.existsSync(filePath);
|
|
331
|
-
if (!shouldWrite) {
|
|
332
|
-
try {
|
|
333
|
-
const existingContent = await fs.readFile(filePath, "utf-8");
|
|
334
|
-
shouldWrite = existingContent !== content;
|
|
335
|
-
} catch (e) {
|
|
336
|
-
shouldWrite = true;
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
if (shouldWrite) {
|
|
340
|
-
await fs.mkdir(path.dirname(filePath), { recursive: true });
|
|
341
|
-
await fs.writeFile(filePath, content);
|
|
342
|
-
return true;
|
|
343
|
-
} else {
|
|
344
|
-
return false;
|
|
345
|
-
}
|
|
346
|
-
} catch (error) {
|
|
347
|
-
logger.warn(`Failed to write ${description}: ${filePath}: ${error}`);
|
|
348
|
-
return false;
|
|
349
|
-
}
|
|
350
|
-
};
|
|
351
|
-
const ensureMetadataGitignore = async (metadataSourcePath) => {
|
|
352
|
-
const metadataDirectory = path.dirname(metadataSourcePath);
|
|
353
|
-
const gitignorePath = path.join(metadataDirectory, ".gitignore");
|
|
354
|
-
if (fs$1.existsSync(gitignorePath)) {
|
|
355
|
-
return false;
|
|
356
|
-
}
|
|
357
|
-
try {
|
|
358
|
-
await fs.mkdir(metadataDirectory, { recursive: true });
|
|
359
|
-
const metadataFileName = path.basename(metadataSourcePath);
|
|
360
|
-
const gitignoreContent = `# Auto-generated by screw-up plugin
|
|
361
|
-
${metadataFileName}
|
|
362
|
-
`;
|
|
363
|
-
await fs.writeFile(gitignorePath, gitignoreContent);
|
|
364
|
-
return true;
|
|
365
|
-
} catch (error) {
|
|
366
|
-
logger.warn(
|
|
367
|
-
`Failed to write .gitignore for metadata source: ${gitignorePath}: ${error}`
|
|
368
|
-
);
|
|
369
|
-
return false;
|
|
370
|
-
}
|
|
371
|
-
};
|
|
372
302
|
const generateMetadataSourceFiles = async () => {
|
|
373
303
|
const result = await packageMetadata.resolvePackageMetadata(
|
|
374
304
|
projectRoot,
|
|
@@ -379,25 +309,22 @@ ${metadataFileName}
|
|
|
379
309
|
metadata = result.metadata;
|
|
380
310
|
banner = generateBanner(metadata, outputKeys);
|
|
381
311
|
if (outputMetadataFile) {
|
|
382
|
-
const
|
|
312
|
+
const metadataSourceContent = packageMetadata.generateMetadataFileContent(
|
|
313
|
+
metadata,
|
|
314
|
+
outputMetadataKeys
|
|
315
|
+
);
|
|
383
316
|
const metadataSourcePath = path.join(projectRoot, outputMetadataFilePath);
|
|
384
|
-
const metadataWritten = await writeFileIfChanged(
|
|
317
|
+
const metadataWritten = await packageMetadata.writeFileIfChanged(
|
|
385
318
|
metadataSourcePath,
|
|
386
319
|
metadataSourceContent,
|
|
387
|
-
"metadata source file"
|
|
388
|
-
|
|
389
|
-
const metadataTypeContent = generateMetadataTypeFileContent(exportedIdentifiers);
|
|
390
|
-
const metadataTypePath = path.join(
|
|
391
|
-
projectRoot,
|
|
392
|
-
resolvedOutputMetadataTypeFilePath
|
|
393
|
-
);
|
|
394
|
-
const metadataTypeWritten = await writeFileIfChanged(
|
|
395
|
-
metadataTypePath,
|
|
396
|
-
metadataTypeContent,
|
|
397
|
-
"metadata type definition file"
|
|
320
|
+
"metadata source file",
|
|
321
|
+
logger
|
|
398
322
|
);
|
|
399
323
|
if (fs$1.existsSync(metadataSourcePath)) {
|
|
400
|
-
const gitignoreWritten = await ensureMetadataGitignore(
|
|
324
|
+
const gitignoreWritten = await packageMetadata.ensureMetadataGitignore(
|
|
325
|
+
metadataSourcePath,
|
|
326
|
+
logger
|
|
327
|
+
);
|
|
401
328
|
if (gitignoreWritten) {
|
|
402
329
|
logger.info(
|
|
403
330
|
`generateMetadataSourceFile: .gitignore is generated: ${path.join(
|
|
@@ -407,27 +334,7 @@ ${metadataFileName}
|
|
|
407
334
|
);
|
|
408
335
|
}
|
|
409
336
|
}
|
|
410
|
-
|
|
411
|
-
logger.info(
|
|
412
|
-
`generateMetadataSourceFile: Metadata type definition file is generated: ${resolvedOutputMetadataTypeFilePath}`
|
|
413
|
-
);
|
|
414
|
-
}
|
|
415
|
-
return metadataWritten || metadataTypeWritten;
|
|
416
|
-
}
|
|
417
|
-
return false;
|
|
418
|
-
};
|
|
419
|
-
const generateMetadataTypeDefinitionFileFromKeys = async (keys) => {
|
|
420
|
-
if (outputMetadataFile) {
|
|
421
|
-
const metadataTypeContent = generateMetadataTypeFileContent(keys);
|
|
422
|
-
const metadataTypePath = path.join(
|
|
423
|
-
projectRoot,
|
|
424
|
-
resolvedOutputMetadataTypeFilePath
|
|
425
|
-
);
|
|
426
|
-
return await writeFileIfChanged(
|
|
427
|
-
metadataTypePath,
|
|
428
|
-
metadataTypeContent,
|
|
429
|
-
"metadata type definition file"
|
|
430
|
-
);
|
|
337
|
+
return metadataWritten;
|
|
431
338
|
}
|
|
432
339
|
return false;
|
|
433
340
|
};
|
|
@@ -439,14 +346,12 @@ ${metadataFileName}
|
|
|
439
346
|
keys.forEach((key) => {
|
|
440
347
|
dummyMetadata[key] = "[Require first build]";
|
|
441
348
|
});
|
|
442
|
-
const
|
|
443
|
-
|
|
444
|
-
keys
|
|
445
|
-
);
|
|
446
|
-
return await writeFileIfChanged(
|
|
349
|
+
const dummyContent = packageMetadata.generateMetadataFileContent(dummyMetadata, keys);
|
|
350
|
+
return await packageMetadata.writeFileIfChanged(
|
|
447
351
|
metadataSourcePath,
|
|
448
352
|
dummyContent,
|
|
449
|
-
"dummy metadata source file"
|
|
353
|
+
"dummy metadata source file",
|
|
354
|
+
logger
|
|
450
355
|
);
|
|
451
356
|
}
|
|
452
357
|
}
|
|
@@ -461,11 +366,6 @@ ${metadataFileName}
|
|
|
461
366
|
applyToEnvironment: async (penv) => {
|
|
462
367
|
logger.info(`${packageMetadata.version}-${packageMetadata.git_commit_hash}: Started.`);
|
|
463
368
|
projectRoot = penv.config.root;
|
|
464
|
-
if (projectRoot && await generateMetadataTypeDefinitionFileFromKeys(outputMetadataKeys)) {
|
|
465
|
-
logger.info(
|
|
466
|
-
`applyToEnvironment: Metadata type definition file is generated: ${resolvedOutputMetadataTypeFilePath}`
|
|
467
|
-
);
|
|
468
|
-
}
|
|
469
369
|
if (projectRoot && await generateMetadataFileFromKeys(outputMetadataKeys)) {
|
|
470
370
|
logger.info(
|
|
471
371
|
`applyToEnvironment: Dummy metadata source file is generated: ${outputMetadataFilePath}`
|