@bluelibs/runner-dev 4.4.5 → 4.4.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.
Files changed (103) hide show
  1. package/dist/cli/generators/initUtils.d.ts +10 -0
  2. package/dist/cli/generators/initUtils.js +95 -0
  3. package/dist/cli/generators/initUtils.js.map +1 -0
  4. package/dist/cli/generators/printNewHelp.d.ts +1 -0
  5. package/dist/cli/generators/printNewHelp.js +65 -0
  6. package/dist/cli/generators/printNewHelp.js.map +1 -0
  7. package/dist/cli/generators/scaffold/templates/README.md.d.ts +1 -0
  8. package/dist/cli/generators/scaffold/templates/README.md.js +40 -0
  9. package/dist/cli/generators/scaffold/templates/README.md.js.map +1 -0
  10. package/dist/cli/generators/scaffold/templates/index.d.ts +7 -0
  11. package/dist/cli/generators/scaffold/templates/index.js +18 -0
  12. package/dist/cli/generators/scaffold/templates/index.js.map +1 -0
  13. package/dist/cli/generators/scaffold/templates/jest.config.cjs.d.ts +1 -0
  14. package/dist/cli/generators/scaffold/templates/jest.config.cjs.js +24 -0
  15. package/dist/cli/generators/scaffold/templates/jest.config.cjs.js.map +1 -0
  16. package/dist/cli/generators/scaffold/templates/package.json.d.ts +25 -0
  17. package/dist/cli/generators/scaffold/templates/package.json.js +31 -0
  18. package/dist/cli/generators/scaffold/templates/package.json.js.map +1 -0
  19. package/dist/cli/generators/scaffold/templates/src/main.test.ts.d.ts +1 -0
  20. package/dist/cli/generators/scaffold/templates/src/main.test.ts.js +12 -0
  21. package/dist/cli/generators/scaffold/templates/src/main.test.ts.js.map +1 -0
  22. package/dist/cli/generators/scaffold/templates/src/main.ts.d.ts +1 -0
  23. package/dist/cli/generators/scaffold/templates/src/main.ts.js +28 -0
  24. package/dist/cli/generators/scaffold/templates/src/main.ts.js.map +1 -0
  25. package/dist/cli/generators/scaffold/templates/tsconfig.jest.json.d.ts +11 -0
  26. package/dist/cli/generators/scaffold/templates/tsconfig.jest.json.js +17 -0
  27. package/dist/cli/generators/scaffold/templates/tsconfig.jest.json.js.map +1 -0
  28. package/dist/cli/generators/scaffold/templates/tsconfig.json.d.ts +17 -0
  29. package/dist/cli/generators/scaffold/templates/tsconfig.json.js +23 -0
  30. package/dist/cli/generators/scaffold/templates/tsconfig.json.js.map +1 -0
  31. package/dist/cli/generators/scaffold.d.ts +6 -0
  32. package/dist/cli/generators/scaffold.js +180 -0
  33. package/dist/cli/generators/scaffold.js.map +1 -0
  34. package/dist/cli/generators/templates.js +28 -0
  35. package/dist/cli/generators/templates.js.map +1 -1
  36. package/dist/cli/init.js +10 -289
  37. package/dist/cli/init.js.map +1 -1
  38. package/dist/index.d.ts +71 -17
  39. package/dist/mcp/z3.d.ts +1 -0
  40. package/dist/mcp/z3.js +9 -0
  41. package/dist/mcp/z3.js.map +1 -0
  42. package/dist/resources/cli.config.resource.d.ts +4 -1
  43. package/dist/resources/cli.config.resource.js +4 -0
  44. package/dist/resources/cli.config.resource.js.map +1 -1
  45. package/dist/resources/coverage.resource.d.ts +4 -1
  46. package/dist/resources/coverage.resource.js +4 -0
  47. package/dist/resources/coverage.resource.js.map +1 -1
  48. package/dist/resources/dev.resource.d.ts +7 -1
  49. package/dist/resources/dev.resource.js +12 -0
  50. package/dist/resources/dev.resource.js.map +1 -1
  51. package/dist/resources/docs.generator.resource.d.ts +8 -2
  52. package/dist/resources/docs.generator.resource.js +4 -0
  53. package/dist/resources/docs.generator.resource.js.map +1 -1
  54. package/dist/resources/graphql-accumulator.resource.d.ts +8 -2
  55. package/dist/resources/graphql-accumulator.resource.js +4 -0
  56. package/dist/resources/graphql-accumulator.resource.js.map +1 -1
  57. package/dist/resources/graphql.cli.resource.d.ts +4 -1
  58. package/dist/resources/graphql.cli.resource.js +4 -0
  59. package/dist/resources/graphql.cli.resource.js.map +1 -1
  60. package/dist/resources/graphql.query.cli.task.d.ts +40 -10
  61. package/dist/resources/graphql.query.cli.task.js +1 -1
  62. package/dist/resources/graphql.query.cli.task.js.map +1 -1
  63. package/dist/resources/graphql.query.task.d.ts +24 -6
  64. package/dist/resources/graphql.query.task.js +1 -1
  65. package/dist/resources/graphql.query.task.js.map +1 -1
  66. package/dist/resources/introspector.cli.resource.d.ts +8 -2
  67. package/dist/resources/introspector.cli.resource.js +4 -0
  68. package/dist/resources/introspector.cli.resource.js.map +1 -1
  69. package/dist/resources/introspector.resource.d.ts +4 -1
  70. package/dist/resources/introspector.resource.js +4 -0
  71. package/dist/resources/introspector.resource.js.map +1 -1
  72. package/dist/resources/live.resource.d.ts +8 -2
  73. package/dist/resources/live.resource.js +8 -0
  74. package/dist/resources/live.resource.js.map +1 -1
  75. package/dist/resources/models/initializeFromStore.utils.js +3 -6
  76. package/dist/resources/models/initializeFromStore.utils.js.map +1 -1
  77. package/dist/resources/routeHandlers/registerHttpRoutes.hook.d.ts +36 -9
  78. package/dist/resources/routeHandlers/registerHttpRoutes.hook.js +4 -0
  79. package/dist/resources/routeHandlers/registerHttpRoutes.hook.js.map +1 -1
  80. package/dist/resources/server.resource.d.ts +32 -8
  81. package/dist/resources/server.resource.js +4 -0
  82. package/dist/resources/server.resource.js.map +1 -1
  83. package/dist/resources/swap.cli.resource.d.ts +16 -4
  84. package/dist/resources/swap.cli.resource.js +4 -0
  85. package/dist/resources/swap.cli.resource.js.map +1 -1
  86. package/dist/resources/swap.resource.d.ts +8 -2
  87. package/dist/resources/swap.resource.js +4 -0
  88. package/dist/resources/swap.resource.js.map +1 -1
  89. package/dist/resources/telemetry.resource.d.ts +4 -1
  90. package/dist/resources/telemetry.resource.js +12 -0
  91. package/dist/resources/telemetry.resource.js.map +1 -1
  92. package/dist/ui/.vite/manifest.json +2 -2
  93. package/dist/ui/assets/docs-C0EAJXbH.js +408 -0
  94. package/dist/ui/assets/docs-C0EAJXbH.js.map +1 -0
  95. package/dist/ui/assets/docs-Cl4ea7fg.css +1 -0
  96. package/dist/utils/zod.js +15 -3
  97. package/dist/utils/zod.js.map +1 -1
  98. package/dist/version.d.ts +1 -1
  99. package/dist/version.js +1 -1
  100. package/package.json +5 -3
  101. package/dist/ui/assets/docs-B2-n0kaX.css +0 -1
  102. package/dist/ui/assets/docs-CFcESx-1.js +0 -400
  103. package/dist/ui/assets/docs-CFcESx-1.js.map +0 -1
