@expo/steps 0.0.6 → 0.0.8

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.
@@ -65,7 +65,7 @@ async function cleanUpStepTemporaryDirectoriesAsync(ctx, stepId) {
65
65
  return;
66
66
  }
67
67
  const stepTemporaryDirectory = getTemporaryStepDirPath(ctx, stepId);
68
- await promises_1.default.rm(stepTemporaryDirectory, { recursive: true });
68
+ await promises_1.default.rm(stepTemporaryDirectory, { recursive: true, force: true });
69
69
  ctx.logger.debug({ stepTemporaryDirectory }, 'Removed step temporary directory');
70
70
  }
71
71
  exports.cleanUpStepTemporaryDirectoriesAsync = cleanUpStepTemporaryDirectoriesAsync;
@@ -74,7 +74,7 @@ async function cleanUpWorkflowTemporaryDirectoriesAsync(ctx) {
74
74
  return;
75
75
  }
76
76
  const temporaryDirectories = [getTemporaryArtifactsDirPath(ctx)];
77
- const rmPromises = temporaryDirectories.map((dir) => promises_1.default.rm(dir, { recursive: true }));
77
+ const rmPromises = temporaryDirectories.map((dir) => promises_1.default.rm(dir, { recursive: true, force: true }));
78
78
  await Promise.all(rmPromises);
79
79
  ctx.logger.debug({ temporaryDirectories }, 'Removed temporary directories');
