chayns-toolkit 3.0.13 → 3.1.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.
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.fm = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ exports.fm = {
9
+ path(path) {
10
+ return chalk_1.default.hex("#16BDCA")(`\`${getStringArg(path)}\``);
11
+ },
12
+ command(command) {
13
+ return chalk_1.default.hex("#AC94FA")(`\`${getStringArg(command)}\``);
14
+ },
15
+ code(code) {
16
+ return chalk_1.default.hex("#76A9FA")(`\`${getStringArg(code)}\``);
17
+ },
18
+ alt(text) {
19
+ return chalk_1.default.hex("#97A6BA")(getStringArg(text));
20
+ },
21
+ number(number) {
22
+ return chalk_1.default.hex("#F17EB8")(number);
23
+ },
24
+ };
25
+ function getStringArg(path) {
26
+ return isTemplateArray(path) ? path[0] : path;
27
+ }
28
+ function isTemplateArray(value) {
29
+ return Array.isArray(value);
30
+ }
31
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/util/format.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AAIZ,QAAA,EAAE,GAAG;IACjB,IAAI,CAAC,IAA6B;QACjC,OAAO,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzD,CAAC;IACD,OAAO,CAAC,OAAgC;QACvC,OAAO,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,CAAC;IACD,IAAI,CAAC,IAA6B;QACjC,OAAO,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzD,CAAC;IACD,GAAG,CAAC,IAA6B;QAChC,OAAO,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;IAChD,CAAC;IACD,MAAM,CAAC,MAAuB;QAC7B,OAAO,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;CACD,CAAA;AAED,SAAS,YAAY,CAAC,IAAmC;IACxD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC9C,CAAC;AAED,SAAS,eAAe,CACvB,KAAoC;IAEpC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare type PackageManager = "npm" | "yarn";
2
+ export declare function getPackageManager(): PackageManager | undefined;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPackageManager = void 0;
4
+ const format_1 = require("./format");
5
+ const output_1 = require("./output");
6
+ const project_1 = require("./project");
7
+ function getPackageManager() {
8
+ const hasPackageLock = npmSearchPaths.some((path) => project_1.project.hasFile(path));
9
+ const hasYarnLock = yarnSearchPaths.some((path) => project_1.project.hasFile(path));
10
+ if (hasPackageLock && hasYarnLock) {
11
+ output_1.output.warn(`You have both ${format_1.fm.path `package-lock.json`} and ${format_1.fm.path `yarn.lock`} files in your project.\n`);
12
+ output_1.output.blank("Decide on wether you want to use Yarn or NPM and remove one of the lockfiles.");
13
+ }
14
+ if (hasPackageLock)
15
+ return "npm";
16
+ if (hasYarnLock)
17
+ return "yarn";
18
+ return undefined;
19
+ }
20
+ exports.getPackageManager = getPackageManager;
21
+ const npmSearchPaths = [
22
+ "./package-lock.json",
23
+ "../package-lock.json",
24
+ "../../package-lock.json",
25
+ ];
26
+ const yarnSearchPaths = ["./yarn.lock", "../yarn.lock", "../../yarn.lock"];
27
+ //# sourceMappingURL=getPackageManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPackageManager.js","sourceRoot":"","sources":["../../src/util/getPackageManager.ts"],"names":[],"mappings":";;;AAAA,qCAA6B;AAC7B,qCAAiC;AACjC,uCAAmC;AAInC,SAAgB,iBAAiB;IAChC,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3E,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IAEzE,IAAI,cAAc,IAAI,WAAW,EAAE;QAClC,eAAM,CAAC,IAAI,CACV,iBAAiB,WAAE,CAAC,IAAI,CAAA,mBAAmB,QAAQ,WAAE,CAAC,IAAI,CAAA,WAAW,2BAA2B,CAChG,CAAA;QACD,eAAM,CAAC,KAAK,CACX,+EAA+E,CAC/E,CAAA;KACD;IAED,IAAI,cAAc;QAAE,OAAO,KAAK,CAAA;IAChC,IAAI,WAAW;QAAE,OAAO,MAAM,CAAA;IAC9B,OAAO,SAAS,CAAA;AACjB,CAAC;AAhBD,8CAgBC;AAED,MAAM,cAAc,GAAG;IACtB,qBAAqB;IACrB,sBAAsB;IACtB,yBAAyB;CACzB,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,aAAa,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import type { PackageJson } from "type-fest";
2
+ export declare function loadPackageJson(): Promise<PackageJson>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadPackageJson = void 0;
4
+ const project_1 = require("./project");
5
+ async function loadPackageJson() {
6
+ const packageJsonString = await project_1.project.readFile("package.json");
7
+ if (packageJsonString === null) {
8
+ throw Error("No package.json file was found.");
9
+ }
10
+ return JSON.parse(packageJsonString);
11
+ }
12
+ exports.loadPackageJson = loadPackageJson;
13
+ //# sourceMappingURL=loadPackageJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadPackageJson.js","sourceRoot":"","sources":["../../src/util/loadPackageJson.ts"],"names":[],"mappings":";;;AACA,uCAAmC;AAE5B,KAAK,UAAU,eAAe;IACpC,MAAM,iBAAiB,GAAG,MAAM,iBAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;IAEhE,IAAI,iBAAiB,KAAK,IAAI,EAAE;QAC/B,MAAM,KAAK,CAAC,iCAAiC,CAAC,CAAA;KAC9C;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAgB,CAAA;AACpD,CAAC;AAPD,0CAOC"}
@@ -0,0 +1,8 @@
1
+ export declare const output: {
2
+ info(text: string): void;
3
+ hint(text: string): void;
4
+ warn(text: string): void;
5
+ error(text: string): void;
6
+ blank(text: string): void;
7
+ exit(code?: number | undefined): void;
8
+ };
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.output = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ exports.output = {
9
+ info(text) {
10
+ console.info(`${chalk_1.default.hex("#76A9FA")("info ")} - ${text}`);
11
+ },
12
+ hint(text) {
13
+ console.info(`${chalk_1.default.hex("#31C48D")("hint ")} - ${text}`);
14
+ },
15
+ warn(text) {
16
+ console.info(`${chalk_1.default.hex("#FACA15")("warn ")} - ${text}`);
17
+ },
18
+ error(text) {
19
+ console.info(`${chalk_1.default.hex("#F98080")("error")} - ${text}`);
20
+ },
21
+ blank(text) {
22
+ console.info(` ${text}`);
23
+ },
24
+ exit(code) {
25
+ console.info("");
26
+ if (code) {
27
+ process.exit(code);
28
+ }
29
+ else {
30
+ process.exit();
31
+ }
32
+ },
33
+ };
34
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/util/output.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AAEZ,QAAA,MAAM,GAAG;IACrB,IAAI,CAAC,IAAY;QAChB,OAAO,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IAC3D,CAAC;IACD,IAAI,CAAC,IAAY;QAChB,OAAO,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IAC3D,CAAC;IACD,IAAI,CAAC,IAAY;QAChB,OAAO,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IAC3D,CAAC;IACD,KAAK,CAAC,IAAY;QACjB,OAAO,CAAC,IAAI,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IAC3D,CAAC;IACD,KAAK,CAAC,IAAY;QACjB,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;IAChC,CAAC;IACD,IAAI,CAAC,IAAa;QACjB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChB,IAAI,IAAI,EAAE;YACT,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAClB;aAAM;YACN,OAAO,CAAC,IAAI,EAAE,CAAA;SACd;IACF,CAAC;CACD,CAAA"}
@@ -0,0 +1,7 @@
1
+ export declare const project: {
2
+ resolvePath(relativePath: string): string;
3
+ hasFile(relativePath: string): boolean;
4
+ readFile(relativePath: string): Promise<string | null>;
5
+ writeFile(relativePath: string, contents: string): Promise<void>;
6
+ deleteFile(relativePath: string): Promise<void>;
7
+ };
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.project = void 0;
23
+ const fs = __importStar(require("fs"));
24
+ const path = __importStar(require("path"));
25
+ const util_1 = require("util");
26
+ const readFileAsync = (0, util_1.promisify)(fs.readFile);
27
+ const writeFileAsync = (0, util_1.promisify)(fs.writeFile);
28
+ const unlinkAsync = (0, util_1.promisify)(fs.unlink);
29
+ exports.project = {
30
+ resolvePath(relativePath) {
31
+ return path.resolve(relativePath);
32
+ },
33
+ hasFile(relativePath) {
34
+ return fs.existsSync(this.resolvePath(relativePath));
35
+ },
36
+ async readFile(relativePath) {
37
+ const absolutePath = this.resolvePath(relativePath);
38
+ try {
39
+ const content = await readFileAsync(absolutePath, {
40
+ encoding: "utf-8",
41
+ });
42
+ return content;
43
+ }
44
+ catch (error) {
45
+ const fileError = error;
46
+ if (fileError.code === "ENOENT") {
47
+ return null;
48
+ }
49
+ throw error;
50
+ }
51
+ },
52
+ async writeFile(relativePath, contents) {
53
+ const absolutePath = this.resolvePath(relativePath);
54
+ await writeFileAsync(absolutePath, contents, { encoding: "utf-8" });
55
+ },
56
+ async deleteFile(relativePath) {
57
+ const absolutePath = this.resolvePath(relativePath);
58
+ await unlinkAsync(absolutePath);
59
+ },
60
+ };
61
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/util/project.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,2CAA4B;AAC5B,+BAAgC;AAEhC,MAAM,aAAa,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;AAC5C,MAAM,cAAc,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,SAAS,CAAC,CAAA;AAC9C,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,MAAM,CAAC,CAAA;AAE3B,QAAA,OAAO,GAAG;IACtB,WAAW,CAAC,YAAoB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,CAAC,YAAoB;QAC3B,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,YAAoB;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;QAEnD,IAAI;YACH,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE;gBACjD,QAAQ,EAAE,OAAO;aACjB,CAAC,CAAA;YAEF,OAAO,OAAO,CAAA;SACd;QAAC,OAAO,KAAc,EAAE;YACxB,MAAM,SAAS,GAAG,KAAyB,CAAA;YAE3C,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAChC,OAAO,IAAI,CAAA;aACX;YACD,MAAM,KAAK,CAAA;SACX;IACF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,YAAoB,EAAE,QAAgB;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;QAEnD,MAAM,cAAc,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,YAAoB;QACpC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;QAEnD,MAAM,WAAW,CAAC,YAAY,CAAC,CAAA;IAChC,CAAC;CACD,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { PackageJson } from "type-fest";
2
+ import { ParsedToolkitConfig } from "../features/config-file/configSchema";
3
+ import { PackageManager } from "./getPackageManager";
4
+ export interface StepParams {
5
+ config: ParsedToolkitConfig;
6
+ packageJson: PackageJson;
7
+ packageManager: PackageManager | undefined;
8
+ }
9
+ declare type PromiseOrNot<T> = T | Promise<T>;
10
+ declare type Step = (params: StepParams) => PromiseOrNot<boolean> | PromiseOrNot<void>;
11
+ export declare function runSteps(...sequences: Array<Step[]>): Promise<void>;
12
+ export {};
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runSteps = void 0;
4
+ const loadConfig_1 = require("../features/config-file/loadConfig");
5
+ const format_1 = require("./format");
6
+ const getPackageManager_1 = require("./getPackageManager");
7
+ const loadPackageJson_1 = require("./loadPackageJson");
8
+ const output_1 = require("./output");
9
+ async function runSteps(...sequences) {
10
+ let config;
11
+ try {
12
+ config = await (0, loadConfig_1.loadConfig)();
13
+ }
14
+ catch (e) {
15
+ const error = e;
16
+ output_1.output.error(`An error occured while loading the ${format_1.fm.path `toolkit.config.js`} file:\n`);
17
+ output_1.output.blank(error.message);
18
+ output_1.output.exit(1);
19
+ return;
20
+ }
21
+ const [packageJson, packageManager] = await Promise.all([
22
+ (0, loadPackageJson_1.loadPackageJson)(),
23
+ (0, getPackageManager_1.getPackageManager)(),
24
+ ]);
25
+ let shouldContinue = true;
26
+ for (const sequence of sequences) {
27
+ if (shouldContinue) {
28
+ for (const step of sequence) {
29
+ // eslint-disable-next-line no-await-in-loop
30
+ const result = await step({
31
+ config,
32
+ packageJson,
33
+ packageManager,
34
+ });
35
+ if (result) {
36
+ shouldContinue = false;
37
+ }
38
+ }
39
+ if (sequences.indexOf(sequence) !== sequences.length - 1) {
40
+ output_1.output.blank("");
41
+ }
42
+ }
43
+ }
44
+ }
45
+ exports.runSteps = runSteps;
46
+ //# sourceMappingURL=runSteps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runSteps.js","sourceRoot":"","sources":["../../src/util/runSteps.ts"],"names":[],"mappings":";;;AAEA,mEAA+D;AAC/D,qCAA6B;AAC7B,2DAAuE;AACvE,uDAAmD;AACnD,qCAAiC;AAW1B,KAAK,UAAU,QAAQ,CAAC,GAAG,SAAwB;IACzD,IAAI,MAA2B,CAAA;IAE/B,IAAI;QACH,MAAM,GAAG,MAAM,IAAA,uBAAU,GAAE,CAAA;KAC3B;IAAC,OAAO,CAAC,EAAE;QACX,MAAM,KAAK,GAAG,CAAU,CAAA;QACxB,eAAM,CAAC,KAAK,CAAC,sCAAsC,WAAE,CAAC,IAAI,CAAA,mBAAmB,UAAU,CAAC,CAAA;QACxF,eAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC3B,eAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACd,OAAM;KACN;IAED,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,IAAA,iCAAe,GAAE;QACjB,IAAA,qCAAiB,GAAE;KACnB,CAAC,CAAA;IAEF,IAAI,cAAc,GAAG,IAAI,CAAA;IAEzB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QACjC,IAAI,cAAc,EAAE;YACnB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;gBAC5B,4CAA4C;gBAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;oBACzB,MAAM;oBACN,WAAW;oBACX,cAAc;iBACd,CAAC,CAAA;gBAEF,IAAI,MAAM,EAAE;oBACX,cAAc,GAAG,KAAK,CAAA;iBACtB;aACD;YAED,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzD,eAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;aAChB;SACD;KACD;AACF,CAAC;AAxCD,4BAwCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chayns-toolkit",
3
- "version": "3.0.13",
3
+ "version": "3.1.0",
4
4
  "description": "A zero-config toolchain for developing chayns® apps.",
