@bluelibs/runner-dev 4.4.13 → 4.4.14

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,6 @@
1
+ /**
2
+ * Load a JS/TS entry file and return the exported app (default or named export).
3
+ * Tries common TS runtimes (tsx, ts-node) and falls back to CJS require / dynamic import.
4
+ * Returns the selected export or throws a detailed error with hints.
5
+ */
6
+ export declare function loadEntryExport(entryFile: string, exportName?: string): Promise<any>;
@@ -0,0 +1,167 @@
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.loadEntryExport = loadEntryExport;
7
+ const node_path_1 = __importDefault(require("node:path"));
8
+ const node_url_1 = require("node:url");
9
+ const node_module_1 = require("node:module");
10
+ /**
11
+ * Load a JS/TS entry file and return the exported app (default or named export).
12
+ * Tries common TS runtimes (tsx, ts-node) and falls back to CJS require / dynamic import.
13
+ * Returns the selected export or throws a detailed error with hints.
14
+ */
15
+ async function loadEntryExport(entryFile, exportName) {
16
+ const tsLoaderErrors = [];
17
+ const abs = node_path_1.default.isAbsolute(entryFile)
18
+ ? entryFile
19
+ : node_path_1.default.resolve(process.cwd(), entryFile);
20
+ // Signal to the loaded entry that we're in CLI dry-run context; projects can opt to skip server start
21
+ if (!process.env.RUNNER_DEV_CLI)
22
+ process.env.RUNNER_DEV_CLI = "1";
23
+ if (!process.env.RUNNER_DEV_DRY_RUN)
24
+ process.env.RUNNER_DEV_DRY_RUN = "1";
25
+ // Use a require() instance relative to the entry file's project, so devDeps there are resolvable
26
+ const projectRequire = (0, node_module_1.createRequire)((0, node_url_1.pathToFileURL)(abs));
27
+ // Force any top-level run(app) calls inside the target project to be dry-run and silent
28
+ try {
29
+ const runnerPath = projectRequire.resolve("@bluelibs/runner");
30
+ const runnerMod = projectRequire(runnerPath);
31
+ const originalRun = runnerMod?.run;
32
+ if (typeof originalRun === "function") {
33
+ const wrapped = async (app, opts) => {
34
+ const merged = {
35
+ ...(opts || {}),
36
+ dryRun: true,
37
+ logs: { printThreshold: null, ...(opts?.logs || {}) },
38
+ };
39
+ return originalRun(app, merged);
40
+ };
41
+ // Patch both the live export and the cache entry exports
42
+ try {
43
+ runnerMod.run = wrapped;
44
+ }
45
+ catch { }
46
+ try {
47
+ const cache = require.cache[runnerPath];
48
+ if (cache && cache.exports) {
49
+ cache.exports.run = wrapped;
50
+ }
51
+ }
52
+ catch { }
53
+ }
54
+ }
55
+ catch { }
56
+ // Try to load a TS runtime relative to the target project first
57
+ let loadedTsRuntime = null;
58
+ try {
59
+ projectRequire("tsx/cjs");
60
+ loadedTsRuntime = "tsx";
61
+ }
62
+ catch (e) {
63
+ tsLoaderErrors.push(`tsx (project): ${e.message}`);
64
+ try {
65
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
66
+ require("tsx/cjs");
67
+ loadedTsRuntime = "tsx";
68
+ }
69
+ catch (e2) {
70
+ tsLoaderErrors.push(`tsx (local): ${e2.message}`);
71
+ }
72
+ }
73
+ if (!loadedTsRuntime) {
74
+ try {
75
+ projectRequire("ts-node/register/transpile-only");
76
+ loadedTsRuntime = "ts-node/transpile-only";
77
+ }
78
+ catch (e) {
79
+ tsLoaderErrors.push(`ts-node/transpile-only (project): ${e.message}`);
80
+ try {
81
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
82
+ require("ts-node/register/transpile-only");
83
+ loadedTsRuntime = "ts-node/transpile-only";
84
+ }
85
+ catch (e2) {
86
+ tsLoaderErrors.push(`ts-node/transpile-only (local): ${e2.message}`);
87
+ }
88
+ }
89
+ }
90
+ if (!loadedTsRuntime) {
91
+ try {
92
+ projectRequire("ts-node/register");
93
+ loadedTsRuntime = "ts-node/register";
94
+ }
95
+ catch (e) {
96
+ tsLoaderErrors.push(`ts-node/register (project): ${e.message}`);
97
+ try {
98
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
99
+ require("ts-node/register");
100
+ loadedTsRuntime = "ts-node/register";
101
+ }
102
+ catch (e2) {
103
+ tsLoaderErrors.push(`ts-node/register (local): ${e2.message}`);
104
+ }
105
+ }
106
+ }
107
+ const isTs = /\.tsx?$/.test(abs);
108
+ // If this is a TS entry and no TS runtime was loaded, fail fast with a clear error
109
+ if (isTs && !loadedTsRuntime) {
110
+ const hints = [
111
+ "Install a TypeScript runtime such as 'tsx' or 'ts-node'",
112
+ 'If your project uses ESM, ensure nearest package.json has "type": "module" or use a .mjs extension',
113
+ "Alternatively, run with a compiled JavaScript entry file instead of .ts/.tsx",
114
+ ];
115
+ if (tsLoaderErrors.length > 0) {
116
+ hints.unshift(`TS loader attempts failed: ${tsLoaderErrors.join("; ")}`);
117
+ }
118
+ throw new Error(`TypeScript entry detected but no TS runtime was loaded for '${entryFile}'.\nHints:\n- ${hints.join("\n- ")}`);
119
+ }
120
+ // Try to register tsconfig-paths to support TS path aliases (best-effort)
121
+ if (loadedTsRuntime) {
122
+ try {
123
+ projectRequire("tsconfig-paths/register");
124
+ }
125
+ catch { }
126
+ }
127
+ const errors = [];
128
+ let mod;
129
+ // Try CJS require first (allows tsx/ts-node hooks), then explicit .ts require, then dynamic import
130
+ try {
131
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
132
+ mod = require(abs);
133
+ }
134
+ catch (e) {
135
+ errors.push(`require(${abs}): ${e.message}`);
136
+ try {
137
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
138
+ mod = require(abs.endsWith(".ts") ? abs : `${abs}.ts`);
139
+ }
140
+ catch (e2) {
141
+ errors.push(`require(${abs}.ts): ${e2.message}`);
142
+ try {
143
+ mod = await import((0, node_url_1.pathToFileURL)(abs).href);
144
+ }
145
+ catch (e3) {
146
+ errors.push(`import(${abs}): ${e3.message}`);
147
+ }
148
+ }
149
+ }
150
+ if (!mod) {
151
+ const hints = [
152
+ "Install a TypeScript runtime such as 'tsx' or 'ts-node'",
153
+ 'If your project uses ESM, ensure nearest package.json has "type": "module" or use a .mjs extension',
154
+ "Try running with --entry-file pointing to a compiled JS file instead",
155
+ ];
156
+ if (tsLoaderErrors.length > 0) {
157
+ hints.unshift(`TS loader attempts failed: ${tsLoaderErrors.join("; ")}`);
158
+ }
159
+ throw new Error(`Failed to load entry file '${entryFile}'. Attempts:\n- ${errors.join("\n- ")}\nHints:\n- ${hints.join("\n- ")}`);
160
+ }
161
+ const entry = (exportName ? mod?.[exportName] : mod?.default) ?? mod?.app ?? null;
162
+ if (!entry) {
163
+ throw new Error(`Entry not found in '${entryFile}'. Provide a default export or use --export <name>.`);
164
+ }
165
+ return entry;
166
+ }
167
+ //# sourceMappingURL=entryLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entryLoader.js","sourceRoot":"","sources":["../../src/cli/entryLoader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { run } from "@bluelibs/runner";
2
+ export type CliHarness = Awaited<ReturnType<typeof run>>;
3
+ /**
4
+ * Build a CLI GraphQL harness from a TS/JS entry file in one step.
5
+ * - Loads the entry export
6
+ * - Runs the entry in dry-run mode to obtain the Store
7
+ * - Runs the CLI GraphQL harness with that Store
8
+ */
9
+ export declare function createGraphqlCliHarnessFromEntry(entryFile: string, exportName?: string): Promise<CliHarness>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createGraphqlCliHarnessFromEntry = createGraphqlCliHarnessFromEntry;
4
+ const runner_1 = require("@bluelibs/runner");
5
+ const graphql_cli_resource_1 = require("../resources/graphql.cli.resource");
6
+ const entryLoader_1 = require("./entryLoader");
7
+ /**
8
+ * Build a CLI GraphQL harness from a TS/JS entry file in one step.
9
+ * - Loads the entry export
10
+ * - Runs the entry in dry-run mode to obtain the Store
11
+ * - Runs the CLI GraphQL harness with that Store
12
+ */
13
+ async function createGraphqlCliHarnessFromEntry(entryFile, exportName) {
14
+ const entry = await (0, entryLoader_1.loadEntryExport)(entryFile, exportName);
15
+ const dry = await (0, runner_1.run)(entry, {
16
+ dryRun: true,
17
+ logs: { printThreshold: null },
18
+ });
19
+ const customStore = dry?.store;
20
+ if (!customStore) {
21
+ throw new Error("Dry-run did not return a store.");
22
+ }
23
+ const harness = await (0, runner_1.run)(graphql_cli_resource_1.graphqlCli.with({ customStore }), {
24
+ logs: { printThreshold: null },
25
+ });
26
+ return harness;
27
+ }
28
+ //# sourceMappingURL=harness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/cli/harness.ts"],"names":[],"mappings":";;AAYA,4EAiBC;AA7BD,6CAAuC;AACvC,4EAA+D;AAC/D,+CAAgD;AAIhD;;;;;GAKG;AACI,KAAK,UAAU,gCAAgC,CACpD,SAAiB,EACjB,UAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,IAAA,6BAAe,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,MAAM,IAAA,YAAG,EAAC,KAAK,EAAE;QAC3B,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;KAC/B,CAAC,CAAC;IACH,MAAM,WAAW,GAAI,GAAW,EAAE,KAAK,CAAC;IACxC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,IAAA,YAAG,EAAC,iCAAU,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;QAC1D,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;KAC/B,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dist/cli/query.js CHANGED
@@ -1,15 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
3
  Object.defineProperty(exports, "__esModule", { value: true });