80
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BuildTemporaryFiles.js","sourceRoot":"","sources":["../src/BuildTemporaryFiles.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path';\nimport fs from 'fs/promises';\n\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { BuildStepContext } from './BuildStepContext.js';\nimport { BuildArtifactType } from './BuildArtifacts.js';\nimport { BuildInternalError } from './errors/BuildInternalError.js';\n\nexport async function saveScriptToTemporaryFileAsync(\n ctx: BuildStepContext,\n stepId: string,\n scriptContents: string\n): Promise<string> {\n const scriptsDir = getTemporaryScriptsDirPath(ctx, stepId);\n await fs.mkdir(scriptsDir, { recursive: true });\n const temporaryScriptPath = path.join(scriptsDir, `${uuidv4()}.sh`);\n await fs.writeFile(temporaryScriptPath, scriptContents);\n return temporaryScriptPath;\n}\n\nexport async function saveArtifactToTemporaryDirectoryAsync(\n ctx: BuildStepContext,\n type: BuildArtifactType,\n artifactPath: string\n): Promise<string> {\n let targetArtifactPath: string;\n if (type === BuildArtifactType.APPLICATION_ARCHIVE) {\n targetArtifactPath = path.join(\n getTemporaryApplicationArchiveDirPath(ctx),\n path.basename(artifactPath)\n );\n } else if (type === BuildArtifactType.BUILD_ARTIFACT) {\n targetArtifactPath = path.join(\n getTemporaryBuildArtifactsDirPath(ctx),\n path.basename(artifactPath)\n );\n } else {\n throw new BuildInternalError(`Uploading artifacts of type \"${type}\" is not implemented.`);\n }\n\n await fs.mkdir(path.dirname(targetArtifactPath), { recursive: true });\n await fs.copyFile(artifactPath, targetArtifactPath);\n return targetArtifactPath;\n}\n\nexport async function createTemporaryOutputsDirectoryAsync(\n ctx: BuildStepContext,\n stepId: string\n): Promise<string> {\n const directory = getTemporaryOutputsDirPath(ctx, stepId);\n await fs.mkdir(directory, { recursive: true });\n return directory;\n}\n\nexport async function findArtifactsByTypeAsync(\n ctx: BuildStepContext,\n type: BuildArtifactType\n): Promise<string[]> {\n let artifactsDirPath: string;\n if (type === BuildArtifactType.APPLICATION_ARCHIVE) {\n artifactsDirPath = getTemporaryApplicationArchiveDirPath(ctx);\n } else if (type === BuildArtifactType.BUILD_ARTIFACT) {\n artifactsDirPath = getTemporaryBuildArtifactsDirPath(ctx);\n } else {\n throw new BuildInternalError(`Finding artifacts of type \"${type}\" is not implemented.`);\n }\n try {\n const filenames = await fs.readdir(artifactsDirPath);\n return filenames.map((filename) => path.join(artifactsDirPath, filename));\n } catch (err) {\n ctx.logger.debug(\n { err },\n `Failed reading artifacts of type \"${type}\" from \"${artifactsDirPath}\". The directory probably doesn't exist.`\n );\n return [];\n }\n}\n\nexport async function cleanUpStepTemporaryDirectoriesAsync(\n ctx: BuildStepContext,\n stepId: string\n): Promise<void> {\n if (ctx.skipCleanup) {\n return;\n }\n const stepTemporaryDirectory = getTemporaryStepDirPath(ctx, stepId);\n await fs.rm(stepTemporaryDirectory, { recursive: true });\n ctx.logger.debug({ stepTemporaryDirectory }, 'Removed step temporary directory');\n}\n\nexport async function cleanUpWorkflowTemporaryDirectoriesAsync(\n ctx: BuildStepContext\n): Promise<void> {\n if (ctx.skipCleanup) {\n return;\n }\n\n const temporaryDirectories: string[] = [getTemporaryArtifactsDirPath(ctx)];\n const rmPromises = temporaryDirectories.map((dir) => fs.rm(dir, { recursive: true }));\n await Promise.all(rmPromises);\n ctx.logger.debug({ temporaryDirectories }, 'Removed temporary directories');\n}\n\nfunction getTemporaryStepDirPath(ctx: BuildStepContext, stepId: string): string {\n return path.join(ctx.baseWorkingDirectory, 'steps', stepId);\n}\n\nfunction getTemporaryScriptsDirPath(ctx: BuildStepContext, stepId: string): string {\n return path.join(getTemporaryStepDirPath(ctx, stepId), 'scripts');\n}\n\nfunction getTemporaryOutputsDirPath(ctx: BuildStepContext, stepId: string): string {\n return path.join(getTemporaryStepDirPath(ctx, stepId), 'outputs');\n}\n\nfunction getTemporaryApplicationArchiveDirPath(ctx: BuildStepContext): string {\n return path.join(getTemporaryArtifactsDirPath(ctx), 'application-archive');\n}\n\nfunction getTemporaryBuildArtifactsDirPath(ctx: BuildStepContext): string {\n return path.join(getTemporaryArtifactsDirPath(ctx), 'build-artifacts');\n}\n\nfunction getTemporaryArtifactsDirPath(ctx: BuildStepContext): string {\n return path.join(ctx.baseWorkingDirectory, 'artifacts');\n}\n"]}
1
+ {"version":3,"file":"BuildTemporaryFiles.js","sourceRoot":"","sources":["../src/BuildTemporaryFiles.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path';\nimport fs from 'fs/promises';\n\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { BuildStepContext } from './BuildStepContext.js';\nimport { BuildArtifactType } from './BuildArtifacts.js';\nimport { BuildInternalError } from './errors/BuildInternalError.js';\n\nexport async function saveScriptToTemporaryFileAsync(\n ctx: BuildStepContext,\n stepId: string,\n scriptContents: string\n): Promise<string> {\n const scriptsDir = getTemporaryScriptsDirPath(ctx, stepId);\n await fs.mkdir(scriptsDir, { recursive: true });\n const temporaryScriptPath = path.join(scriptsDir, `${uuidv4()}.sh`);\n await fs.writeFile(temporaryScriptPath, scriptContents);\n return temporaryScriptPath;\n}\n\nexport async function saveArtifactToTemporaryDirectoryAsync(\n ctx: BuildStepContext,\n type: BuildArtifactType,\n artifactPath: string\n): Promise<string> {\n let targetArtifactPath: string;\n if (type === BuildArtifactType.APPLICATION_ARCHIVE) {\n targetArtifactPath = path.join(\n getTemporaryApplicationArchiveDirPath(ctx),\n path.basename(artifactPath)\n );\n } else if (type === BuildArtifactType.BUILD_ARTIFACT) {\n targetArtifactPath = path.join(\n getTemporaryBuildArtifactsDirPath(ctx),\n path.basename(artifactPath)\n );\n } else {\n throw new BuildInternalError(`Uploading artifacts of type \"${type}\" is not implemented.`);\n }\n\n await fs.mkdir(path.dirname(targetArtifactPath), { recursive: true });\n await fs.copyFile(artifactPath, targetArtifactPath);\n return targetArtifactPath;\n}\n\nexport async function createTemporaryOutputsDirectoryAsync(\n ctx: BuildStepContext,\n stepId: string\n): Promise<string> {\n const directory = getTemporaryOutputsDirPath(ctx, stepId);\n await fs.mkdir(directory, { recursive: true });\n return directory;\n}\n\nexport async function findArtifactsByTypeAsync(\n ctx: BuildStepContext,\n type: BuildArtifactType\n): Promise<string[]> {\n let artifactsDirPath: string;\n if (type === BuildArtifactType.APPLICATION_ARCHIVE) {\n artifactsDirPath = getTemporaryApplicationArchiveDirPath(ctx);\n } else if (type === BuildArtifactType.BUILD_ARTIFACT) {\n artifactsDirPath = getTemporaryBuildArtifactsDirPath(ctx);\n } else {\n throw new BuildInternalError(`Finding artifacts of type \"${type}\" is not implemented.`);\n }\n try {\n const filenames = await fs.readdir(artifactsDirPath);\n return filenames.map((filename) => path.join(artifactsDirPath, filename));\n } catch (err) {\n ctx.logger.debug(\n { err },\n `Failed reading artifacts of type \"${type}\" from \"${artifactsDirPath}\". The directory probably doesn't exist.`\n );\n return [];\n }\n}\n\nexport async function cleanUpStepTemporaryDirectoriesAsync(\n ctx: BuildStepContext,\n stepId: string\n): Promise<void> {\n if (ctx.skipCleanup) {\n return;\n }\n const stepTemporaryDirectory = getTemporaryStepDirPath(ctx, stepId);\n await fs.rm(stepTemporaryDirectory, { recursive: true, force: true });\n ctx.logger.debug({ stepTemporaryDirectory }, 'Removed step temporary directory');\n}\n\nexport async function cleanUpWorkflowTemporaryDirectoriesAsync(\n ctx: BuildStepContext\n): Promise<void> {\n if (ctx.skipCleanup) {\n return;\n }\n\n const temporaryDirectories: string[] = [getTemporaryArtifactsDirPath(ctx)];\n const rmPromises = temporaryDirectories.map((dir) =>\n fs.rm(dir, { recursive: true, force: true })\n );\n await Promise.all(rmPromises);\n ctx.logger.debug({ temporaryDirectories }, 'Removed temporary directories');\n}\n\nfunction getTemporaryStepDirPath(ctx: BuildStepContext, stepId: string): string {\n return path.join(ctx.baseWorkingDirectory, 'steps', stepId);\n}\n\nfunction getTemporaryScriptsDirPath(ctx: BuildStepContext, stepId: string): string {\n return path.join(getTemporaryStepDirPath(ctx, stepId), 'scripts');\n}\n\nfunction getTemporaryOutputsDirPath(ctx: BuildStepContext, stepId: string): string {\n return path.join(getTemporaryStepDirPath(ctx, stepId), 'outputs');\n}\n\nfunction getTemporaryApplicationArchiveDirPath(ctx: BuildStepContext): string {\n return path.join(getTemporaryArtifactsDirPath(ctx), 'application-archive');\n}\n\nfunction getTemporaryBuildArtifactsDirPath(ctx: BuildStepContext): string {\n return path.join(getTemporaryArtifactsDirPath(ctx), 'build-artifacts');\n}\n\nfunction getTemporaryArtifactsDirPath(ctx: BuildStepContext): string {\n return path.join(ctx.baseWorkingDirectory, 'artifacts');\n}\n"]}
@@ -55,7 +55,7 @@ export async function cleanUpStepTemporaryDirectoriesAsync(ctx, stepId) {
55
55
  return;
56
56
  }