@@ -0,0 +1,10 @@
1
+ export declare function ensureEmptyDir(dir: string): Promise<void>;
2
+ export declare function ensureDir(dir: string): Promise<void>;
3
+ export declare function writeJson(filePath: string, data: unknown): Promise<void>;
4
+ export declare function writeFile(filePath: string, content: string): Promise<void>;
5
+ export declare function writeGitignore(targetDir: string): Promise<void>;
6
+ export declare function runCommand(cmd: string, args: string[], cwd: string): Promise<void>;
7
+ export declare function parseFlags(args: string[]): {
8
+ flagSet: Set<string>;
9
+ flagGet: (name: string) => string | undefined;
10
+ };
@@ -0,0 +1,95 @@
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.ensureEmptyDir = ensureEmptyDir;
7
+ exports.ensureDir = ensureDir;
8
+ exports.writeJson = writeJson;
9
+ exports.writeFile = writeFile;
10
+ exports.writeGitignore = writeGitignore;
11
+ exports.runCommand = runCommand;
12
+ exports.parseFlags = parseFlags;
13
+ const fs_1 = __importDefault(require("fs"));
14
+ const promises_1 = __importDefault(require("fs/promises"));
15
+ const path_1 = __importDefault(require("path"));
16
+ const child_process_1 = require("child_process");
17
+ async function ensureEmptyDir(dir) {
18
+ if (fs_1.default.existsSync(dir)) {
19
+ const entries = await promises_1.default.readdir(dir);
20
+ if (entries.length > 0) {
21
+ // eslint-disable-next-line no-console
22
+ console.error(`Target directory '${path_1.default.basename(dir)}' already exists and is not empty.`);
23
+ process.exit(1);
24
+ }
25
+ return;
26
+ }
27
+ await promises_1.default.mkdir(dir, { recursive: true });
28
+ }
29
+ async function ensureDir(dir) {
30
+ await promises_1.default.mkdir(dir, { recursive: true });
31
+ }
32
+ async function writeJson(filePath, data) {
33
+ const content = JSON.stringify(data, null, 2) + "\n";
34
+ await writeFile(filePath, content);
35
+ }
36
+ async function writeFile(filePath, content) {
37
+ await promises_1.default.writeFile(filePath, content, { encoding: "utf8" });
38
+ }
39
+ async function writeGitignore(targetDir) {
40
+ const content = `node_modules\n.dist\ndist\n.env\n\n`;
41
+ await writeFile(path_1.default.join(targetDir, ".gitignore"), content);
42
+ }
43
+ async function runCommand(cmd, args, cwd) {
44
+ await new Promise((resolve, reject) => {
45
+ const child = (0, child_process_1.spawn)(cmd, args, {
46
+ cwd,
47
+ stdio: "inherit",
48
+ env: process.env,
49
+ });
50
+ child.on("close", (code) => {
51
+ if (code === 0)
52
+ resolve();
53
+ else
54
+ reject(new Error(`${cmd} ${args.join(" ")} exited with code ${code}`));
55
+ });
56
+ child.on("error", reject);
57
+ });
58
+ }
59
+ function parseFlags(args) {
60
+ const values = new Map();
61
+ const set = new Set();
62
+ for (let i = 0; i < args.length; i++) {
63
+ const a = args[i];
64
+ if (!a || !a.startsWith("--"))
65
+ continue;
66
+ const keyValue = a.slice(2);
67
+ const eqIdx = keyValue.indexOf("=");
68
+ if (eqIdx !== -1) {
69
+ const k = keyValue.slice(0, eqIdx);
70
+ const v = keyValue.slice(eqIdx + 1);
71
+ set.add(k);
72
+ values.set(k, v);
73
+ }
74
+ else {
75
+ const k = keyValue;
76
+ set.add(k);
77
+ const next = args[i + 1];
78
+ if (next && !next.startsWith("--")) {
79
+ values.set(k, next);
80
+ i++; // consume value
81
+ }
82
+ else {
83
+ values.set(k, undefined); // boolean flag
84
+ }
85
+ }
86
+ }
87
+ return {
88
+ flagSet: set,
89
+ flagGet: (name) => {
90
+ const v = values.get(name);
91
+ return v === undefined ? undefined : v;
92
+ },
93
+ };
94
+ }
95
+ //# sourceMappingURL=initUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initUtils.js","sourceRoot":"","sources":["../../../src/cli/generators/initUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function printNewHelp(): void;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.printNewHelp = printNewHelp;
4
+ const format_1 = require("../format");
5
+ // scaffold moved to ./generators/scaffold.ts
6
+ // ...helper functions moved to ./generators/initUtils.ts
7
+ function printNewHelp() {
8
+ // eslint-disable-next-line no-console
9
+ console.log([
10
+ "",
11
+ format_1.c.title("runner-dev new"),
12
+ (0, format_1.divider)(),
13
+ (0, format_1.alignRows)([
14
+ [format_1.c.cmd("runner-dev new <name>"), "Scaffold a new project (default)"],
15
+ [format_1.c.cmd("runner-dev new project <name>"), "Scaffold project"],
16
+ [format_1.c.cmd("runner-dev new resource <name>"), "Scaffold resource"],
17
+ [format_1.c.cmd("runner-dev new task <name>"), "Scaffold task"],
18
+ [format_1.c.cmd("runner-dev new event <name>"), "Scaffold event"],
19
+ [format_1.c.cmd("runner-dev new hook <name>"), "Scaffold hook"],
20
+ [format_1.c.cmd("runner-dev new tag <name>"), "Scaffold tag"],
21
+ [
22
+ format_1.c.cmd("runner-dev new taskMiddleware <name>"),
23
+ "Scaffold task middleware",
24
+ ],
25
+ [
26
+ format_1.c.cmd("runner-dev new resourceMiddleware <name>"),
27
+ "Scaffold resource middleware",
28
+ ],
29
+ ], { gap: 3, indent: 2 }),
30
+ "",
31
+ format_1.c.bold("Flags"),
32
+ (0, format_1.alignRows)([
33
+ [
34
+ format_1.c.yellow("--ns=<namespace>"),
35
+ "Namespace for id (default: app). Also maps to path as <dir>/<ns>/<type>.",
36
+ ],
37
+ [format_1.c.yellow("--id=<id>"), "Explicit id override (ex: app.tasks.save)"],
38
+ [format_1.c.yellow("--dir=<dir>"), "Base directory (default: src)"],
39
+ [format_1.c.yellow("--export"), "Append export to <dir>/.../index.ts"],
40
+ [format_1.c.yellow("--dry"), "Print file to stdout, do not write"],
41
+ [format_1.c.yellow("--force"), "Allow overwriting existing files"],
42
+ ], { gap: 3, indent: 2 }),
43
+ "",
44
+ format_1.c.bold("Examples"),
45
+ (0, format_1.indentLines)([
46
+ `${format_1.c.gray("# Project")}`,
47
+ `${format_1.c.cmd("runner-dev new my-app")}`,
48
+ `${format_1.c.gray("# Resource")}`,
49
+ `${format_1.c.cmd("runner-dev new resource user-service --ns app --dir src --export")}`,
50
+ `${format_1.c.gray("# Task")}`,
51
+ `${format_1.c.cmd("runner-dev new task create-user --ns app.users --dir src --export")}`,
52
+ `${format_1.c.gray("# Event")}`,
53
+ `${format_1.c.cmd("runner-dev new event user-registered --ns app.users --dir src --export")}`,
54
+ `${format_1.c.gray("# Hook")}`,
55
+ `${format_1.c.cmd("runner-dev new hook send-welcome --ns app.users --dir src --export")}`,
56
+ `${format_1.c.gray("# Tag")}`,
57
+ `${format_1.c.cmd("runner-dev new tag http --ns app.web --dir src --export")}`,
58
+ `${format_1.c.gray("# Middleware")}`,
59
+ `${format_1.c.cmd("runner-dev new task-middleware auth --ns app --dir src --export")}`,
60
+ `${format_1.c.cmd("runner-dev new resource-middleware soft-delete --ns app --dir src --export")}`,
61
+ ].join("\n"), 2),
62
+ "",
63
+ ].join("\n"));
64
+ }
65
+ //# sourceMappingURL=printNewHelp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"printNewHelp.js","sourceRoot":"","sources":["../../../src/cli/generators/printNewHelp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function readme(projectName: string): string;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readme = readme;
4
+ function readme(projectName) {
5
+ return `# ${projectName}
6
+
7
+ Generated by \`runner-dev new\`.
8
+
9
+ ## Quick start
10
+
11
+ 1. Install dependencies:
12
+ - npm install
13
+ 2. Start the dev server:
14
+ - npm run dev
15
+
16
+ The server starts on http://localhost:1337
17
+
18
+ - GraphQL endpoint: http://localhost:1337/graphql (how to query your guts and live telemetry)
19
+ - Voyager UI: http://localhost:1337/voyager (how the guts of your app look like)
20
+ - Project docs: http://localhost:1337/docs (beautiful docs with live telemetry and easy task and event dispatching)
21
+
22
+ ## Scripts
23
+
24
+ - dev: Run with tsx watch (TypeScript ESM)
25
+ - build: Type-check and emit to dist
26
+ - start: Run built app
27
+ - test: Run Jest
28
+
29
+ ## Useful CLI commands
30
+
31
+ These commands are available from \`@bluelibs/runner-dev\`:
32
+
33
+ - Query your API:
34
+ - ENDPOINT=http://localhost:1337/graphql npx runner-dev query 'query { tasks { id } }' --format pretty
35
+ - Print the GraphQL schema SDL:
36
+ - npx runner-dev schema sdl --endpoint http://localhost:1337/graphql
37
+
38
+ `;
39
+ }
40
+ //# sourceMappingURL=README.md.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"README.md.js","sourceRoot":"","sources":["../../../../../src/cli/generators/scaffold/templates/README.md.ts"],"names":[],"mappings":";;AAAA,wBAmCC;AAnCD,SAAgB,MAAM,CAAC,WAAmB;IACxC,OAAO,KAAK,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCxB,CAAC;AACF,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { packageJson } from "./package.json";
2
+ export { tsconfig } from "./tsconfig.json";
3
+ export { jestConfig } from "./jest.config.cjs";
4
+ export { tsconfigJest } from "./tsconfig.jest.json";
5
+ export { mainTs } from "./src/main.ts";
6
+ export { mainTest } from "./src/main.test.ts";
7
+ export { readme } from "./README.md";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readme = exports.mainTest = exports.mainTs = exports.tsconfigJest = exports.jestConfig = exports.tsconfig = exports.packageJson = void 0;
4
+ var package_json_1 = require("./package.json");
5
+ Object.defineProperty(exports, "packageJson", { enumerable: true, get: function () { return package_json_1.packageJson; } });
6
+ var tsconfig_json_1 = require("./tsconfig.json");
7
+ Object.defineProperty(exports, "tsconfig", { enumerable: true, get: function () { return tsconfig_json_1.tsconfig; } });
8
+ var jest_config_cjs_1 = require("./jest.config.cjs");
9
+ Object.defineProperty(exports, "jestConfig", { enumerable: true, get: function () { return jest_config_cjs_1.jestConfig; } });
10
+ var tsconfig_jest_json_1 = require("./tsconfig.jest.json");
11
+ Object.defineProperty(exports, "tsconfigJest", { enumerable: true, get: function () { return tsconfig_jest_json_1.tsconfigJest; } });
12
+ var main_ts_1 = require("./src/main.ts");
13
+ Object.defineProperty(exports, "mainTs", { enumerable: true, get: function () { return main_ts_1.mainTs; } });
14
+ var main_test_ts_1 = require("./src/main.test.ts");
15
+ Object.defineProperty(exports, "mainTest", { enumerable: true, get: function () { return main_test_ts_1.mainTest; } });
16
+ var README_md_1 = require("./README.md");
17
+ Object.defineProperty(exports, "readme", { enumerable: true, get: function () { return README_md_1.readme; } });
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/generators/scaffold/templates/index.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,iDAA2C;AAAlC,yGAAA,QAAQ,OAAA;AACjB,qDAA+C;AAAtC,6GAAA,UAAU,OAAA;AACnB,2DAAoD;AAA3C,kHAAA,YAAY,OAAA;AACrB,yCAAuC;AAA9B,iGAAA,MAAM,OAAA;AACf,mDAA8C;AAArC,wGAAA,QAAQ,OAAA;AACjB,yCAAqC;AAA5B,mGAAA,MAAM,OAAA"}
@@ -0,0 +1 @@
1
+ export declare function jestConfig(): string;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.jestConfig = jestConfig;
4
+ function jestConfig() {
5
+ return `/** @type {import('jest').Config} */
6
+ module.exports = {
7
+ preset: 'ts-jest/presets/default-esm',
8
+ testEnvironment: 'node',
9
+ roots: ['<rootDir>/src'],
10
+ moduleFileExtensions: ['ts', 'tsx', 'js'],
11
+ extensionsToTreatAsEsm: ['.ts', '.tsx'],
12
+ transform: {
13
+ '^.+\\.(ts|tsx)$': [
14
+ 'ts-jest',
15
+ {
16
+ useESM: true,
17
+ tsconfig: 'tsconfig.jest.json',
18
+ },
19
+ ],
20
+ },
21
+ };
22
+ `;
23
+ }
24
+ //# sourceMappingURL=jest.config.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jest.config.cjs.js","sourceRoot":"","sources":["../../../../../src/cli/generators/scaffold/templates/jest.config.cjs.ts"],"names":[],"mappings":";;AAAA,gCAmBC;AAnBD,SAAgB,UAAU;IACxB,OAAO;;;;;;;;;;;;;;;;;CAiBR,CAAC;AACF,CAAC"}
@@ -0,0 +1,25 @@
1
+ export declare function packageJson(projectName: string): {
2
+ readonly name: string;
3
+ readonly version: "0.1.0";
4
+ readonly private: true;
5
+ readonly type: "module";
6
+ readonly scripts: {
7
+ readonly dev: "tsx watch src/main.ts";
8
+ readonly start: "node --enable-source-maps dist/main.js";
9
+ readonly build: "tsc -p tsconfig.json";
10
+ readonly test: "jest";
11
+ readonly "test:watch": "jest --watch";
12
+ readonly "schema:sdl": "runner-dev schema sdl";
13
+ };
14
+ readonly dependencies: {
15
+ readonly "@bluelibs/runner": "^4.0.0";
16
+ };
17
+ readonly devDependencies: {
18
+ readonly "@bluelibs/runner-dev": "^4.0.0";
19
+ readonly typescript: "^5.6.3";
20
+ readonly tsx: "^4.19.2";
21
+ readonly jest: "^29.7.0";
22
+ readonly "ts-jest": "^29.1.1";
23
+ readonly "@types/jest": "^29.5.12";
24
+ };
25
+ };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.packageJson = packageJson;
4
+ function packageJson(projectName) {
5
+ return {
6
+ name: projectName,
7
+ version: "0.1.0",
8
+ private: true,
9
+ type: "module",
10
+ scripts: {
11
+ dev: "tsx watch src/main.ts",
12
+ start: "node --enable-source-maps dist/main.js",
13
+ build: "tsc -p tsconfig.json",
14
+ test: "jest",
15
+ "test:watch": "jest --watch",
16
+ "schema:sdl": "runner-dev schema sdl",
17
+ },
18
+ dependencies: {
19
+ "@bluelibs/runner": "^4.0.0",
20
+ },
21
+ devDependencies: {
22
+ "@bluelibs/runner-dev": "^4.0.0",
23
+ typescript: "^5.6.3",
24
+ tsx: "^4.19.2",
25
+ jest: "^29.7.0",
26
+ "ts-jest": "^29.1.1",
27
+ "@types/jest": "^29.5.12",
28
+ },
29
+ };
30
+ }
31
+ //# sourceMappingURL=package.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.json.js","sourceRoot":"","sources":["../../../../../src/cli/generators/scaffold/templates/package.json.ts"],"names":[],"mappings":";;AAAA,kCA0BC;AA1BD,SAAgB,WAAW,CAAC,WAAmB;IAC7C,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,GAAG,EAAE,uBAAuB;YAC5B,KAAK,EAAE,wCAAwC;YAC/C,KAAK,EAAE,sBAAsB;YAC7B,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,cAAc;YAC5B,YAAY,EAAE,uBAAuB;SACtC;QACD,YAAY,EAAE;YACZ,kBAAkB,EAAE,QAAQ;SAC7B;QACD,eAAe,EAAE;YACf,sBAAsB,EAAE,QAAQ;YAChC,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,SAAS;YACpB,aAAa,EAAE,UAAU;SAC1B;KACO,CAAC;AACb,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function mainTest(): string;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mainTest = mainTest;
4
+ function mainTest() {
5
+ return `describe('smoke', () => {
6
+ it('works', () => {
7
+ expect(1 + 1).toBe(2);
8
+ });
9
+ });
10
+ `;
11
+ }
12
+ //# sourceMappingURL=main.test.ts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.test.ts.js","sourceRoot":"","sources":["../../../../../../src/cli/generators/scaffold/templates/src/main.test.ts.ts"],"names":[],"mappings":";;AAAA,4BAOC;AAPD,SAAgB,QAAQ;IACtB,OAAO;;;;;CAKR,CAAC;AACF,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function mainTs(projectName: string): string;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mainTs = mainTs;
4
+ function mainTs(projectName) {
5
+ return `import { run, resource } from '@bluelibs/runner';
6
+ import { dev } from '@bluelibs/runner-dev';
7
+
8
+ // Minimal Runner app using runner-dev's dev resource
9
+ const app = resource({
10
+ id: 'app.${projectName}',
11
+ register: [
12
+ dev.with({ port: 1337 }),
13
+ ],
14
+ });
15
+
16
+ run(app)
17
+ .then(() => {
18
+ // eslint-disable-next-line no-console
19
+ console.log('Runner app started on http://localhost:1337');
20
+ })
21
+ .catch((err) => {
22
+ // eslint-disable-next-line no-console
23
+ console.error(err);
24
+ process.exit(1);
25
+ });
26
+ `;
27
+ }
28
+ //# sourceMappingURL=main.ts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.ts.js","sourceRoot":"","sources":["../../../../../../src/cli/generators/scaffold/templates/src/main.ts.ts"],"names":[],"mappings":";;AAAA,wBAuBC;AAvBD,SAAgB,MAAM,CAAC,WAAmB;IACxC,OAAO;;;;;aAKI,WAAW;;;;;;;;;;;;;;;;CAgBvB,CAAC;AACF,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare function tsconfigJest(): {
2
+ readonly extends: "./tsconfig.json";
3
+ readonly compilerOptions: {
4
+ readonly module: "CommonJS";
5
+ readonly moduleResolution: "node";
6
+ readonly target: "ES2019";
7
+ readonly esModuleInterop: true;
8
+ readonly isolatedModules: false;
9
+ };
10
+ readonly include: readonly ["src/**/*.ts", "src/**/*.tsx"];
11
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tsconfigJest = tsconfigJest;
4
+ function tsconfigJest() {
5
+ return {
6
+ extends: "./tsconfig.json",
7
+ compilerOptions: {
8
+ module: "CommonJS",
9
+ moduleResolution: "node",
10
+ target: "ES2019",
11
+ esModuleInterop: true,
12
+ isolatedModules: false,
13
+ },
14
+ include: ["src/**/*.ts", "src/**/*.tsx"],
15
+ };
16
+ }
17
+ //# sourceMappingURL=tsconfig.jest.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsconfig.jest.json.js","sourceRoot":"","sources":["../../../../../src/cli/generators/scaffold/templates/tsconfig.jest.json.ts"],"names":[],"mappings":";;AAAA,oCAYC;AAZD,SAAgB,YAAY;IAC1B,OAAO;QACL,OAAO,EAAE,iBAAiB;QAC1B,eAAe,EAAE;YACf,MAAM,EAAE,UAAU;YAClB,gBAAgB,EAAE,MAAM;YACxB,MAAM,EAAE,QAAQ;YAChB,eAAe,EAAE,IAAI;YACrB,eAAe,EAAE,KAAK;SACvB;QACD,OAAO,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC;KAChC,CAAC;AACb,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare function tsconfig(): {
2
+ readonly compilerOptions: {
3
+ readonly target: "ESNext";
4
+ readonly module: "Node16";
5
+ readonly moduleResolution: "node16";
6
+ readonly strict: true;
7
+ readonly esModuleInterop: true;
8
+ readonly forceConsistentCasingInFileNames: true;
9
+ readonly declaration: true;
10
+ readonly outDir: "dist";
11
+ readonly rootDir: "src";
12
+ readonly skipLibCheck: true;
13
+ readonly resolveJsonModule: true;
14
+ readonly lib: readonly ["ESNext"];
15
+ };
16
+ readonly include: readonly ["src"];
17
+ };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tsconfig = tsconfig;
4
+ function tsconfig() {
5
+ return {
6
+ compilerOptions: {
7
+ target: "ESNext",
8
+ module: "Node16",
9
+ moduleResolution: "node16",
10
+ strict: true,
11
+ esModuleInterop: true,
12
+ forceConsistentCasingInFileNames: true,
13
+ declaration: true,
14
+ outDir: "dist",
15
+ rootDir: "src",
16
+ skipLibCheck: true,
17
+ resolveJsonModule: true,
18
+ lib: ["ESNext"],
19
+ },
20
+ include: ["src"],
21
+ };
22
+ }
23
+ //# sourceMappingURL=tsconfig.json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsconfig.json.js","sourceRoot":"","sources":["../../../../../src/cli/generators/scaffold/templates/tsconfig.json.ts"],"names":[],"mappings":";;AAAA,4BAkBC;AAlBD,SAAgB,QAAQ;IACtB,OAAO;QACL,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,gBAAgB,EAAE,QAAQ;YAC1B,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,IAAI;YACrB,gCAAgC,EAAE,IAAI;YACtC,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,IAAI;YAClB,iBAAiB,EAAE,IAAI;YACvB,GAAG,EAAE,CAAC,QAAQ,CAAC;SAChB;QACD,OAAO,EAAE,CAAC,KAAK,CAAC;KACR,CAAC;AACb,CAAC"}
@@ -0,0 +1,6 @@
1
+ type ScaffoldOptions = {
2
+ projectName: string;
3
+ targetDir: string;
4
+ };
5
+ export declare function scaffold(opts: ScaffoldOptions): Promise<void>;
6
+ export {};