5
5
  "keywords": [
6
6
  "chayns",
@@ -23,6 +23,8 @@
23
23
  "name": "Leonhard Driesch",
24
24
  "email": "leonhard.driesch@tobit.com"
25
25
  },
26
+ "main": "lib/index.js",
27
+ "types": "lib/index.d.ts",
26
28
  "bin": {
27
29
  "chayns-toolkit": "./cli.js"
28
30
  },
@@ -35,12 +37,13 @@
35
37
  "scripts": {
36
38
  "build": "node ./scripts/build",
37
39
  "build-docs": "npm --prefix website i && npm --prefix website run build",
38
- "check-types": "tsc --noEmit",
40
+ "build-types": "tsc --project tsconfig.build.json",
41
+ "check-types": "tsc",
39
42
  "dev": "node ./scripts/watch",
40
43
  "format": "prettier . --write",
41
44
  "lint": "eslint src/ --ext js,jsx,ts,tsx",
42
45
  "prepare": "husky install && shx rm -rf .git/hooks && shx ln -s ../.husky .git/hooks",
43
- "prepublishOnly": "npm run build",
46
+ "prepublishOnly": "npm run build && npm run build-types",
44
47
  "test": "jest"
45
48
  },
46
49
  "dependencies": {
@@ -94,8 +97,10 @@
94
97
  },
95
98
  "devDependencies": {
96
99
  "@types/eslint": "^8.2.0",
100
+ "@types/mock-fs": "^4.13.4",
97
101
  "@types/node": "^16.11.10",
98
102
  "@types/semver": "^7.3.9",
103
+ "@types/serve-handler": "^6.1.4",
99
104
  "chalk": "^4.1.2",
100
105
  "commander": "^8.3.0",
101
106
  "esbuild": "^0.24.0",
@@ -110,7 +115,7 @@
110
115
  "shx": "^0.3.3",
111
116
  "type-fest": "^2.6.0",
112
117
  "typescript": "^4.5.2",
113
- "yup": "0.32.11"
118
+ "zod": "^3.24.1"
114
119
  },
115
120
  "engines": {
116
121
  "node": ">=20.10.0"