57
57
  const stepTemporaryDirectory = getTemporaryStepDirPath(ctx, stepId);
58
- await fs.rm(stepTemporaryDirectory, { recursive: true });
58
+ await fs.rm(stepTemporaryDirectory, { recursive: true, force: true });
59
59
  ctx.logger.debug({ stepTemporaryDirectory }, 'Removed step temporary directory');
60
60
  }
61
61
  export async function cleanUpWorkflowTemporaryDirectoriesAsync(ctx) {
@@ -63,7 +63,7 @@ export async function cleanUpWorkflowTemporaryDirectoriesAsync(ctx) {
63
63
  return;
64
64
  }
65
65
  const temporaryDirectories = [getTemporaryArtifactsDirPath(ctx)];
66
- const rmPromises = temporaryDirectories.map((dir) => fs.rm(dir, { recursive: true }));
66
+ const rmPromises = temporaryDirectories.map((dir) => fs.rm(dir, { recursive: true, force: true }));
67
67
  await Promise.all(rmPromises);
68
68
  ctx.logger.debug({ temporaryDirectories }, 'Removed temporary directories');
69
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BuildTemporaryFiles.js","sourceRoot":"","sources":["../src/BuildTemporaryFiles.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path';\nimport fs from 'fs/promises';\n\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { BuildStepContext } from './BuildStepContext.js';\nimport { BuildArtifactType } from './BuildArtifacts.js';\nimport { BuildInternalError } from './errors/BuildInternalError.js';\n\nexport async function saveScriptToTemporaryFileAsync(\n ctx: BuildStepContext,\n stepId: string,\n scriptContents: string\n): Promise<string> {\n const scriptsDir = getTemporaryScriptsDirPath(ctx, stepId);\n await fs.mkdir(scriptsDir, { recursive: true });\n const temporaryScriptPath = path.join(scriptsDir, `${uuidv4()}.sh`);\n await fs.writeFile(temporaryScriptPath, scriptContents);\n return temporaryScriptPath;\n}\n\nexport async function saveArtifactToTemporaryDirectoryAsync(\n ctx: BuildStepContext,\n type: BuildArtifactType,\n artifactPath: string\n): Promise<string> {\n let targetArtifactPath: string;\n if (type === BuildArtifactType.APPLICATION_ARCHIVE) {\n targetArtifactPath = path.join(\n getTemporaryApplicationArchiveDirPath(ctx),\n path.basename(artifactPath)\n );\n } else if (type === BuildArtifactType.BUILD_ARTIFACT) {\n targetArtifactPath = path.join(\n getTemporaryBuildArtifactsDirPath(ctx),\n path.basename(artifactPath)\n );\n } else {\n throw new BuildInternalError(`Uploading artifacts of type \"${type}\" is not implemented.`);\n }\n\n await fs.mkdir(path.dirname(targetArtifactPath), { recursive: true });\n await fs.copyFile(artifactPath, targetArtifactPath);\n return targetArtifactPath;\n}\n\nexport async function createTemporaryOutputsDirectoryAsync(\n ctx: BuildStepContext,\n stepId: string\n): Promise<string> {\n const directory = getTemporaryOutputsDirPath(ctx, stepId);\n await fs.mkdir(directory, { recursive: true });\n return directory;\n}\n\nexport async function findArtifactsByTypeAsync(\n ctx: BuildStepContext,\n type: BuildArtifactType\n): Promise<string[]> {\n let artifactsDirPath: string;\n if (type === BuildArtifactType.APPLICATION_ARCHIVE) {\n artifactsDirPath = getTemporaryApplicationArchiveDirPath(ctx);\n } else if (type === BuildArtifactType.BUILD_ARTIFACT) {\n artifactsDirPath = getTemporaryBuildArtifactsDirPath(ctx);\n } else {\n throw new BuildInternalError(`Finding artifacts of type \"${type}\" is not implemented.`);\n }\n try {\n const filenames = await fs.readdir(artifactsDirPath);\n return filenames.map((filename) => path.join(artifactsDirPath, filename));\n } catch (err) {\n ctx.logger.debug(\n { err },\n `Failed reading artifacts of type \"${type}\" from \"${artifactsDirPath}\". The directory probably doesn't exist.`\n );\n return [];\n }\n}\n\nexport async function cleanUpStepTemporaryDirectoriesAsync(\n ctx: BuildStepContext,\n stepId: string\n): Promise<void> {\n if (ctx.skipCleanup) {\n return;\n }\n const stepTemporaryDirectory = getTemporaryStepDirPath(ctx, stepId);\n await fs.rm(stepTemporaryDirectory, { recursive: true });\n ctx.logger.debug({ stepTemporaryDirectory }, 'Removed step temporary directory');\n}\n\nexport async function cleanUpWorkflowTemporaryDirectoriesAsync(\n ctx: BuildStepContext\n): Promise<void> {\n if (ctx.skipCleanup) {\n return;\n }\n\n const temporaryDirectories: string[] = [getTemporaryArtifactsDirPath(ctx)];\n const rmPromises = temporaryDirectories.map((dir) => fs.rm(dir, { recursive: true }));\n await Promise.all(rmPromises);\n ctx.logger.debug({ temporaryDirectories }, 'Removed temporary directories');\n}\n\nfunction getTemporaryStepDirPath(ctx: BuildStepContext, stepId: string): string {\n return path.join(ctx.baseWorkingDirectory, 'steps', stepId);\n}\n\nfunction getTemporaryScriptsDirPath(ctx: BuildStepContext, stepId: string): string {\n return path.join(getTemporaryStepDirPath(ctx, stepId), 'scripts');\n}\n\nfunction getTemporaryOutputsDirPath(ctx: BuildStepContext, stepId: string): string {\n return path.join(getTemporaryStepDirPath(ctx, stepId), 'outputs');\n}\n\nfunction getTemporaryApplicationArchiveDirPath(ctx: BuildStepContext): string {\n return path.join(getTemporaryArtifactsDirPath(ctx), 'application-archive');\n}\n\nfunction getTemporaryBuildArtifactsDirPath(ctx: BuildStepContext): string {\n return path.join(getTemporaryArtifactsDirPath(ctx), 'build-artifacts');\n}\n\nfunction getTemporaryArtifactsDirPath(ctx: BuildStepContext): string {\n return path.join(ctx.baseWorkingDirectory, 'artifacts');\n}\n"]}
1
+ {"version":3,"file":"BuildTemporaryFiles.js","sourceRoot":"","sources":["../src/BuildTemporaryFiles.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path';\nimport fs from 'fs/promises';\n\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { BuildStepContext } from './BuildStepContext.js';\nimport { BuildArtifactType } from './BuildArtifacts.js';\nimport { BuildInternalError } from './errors/BuildInternalError.js';\n\nexport async function saveScriptToTemporaryFileAsync(\n ctx: BuildStepContext,\n stepId: string,\n scriptContents: string\n): Promise<string> {\n const scriptsDir = getTemporaryScriptsDirPath(ctx, stepId);\n await fs.mkdir(scriptsDir, { recursive: true });\n const temporaryScriptPath = path.join(scriptsDir, `${uuidv4()}.sh`);\n await fs.writeFile(temporaryScriptPath, scriptContents);\n return temporaryScriptPath;\n}\n\nexport async function saveArtifactToTemporaryDirectoryAsync(\n ctx: BuildStepContext,\n type: BuildArtifactType,\n artifactPath: string\n): Promise<string> {\n let targetArtifactPath: string;\n if (type === BuildArtifactType.APPLICATION_ARCHIVE) {\n targetArtifactPath = path.join(\n getTemporaryApplicationArchiveDirPath(ctx),\n path.basename(artifactPath)\n );\n } else if (type === BuildArtifactType.BUILD_ARTIFACT) {\n targetArtifactPath = path.join(\n getTemporaryBuildArtifactsDirPath(ctx),\n path.basename(artifactPath)\n );\n } else {\n throw new BuildInternalError(`Uploading artifacts of type \"${type}\" is not implemented.`);\n }\n\n await fs.mkdir(path.dirname(targetArtifactPath), { recursive: true });\n await fs.copyFile(artifactPath, targetArtifactPath);\n return targetArtifactPath;\n}\n\nexport async function createTemporaryOutputsDirectoryAsync(\n ctx: BuildStepContext,\n stepId: string\n): Promise<string> {\n const directory = getTemporaryOutputsDirPath(ctx, stepId);\n await fs.mkdir(directory, { recursive: true });\n return directory;\n}\n\nexport async function findArtifactsByTypeAsync(\n ctx: BuildStepContext,\n type: BuildArtifactType\n): Promise<string[]> {\n let artifactsDirPath: string;\n if (type === BuildArtifactType.APPLICATION_ARCHIVE) {\n artifactsDirPath = getTemporaryApplicationArchiveDirPath(ctx);\n } else if (type === BuildArtifactType.BUILD_ARTIFACT) {\n artifactsDirPath = getTemporaryBuildArtifactsDirPath(ctx);\n } else {\n throw new BuildInternalError(`Finding artifacts of type \"${type}\" is not implemented.`);\n }\n try {\n const filenames = await fs.readdir(artifactsDirPath);\n return filenames.map((filename) => path.join(artifactsDirPath, filename));\n } catch (err) {\n ctx.logger.debug(\n { err },\n `Failed reading artifacts of type \"${type}\" from \"${artifactsDirPath}\". The directory probably doesn't exist.`\n );\n return [];\n }\n}\n\nexport async function cleanUpStepTemporaryDirectoriesAsync(\n ctx: BuildStepContext,\n stepId: string\n): Promise<void> {\n if (ctx.skipCleanup) {\n return;\n }\n const stepTemporaryDirectory = getTemporaryStepDirPath(ctx, stepId);\n await fs.rm(stepTemporaryDirectory, { recursive: true, force: true });\n ctx.logger.debug({ stepTemporaryDirectory }, 'Removed step temporary directory');\n}\n\nexport async function cleanUpWorkflowTemporaryDirectoriesAsync(\n ctx: BuildStepContext\n): Promise<void> {\n if (ctx.skipCleanup) {\n return;\n }\n\n const temporaryDirectories: string[] = [getTemporaryArtifactsDirPath(ctx)];\n const rmPromises = temporaryDirectories.map((dir) =>\n fs.rm(dir, { recursive: true, force: true })\n );\n await Promise.all(rmPromises);\n ctx.logger.debug({ temporaryDirectories }, 'Removed temporary directories');\n}\n\nfunction getTemporaryStepDirPath(ctx: BuildStepContext, stepId: string): string {\n return path.join(ctx.baseWorkingDirectory, 'steps', stepId);\n}\n\nfunction getTemporaryScriptsDirPath(ctx: BuildStepContext, stepId: string): string {\n return path.join(getTemporaryStepDirPath(ctx, stepId), 'scripts');\n}\n\nfunction getTemporaryOutputsDirPath(ctx: BuildStepContext, stepId: string): string {\n return path.join(getTemporaryStepDirPath(ctx, stepId), 'outputs');\n}\n\nfunction getTemporaryApplicationArchiveDirPath(ctx: BuildStepContext): string {\n return path.join(getTemporaryArtifactsDirPath(ctx), 'application-archive');\n}\n\nfunction getTemporaryBuildArtifactsDirPath(ctx: BuildStepContext): string {\n return path.join(getTemporaryArtifactsDirPath(ctx), 'build-artifacts');\n}\n\nfunction getTemporaryArtifactsDirPath(ctx: BuildStepContext): string {\n return path.join(ctx.baseWorkingDirectory, 'artifacts');\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@expo/steps",
3
3
  "type": "module",
4
- "version": "0.0.6",
4
+ "version": "0.0.8",
5
5
  "main": "./dist_commonjs/index.cjs",
6
6
  "types": "./dist_esm/index.d.ts",
7
7
  "exports": {
@@ -20,6 +20,7 @@
20
20
  "scripts": {
21
21
  "start": "yarn watch",
22
22
  "build": "./build.sh",
23
+ "prepack": "./build.sh",
23
24
  "watch": "chokidar --initial \"src/**/*.ts\" -i \"src/**/__tests__/**/*\" -c \"./build.sh\"",
24
25
  "test": "node --experimental-vm-modules --no-warnings node_modules/.bin/jest -c=jest.config.cjs --no-cache",
25
26
  "test:watch": "yarn test --watch",
@@ -51,5 +52,9 @@
51
52
  "this-file": "^2.0.3",
52
53
  "uuid": "^9.0.0",
53
54
  "yaml": "^2.2.1"
55
+ },
56
+ "volta": {
57
+ "node": "18.13.0",
58
+ "yarn": "1.22.19"
54
59
  }
55
60
  }