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 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
+ ![git-versioning](./images/git-versioning.png)
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
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: screw-up
3
- * version: 1.17.0
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: 05a9f2e0dec5249126f020eee1d57f6ff8767096
8
+ * git.commit.hash: b86321865390ff8dc11c118f46a8e0ba8b67aa9c
9
9
  */
10
10
 
11
11
  import { Logger } from './internal.js';
@@ -1,14 +1,21 @@
1
1
  /*!
2
2
  * name: screw-up
3
- * version: 1.17.0
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: 05a9f2e0dec5249126f020eee1d57f6ff8767096
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":";;;;;;;;;AAiBA,OAAO,EAKL,MAAM,EACP,MAAM,YAAY,CAAC;AAyEpB;;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,KACb,OAAO,CAAC,YAAY,GAAG,SAAS,CAmIlC,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"}
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.17.0
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: 05a9f2e0dec5249126f020eee1d57f6ff8767096
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":";;;;;;;;;AAiBA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAypBpC,eAAO,MAAM,OAAO,GAClB,MAAM,MAAM,EAAE,EACd,QAAQ,MAAM,KACb,OAAO,CAAC,MAAM,CA8BhB,CAAC"}
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"}
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: screw-up
3
- * version: 1.17.0
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: 05a9f2e0dec5249126f020eee1d57f6ff8767096
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.17.0
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: 05a9f2e0dec5249126f020eee1d57f6ff8767096
8
+ * git.commit.hash: b86321865390ff8dc11c118f46a8e0ba8b67aa9c
9
9
  */
10
10
 
11
11
  export declare const name = "screw-up";
12
- export declare const version = "1.17.0";
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 = "05a9f2e0dec5249126f020eee1d57f6ff8767096";
17
+ export declare const git_commit_hash = "b86321865390ff8dc11c118f46a8e0ba8b67aa9c";
18
18
  //# sourceMappingURL=packageMetadata.d.ts.map
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: screw-up
3
- * version: 1.17.0
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: 05a9f2e0dec5249126f020eee1d57f6ff8767096
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.17.0
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: 05a9f2e0dec5249126f020eee1d57f6ff8767096
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-DdvLnmBC.cjs");
14
+ const packageMetadata = require("./packageMetadata-DXwK6bb8.cjs");
15
15
  /*!
16
16
  * name: async-primitives
17
- * version: 1.2.0
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: 3b7bffeaa8ae47aea6e8b0ef0f70e265a6d9ab08
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 { content: metadataSourceContent, exportedIdentifiers } = generateMetadataFileContent(metadata, outputMetadataKeys);
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(metadataSourcePath);
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
- if (metadataTypeWritten) {
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 { content: dummyContent } = generateMetadataFileContent(
443
- dummyMetadata,
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}`