7
4
  exports.main = main;
8
5
  const shared_1 = require("./shared");
9
- const node_path_1 = __importDefault(require("node:path"));
10
- const node_url_1 = require("node:url");
11
- const runner_1 = require("@bluelibs/runner");
12
- const graphql_cli_resource_1 = require("../resources/graphql.cli.resource");
6
+ const graphql_query_cli_task_1 = require("../resources/graphql.query.cli.task");
7
+ const harness_1 = require("./harness");
13
8
  function printHelp() {
14
9
  // eslint-disable-next-line no-console
15
10
  console.log(`
@@ -32,8 +27,9 @@ Options:
32
27
 
33
28
  Modes & selection:
34
29
  - If --entry-file is provided, dry-run mode is used (no server). A TS runtime (tsx or ts-node) must be available.
35
- - Otherwise, a remote endpoint is used via --endpoint or ENDPOINT/GRAPHQL_ENDPOINT.
36
- - If neither is provided, the command errors.
30
+ - Otherwise, a remote endpoint is used via --endpoint or ENDPOINT/GRAPHQL_ENDPOINT.
31
+ - Do not combine --entry-file and --endpoint (mutually exclusive).
32
+ - If neither is provided, the command errors.
37
33
  `);
38
34
  }
39
35
  async function main(argv) {
@@ -42,9 +38,19 @@ async function main(argv) {
42
38
  printHelp();
43
39
  return;
44
40
  }
45
- let query = args[0];
41
+ // Support two styles:
42
+ // 1) positional query followed by flags: `query '<gql>' --variables ...`
43
+ // 2) flags-only first (e.g. --entry-file) where no positional query is provided
44
+ let query = args[0] ?? "";
45
+ let startIndex = 1;
46
+ const flagsFirst = Boolean(args[0] && args[0].startsWith("--"));
47
+ if (flagsFirst) {
48
+ query = "";
49
+ startIndex = 0;
50
+ }
46
51
  const opts = new Map();
47
- for (let i = 1; i < args.length; i++) {
52
+ const leftover = [];
53
+ for (let i = startIndex; i < args.length; i++) {
48
54
  const a = args[i];
49
55
  if (a.startsWith("--")) {
50
56
  const key = a.slice(2);
@@ -57,6 +63,16 @@ async function main(argv) {
57
63
  i++;
58
64
  }
59
65
  }
66
+ else {
67
+ // Track leftover positional tokens that appear when flags are first
68
+ leftover.push(a);
69
+ }
70
+ }
71
+ if (flagsFirst && leftover.length > 0) {
72
+ // Provide a clear error: positional query must be first
73
+ throw new Error("Positional GraphQL query must be the first argument (index 0).\n" +
74
+ "When using flags before the query, do not pass a positional query after flags.\n" +
75
+ "Examples:\n runner-dev query 'query { tasks { id } }' --entry-file ./src/main.ts\n runner-dev query --entry-file ./src/main.ts --export app (dry-run without positional query)");
60
76
  }
61
77
  const endpoint = opts.get("endpoint") || undefined;
62
78
  const headersJson = opts.get("headers") || undefined;
@@ -71,81 +87,20 @@ async function main(argv) {
71
87
  "data");
72
88
  const raw = Boolean(opts.get("raw"));
73
89
  const namespace = opts.get("namespace") || undefined;
74
- if (namespace) {
90
+ if (namespace && query) {
75
91
  query = (0, shared_1.applyNamespaceFilter)(query, namespace);
76
92
  }
77
93
  try {
94
+ // Mutual exclusivity: --entry-file and --endpoint cannot be combined
95
+ if (entryFile && endpoint) {
96
+ throw new Error("Invalid options: --entry-file and --endpoint are mutually exclusive.\n" +
97
+ "Use either a local entry (--entry-file) for dry-run or a remote endpoint (--endpoint), not both.");
98
+ }
78
99
  // Prefer dry-run entry-file mode when provided
79
100
  if (entryFile) {
80
- // Auto-load TypeScript runtime hooks: prefer tsx, fallback to ts-node
81
- const tsLoaderErrors = [];
82
- const loadedTsRuntime = (() => {
83
- try {
84
- // Try tsx (fast, no TS dependency). Optional.
85
- // eslint-disable-next-line @typescript-eslint/no-var-requires
86
- require("tsx/cjs");
87
- return "tsx";
88
- }
89
- catch (e) {
90
- tsLoaderErrors.push(`tsx: ${e.message}`);
91
- }
92
- try {
93
- // eslint-disable-next-line @typescript-eslint/no-var-requires
94
- require("ts-node/register/transpile-only");
95
- return "ts-node/transpile-only";
96
- }
97
- catch (e) {
98
- tsLoaderErrors.push(`ts-node/transpile-only: ${e.message}`);
99
- }
100
- try {
101
- // eslint-disable-next-line @typescript-eslint/no-var-requires
102
- require("ts-node/register");
103
- return "ts-node/register";
104
- }
105
- catch (e) {
106
- tsLoaderErrors.push(`ts-node/register: ${e.message}`);
107
- }
108
- return null;
109
- })();
110
- if (!loadedTsRuntime) {
111
- throw new Error(`TypeScript loader not available. Install one of: 'tsx' or 'ts-node'. Details: ${tsLoaderErrors.join("; ")}`);
112
- }
113
- const abs = node_path_1.default.isAbsolute(entryFile)
114
- ? entryFile
115
- : node_path_1.default.resolve(process.cwd(), entryFile);
116
- // Prefer CJS require so ts-node's require hook can resolve .ts files and extension-less imports.
117
- // Fall back to dynamic import if require fails (eg. pure ESM JS entry files).
118
- let mod;
119
- try {
120
- // Try as given
121
- // eslint-disable-next-line @typescript-eslint/no-var-requires
122
- mod = require(abs);
123
- }
124
- catch (_) {
125
- try {
126
- // Try adding .ts extension explicitly
127
- // eslint-disable-next-line @typescript-eslint/no-var-requires
128
- mod = require(abs.endsWith(".ts") ? abs : `${abs}.ts`);
129
- }
130
- catch {
131
- // Last resort: dynamic import (works for JS/ESM with explicit extensions)
132
- mod = await import((0, node_url_1.pathToFileURL)(abs).href);
133
- }
134
- }
135
- const entry = (exportName ? mod?.[exportName] : mod?.default) ?? mod?.app ?? null;
136
- if (!entry) {
137
- throw new Error(`Entry not found. Provide a default export or use --export <name>.`);
138
- }
139
- // First pass: dry-run to get the Store
140
- const dry = await (0, runner_1.run)(entry, { dryRun: true });
141
- const customStore = dry.store;
142
- if (!customStore) {
143
- throw new Error("Dry-run did not return a store.");
144
- }
145
- // Second pass: run the GraphQL harness with the custom store
146
- const harness = await (0, runner_1.run)(graphql_cli_resource_1.graphqlCli.with({ customStore }));
101
+ const harness = await (0, harness_1.createGraphqlCliHarnessFromEntry)(entryFile, exportName);
147
102
  try {
148
- const res = await harness.runTask("runner-dev.tasks.graphqlQueryCli", {
103
+ const res = await harness.runTask(graphql_query_cli_task_1.graphqlQueryCliTask.id, {
149
104
  query,
150
105
  variables,
151
106
  operationName,
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/cli/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/cli/query.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.main = main;
5
5
  const shared_1 = require("./shared");
6
6
  const schema_1 = require("../mcp/schema");
7
+ const graphql_1 = require("graphql");
8
+ const graphql_query_cli_task_1 = require("../resources/graphql.query.cli.task");
9
+ const harness_1 = require("./harness");
7
10
  function printHelp() {
8
11
  // eslint-disable-next-line no-console
9
12
  console.log(`
@@ -12,6 +15,8 @@ runner-dev schema
12
15
  Usage:
13
16
  runner-dev schema sdl [--endpoint <url>] [--headers '<json>']
14
17
  runner-dev schema json [--endpoint <url>] [--headers '<json>']
18
+ runner-dev schema sdl --entry-file <path> [--export <name>]
19
+ runner-dev schema json --entry-file <path> [--export <name>]
15
20
  `);
16
21
  }
17
22
  async function main(argv) {
@@ -36,9 +41,48 @@ async function main(argv) {
36
41
  }
37
42
  }
38
43
  }
44
+ const entryFile = opts.get("entry-file") || undefined;
45
+ const exportName = opts.get("export") || undefined;
39
46
  const endpoint = opts.get("endpoint") || undefined;
40
47
  const headersJson = opts.get("headers") || undefined;
41
48
  try {
49
+ // Mutual exclusivity: --entry-file and --endpoint cannot be combined
50
+ if (entryFile && endpoint) {
51
+ throw new Error("Invalid options: --entry-file and --endpoint are mutually exclusive.\n" +
52
+ "Use either a local entry (--entry-file) for dry-run or a remote endpoint (--endpoint), not both.");
53
+ }
54
+ // Support entry-file dry-run mode for schema as well
55
+ if (entryFile) {
56
+ const harness = await (0, harness_1.createGraphqlCliHarnessFromEntry)(entryFile, exportName);
57
+ try {
58
+ if (sub === "sdl") {
59
+ const intros = await harness.runTask(graphql_query_cli_task_1.graphqlQueryCliTask.id, {
60
+ query: (0, graphql_1.getIntrospectionQuery)(),
61
+ });
62
+ if (!intros?.ok || !intros?.data) {
63
+ throw new Error(`Introspection failed: ${JSON.stringify(intros ?? {})}`);
64
+ }
65
+ const schema = (0, graphql_1.buildClientSchema)(intros.data);
66
+ // eslint-disable-next-line no-console
67
+ console.log((0, graphql_1.printSchema)(schema));
68
+ return;
69
+ }
70
+ if (sub === "json") {
71
+ const intros = await harness.runTask(graphql_query_cli_task_1.graphqlQueryCliTask.id, {
72
+ query: (0, graphql_1.getIntrospectionQuery)(),
73
+ });
74
+ // eslint-disable-next-line no-console
75
+ console.log(JSON.stringify(intros, null, 2));
76
+ return;
77
+ }
78
+ }
79
+ finally {
80
+ try {
81
+ await harness.dispose();
82
+ }
83
+ catch { }
84
+ }
85
+ }
42
86
  if (sub === "sdl") {
43
87
  if (endpoint)
44
88
  process.env.ENDPOINT = endpoint;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/cli/schema.ts"],"names":[],"mappings":";;;AAeA,oBAgDC;AA9DD,qCAAkD;AAClD,0CAA+C;AAE/C,SAAS,SAAS;IAChB,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC;;;;;;CAMb,CAAC,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,IAAI,CAAC,IAAc;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpB,MAAM,IAAI,GAAG,IAAI,GAAG,EAA4B,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACpB,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAY,IAAI,SAAS,CAAC;IAC/D,MAAM,WAAW,GAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAY,IAAI,SAAS,CAAC;IAEjE,IAAI,CAAC;QACH,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAClB,IAAI,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC9C,IAAI,WAAW;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,WAAW,CAAC;YACnD,MAAM,GAAG,GAAG,MAAM,IAAA,uBAAc,GAAE,CAAC;YACnC,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,MAAM,IAAA,+BAAsB,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACjE,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,SAAS,EAAE,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;QACpC,2CAA2C;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/cli/schema.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ function resolveEndpoint(explicit) {
14
14
  const envEndpoint = (0, env_1.getEndpoint)();
15
15
  const endpoint = explicit || envEndpoint;
16
16
  if (!endpoint) {
17
- throw new Error("Endpoint not provided. Use --endpoint or set ENDPOINT/GRAPHQL_ENDPOINT.");
17
+ throw new Error("Endpoint not provided. Use --endpoint or set ENDPOINT/GRAPHQL_ENDPOINT.\nOr run with --entry-file <path> to use a local TS entry (dry-run) if you want to query a local project without a remote endpoint.");
18
18
  }
19
19
  return endpoint;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/cli/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/cli/shared.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const v = "4.4.13";
1
+ declare const v = "4.4.14";
2
2
  export default v;
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  // Auto-generated by scripts/sync-version.ts. Do not edit manually.
4
- const v = '4.4.13';
4
+ const v = '4.4.14';
5
5
  exports.default = v;
6
6
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bluelibs/runner-dev",
3
- "version": "4.4.13",
3
+ "version": "4.4.14",
4
4
  "description": "BlueLibs Runner DevTools",
5
5
  "main": "dist/index.js",
6
6
  "repository": {