@inquir/compute 0.4.1 → 0.4.4

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/dist/zip.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"zip.d.ts","sourceRoot":"","sources":["../src/zip.ts"],"names":[],"mappings":"AAqJA;;;GAGG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBzE"}
1
+ {"version":3,"file":"zip.d.ts","sourceRoot":"","sources":["../src/zip.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,6CAA8C,CAAC;AAK/E,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,uGAAuG;IACvG,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qGAAqG;IACrG,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sFAAsF;IACtF,eAAe,EAAE,kBAAkB,EAAE,CAAC;CACvC;AAsBD;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC3B,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBxB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,sGAAsG;IACtG,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CACpC;AAwFD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAkB,GAAG,UAAU,EAAE,CAsBxF;AAED,oHAAoH;AACpH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,OAAO,CAQ5F;AAyKD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,aAAa,CAAC,CAqExB;AAQD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAc7G;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7G"}
package/dist/zip.js CHANGED
@@ -4,6 +4,205 @@ const IGNORED_DIRECTORIES = new Set(['node_modules', '.git', 'dist', '.inquir'])
4
4
  const IGNORED_FILENAMES = new Set(['.DS_Store']);
5
5
  const IGNORED_SUFFIXES = ['.swp', '.swo', '.tmp', '~'];
6
6
  const TEST_FILE_PATTERN = /\.(test|spec)\.[cm]?[jt]sx?$/;
7
+ /**
8
+ * Ignore files read from the root of the build context, in this order, with
9
+ * Docker's .dockerignore syntax. A later rule wins, so .inquirignore can
10
+ * re-include (`!path`) what .dockerignore excludes.
11
+ */
12
+ export const SOURCE_IGNORE_FILES = ['.dockerignore', '.inquirignore'];
13
+ /** Inquir app manifests; one may name a build context the uploader cannot see without parsing it. */
14
+ const MANIFEST_FILENAMES = ['inquir.yaml', 'inquir.yml'];
15
+ const ENV_TEMPLATE_SUFFIXES = new Set(['example', 'sample', 'template']);
16
+ const SSH_PRIVATE_KEY_NAMES = new Set(['id_rsa', 'id_dsa', 'id_ecdsa', 'id_ed25519', 'id_ecdsa_sk', 'id_ed25519_sk']);
17
+ const CREDENTIAL_FILENAMES = new Set(['.netrc', '_netrc', '.git-credentials', '.pgpass']);
18
+ const KEYSTORE_SUFFIXES = ['.p12', '.pfx'];
19
+ /**
20
+ * Secret only when they hold a private key: a CA bundle .pem is public and
21
+ * often needed, and most JSON is data. A cloud service-account key file
22
+ * (`"private_key": "-----BEGIN PRIVATE KEY-----..."`) is caught this way.
23
+ */
24
+ const KEY_MATERIAL_SUFFIXES = ['.pem', '.key', '.p8', '.json'];
25
+ const PRIVATE_KEY_MARKER = /-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----/;
26
+ /** Larger files are not inspected for key material (a key file is a few KiB). */
27
+ const MAX_INSPECTED_BYTES = 1024 * 1024;
28
+ /**
29
+ * A registry credential written out literally. A `${NPM_TOKEN}` reference is
30
+ * fine: the value comes from the build environment, not from the file.
31
+ */
32
+ const NPMRC_LITERAL_CREDENTIAL = /^\s*(?:\/\/\S*:)?(?:_authToken|_auth|_password)\s*=\s*(?!\$\{)\S/m;
33
+ const PYPIRC_LITERAL_CREDENTIAL = /^\s*password\s*[=:]\s*(?!\$\{)\S/m;
34
+ /**
35
+ * Whether a file must never leave the developer's machine in a source upload,
36
+ * at any depth: dotenv files (`.env`, `.envrc`, `.env.*` except
37
+ * `.env.example`, `.env.sample` and `.env.template`), SSH private keys
38
+ * (`id_rsa`, `id_ed25519`, ...), PKCS#12 key stores (`*.p12`, `*.pfx`),
39
+ * `.netrc`, `.git-credentials` and `.pgpass`, `*.pem`/`*.key`/`*.p8`/`*.json`
40
+ * files up to 1 MiB that hold a PRIVATE KEY block, and `.npmrc`/`.pypirc`
41
+ * files that carry a literal credential. Returns the reason, or null for an
42
+ * ordinary file. `read` is called only for the files whose name alone cannot
43
+ * decide; `size` (when known) skips reading large files.
44
+ */
45
+ export async function isSecretLikeFile(relativePath, read, size) {
46
+ const lower = relativePath.slice(relativePath.lastIndexOf('/') + 1).toLowerCase();
47
+ if (lower === '.env' || lower === '.envrc')
48
+ return 'dotenv file';
49
+ if (lower.startsWith('.env.')) {
50
+ return ENV_TEMPLATE_SUFFIXES.has(lower.slice('.env.'.length)) ? null : 'dotenv file';
51
+ }
52
+ if (SSH_PRIVATE_KEY_NAMES.has(lower))
53
+ return 'SSH private key';
54
+ if (CREDENTIAL_FILENAMES.has(lower))
55
+ return 'credentials file';
56
+ if (KEYSTORE_SUFFIXES.some((suffix) => lower.endsWith(suffix)))
57
+ return 'private key store';
58
+ const text = async () => (await read()).subarray(0, MAX_INSPECTED_BYTES).toString('utf8');
59
+ if (KEY_MATERIAL_SUFFIXES.some((suffix) => lower.endsWith(suffix))) {
60
+ if (size !== undefined && size > MAX_INSPECTED_BYTES)
61
+ return null;
62
+ return PRIVATE_KEY_MARKER.test(await text()) ? 'private key' : null;
63
+ }
64
+ if (lower === '.npmrc')
65
+ return NPMRC_LITERAL_CREDENTIAL.test(await text()) ? 'registry token' : null;
66
+ if (lower === '.pypirc')
67
+ return PYPIRC_LITERAL_CREDENTIAL.test(await text()) ? 'registry password' : null;
68
+ return null;
69
+ }
70
+ /** Characters that make moby/patternmatcher compile a pattern to a regexp. */
71
+ const PATTERN_SPECIAL = /[*?[\]\\]/;
72
+ /**
73
+ * One pattern as moby/patternmatcher matches it: a leading `**` followed by
74
+ * no other special character is a suffix match (`**.js` is any path ending
75
+ * in `.js`, and `**` followed by `/foo` also matches `foo` itself); everything else is the
76
+ * compiled regexp, whose results equal Docker's exact and prefix matches.
77
+ */
78
+ function compileRule(pattern) {
79
+ if (pattern.startsWith('**') && pattern.length > 2 && !PATTERN_SPECIAL.test(pattern.slice(2))) {
80
+ const suffix = pattern.slice(2);
81
+ return (path) => path.endsWith(suffix) || (suffix.startsWith('/') && path === suffix.slice(1));
82
+ }
83
+ const regexp = compileDockerPattern(pattern);
84
+ return (path) => regexp.test(path);
85
+ }
86
+ const REGEXP_SPECIAL = /[\\^$.*+?()[\]{}|/]/;
87
+ function literal(char) {
88
+ return REGEXP_SPECIAL.test(char) ? `\\${char}` : char;
89
+ }
90
+ /**
91
+ * Docker's pattern syntax (moby/patternmatcher) as an anchored RegExp over a
92
+ * /-separated path: `*` and `?` stay inside one segment, `**` spans
93
+ * directories (zero or more whole directories, or anything at the end), `[...]` is a character
94
+ * class with `^` negation (as in Go; `!` is an ordinary member), and `\`
95
+ * escapes the next character.
96
+ */
97
+ function compileDockerPattern(pattern) {
98
+ let source = '';
99
+ for (let index = 0; index < pattern.length; index += 1) {
100
+ const char = pattern[index];
101
+ if (char === '*') {
102
+ if (pattern[index + 1] !== '*') {
103
+ source += '[^/]*';
104
+ continue;
105
+ }
106
+ index += 1;
107
+ if (pattern[index + 1] === '/')
108
+ index += 1;
109
+ source += index + 1 >= pattern.length ? '.*' : '(?:.*/)?';
110
+ }
111
+ else if (char === '?') {
112
+ source += '[^/]';
113
+ }
114
+ else if (char === '[') {
115
+ // A `]` right after `[` or `[^` is a member, not the end of the class.
116
+ let start = index + 1;
117
+ if (pattern[start] === '^')
118
+ start += 1;
119
+ const close = pattern.indexOf(']', start + 1);
120
+ if (close === -1) {
121
+ source += '\\[';
122
+ continue;
123
+ }
124
+ const negated = pattern[index + 1] === '^';
125
+ const members = pattern.slice(start, close).replace(/[\\\]]/g, (c) => `\\${c}`);
126
+ source += `[${negated ? '^' : ''}${members}]`;
127
+ index = close;
128
+ }
129
+ else if (char === '\\' && index + 1 < pattern.length) {
130
+ index += 1;
131
+ source += literal(pattern[index]);
132
+ }
133
+ else {
134
+ source += literal(char);
135
+ }
136
+ }
137
+ return new RegExp(`^${source}$`);
138
+ }
139
+ /**
140
+ * Lexical clean of a pattern, like Go's filepath.Clean in Docker: a leading
141
+ * `/` is the root, `.` segments go, `x/..` cancels, and a leading `..` stays
142
+ * (such a pattern can never match a file inside the context).
143
+ */
144
+ function cleanPattern(pattern) {
145
+ const rooted = pattern.startsWith('/');
146
+ const parts = [];
147
+ for (const part of pattern.split('/')) {
148
+ if (part === '' || part === '.')
149
+ continue;
150
+ if (part === '..' && parts.length > 0 && parts[parts.length - 1] !== '..')
151
+ parts.pop();
152
+ // Above the root there is nothing: Go cleans `/../x` to `/x`.
153
+ else if (part === '..' && rooted && parts.length === 0)
154
+ continue;
155
+ else
156
+ parts.push(part);
157
+ }
158
+ return parts.join('/');
159
+ }
160
+ /**
161
+ * Parses .dockerignore content: one pattern per line, `#` in the first column
162
+ * starts a comment, `!` re-includes. Patterns are relative to the context
163
+ * root (`*.md` matches only top-level files, `**` crosses directories), and a
164
+ * pattern that matches a directory excludes everything under it. `source`
165
+ * names the file in errors.
166
+ */
167
+ export function parseIgnoreRules(content, source = '.dockerignore') {
168
+ const rules = [];
169
+ // A UTF-8 byte order mark is not part of the first line (moby strips it too).
170
+ const lines = content.replace(/^\uFEFF/, '').split(/\r?\n/);
171
+ for (let number = 0; number < lines.length; number += 1) {
172
+ const rawLine = lines[number];
173
+ if (rawLine.startsWith('#'))
174
+ continue;
175
+ let line = rawLine.trim();
176
+ if (line === '')
177
+ continue;
178
+ const negated = line.startsWith('!');
179
+ if (negated)
180
+ line = line.slice(1).trim();
181
+ const cleaned = cleanPattern(line);
182
+ if (cleaned === '')
183
+ continue;
184
+ let matches;
185
+ try {
186
+ matches = compileRule(cleaned);
187
+ }
188
+ catch (error) {
189
+ throw new Error(`${source}:${number + 1}: invalid pattern '${rawLine.trim()}' (${error instanceof Error ? error.message : String(error)})`);
190
+ }
191
+ rules.push({ negated, matches });
192
+ }
193
+ return rules;
194
+ }
195
+ /** Docker's precedence: the last matching rule wins, and a rule matches a path or any of its parent directories. */
196
+ export function isIgnoredByRules(relativePath, rules) {
197
+ const segments = relativePath.split('/');
198
+ const candidates = segments.map((_, index) => segments.slice(0, index + 1).join('/'));
199
+ let ignored = false;
200
+ for (const rule of rules) {
201
+ if (candidates.some((candidate) => rule.matches(candidate)))
202
+ ignored = !rule.negated;
203
+ }
204
+ return ignored;
205
+ }
7
206
  const CRC_TABLE = (() => {
8
207
  const table = new Uint32Array(256);
9
208
  for (let index = 0; index < 256; index += 1) {
@@ -37,6 +236,25 @@ async function collectFiles(entryPath, rootDir, output) {
37
236
  }
38
237
  }
39
238
  }
239
+ async function readIgnoreRules(rootDir, context) {
240
+ const files = [];
241
+ const rules = [];
242
+ for (const name of SOURCE_IGNORE_FILES) {
243
+ const relative = context ? `${context}/${name}` : name;
244
+ let content;
245
+ try {
246
+ content = await fs.readFile(path.join(rootDir, relative), 'utf8');
247
+ }
248
+ catch (error) {
249
+ if (error.code === 'ENOENT')
250
+ continue;
251
+ throw error;
252
+ }
253
+ files.push(relative);
254
+ rules.push(...parseIgnoreRules(content, relative));
255
+ }
256
+ return { files, rules };
257
+ }
40
258
  function computeCrc32(buffer) {
41
259
  let crc = 0xffffffff;
42
260
  for (const byte of buffer) {
@@ -121,25 +339,126 @@ function buildZipBuffer(entries) {
121
339
  endOfCentralDirectory.writeUInt16LE(0, 20);
122
340
  return Buffer.concat([...fileChunks, centralDirectory, endOfCentralDirectory]);
123
341
  }
342
+ /** A relative path inside the source root, `/`-separated, without `./`; null when it leaves the root. */
343
+ function normalizeRelative(value) {
344
+ const normalized = path.posix.normalize(value.replace(/\\/g, '/'));
345
+ if (normalized === '.' || normalized === './' || normalized === '')
346
+ return '';
347
+ if (normalized.startsWith('../') || normalized === '..' || path.posix.isAbsolute(normalized))
348
+ return null;
349
+ return normalized.replace(/^\.\//, '').replace(/\/$/, '');
350
+ }
124
351
  /**
125
- * Creates a base64-encoded ZIP archive from a file or directory.
126
- * Excludes node_modules, .git, dist, test files, and other common non-essential files.
352
+ * Packs a file or directory for a source upload. Skips node_modules, .git,
353
+ * dist, dot-directories, test files and editor droppings; applies the build
354
+ * context's .dockerignore and then .inquirignore with Docker's syntax and
355
+ * precedence, relative to the context (the selected Dockerfile and
356
+ * .dockerignore are always kept, as Docker sends them too); and always keeps
357
+ * secret-like files out (isSecretLikeFile), even when an ignore rule
358
+ * re-includes them, listing each in `excludedSecrets`.
127
359
  */
128
- export async function createZipBase64(sourcePath) {
360
+ export async function createSourceArchive(sourcePath, options = {}) {
129
361
  const resolvedSourcePath = path.resolve(sourcePath);
130
362
  const stats = await fs.stat(resolvedSourcePath);
131
- const relativePaths = [];
363
+ const candidates = [];
132
364
  let rootDir = resolvedSourcePath;
365
+ let ignore = { files: [], rules: [] };
366
+ let ignoreRulesSkipped;
367
+ let context = '';
368
+ const alwaysSent = new Set();
133
369
  if (stats.isDirectory()) {
134
- await collectFiles(resolvedSourcePath, resolvedSourcePath, relativePaths);
370
+ await collectFiles(resolvedSourcePath, resolvedSourcePath, candidates);
371
+ const requested = options.context === undefined ? '.' : options.context;
372
+ const normalized = requested === null ? null : normalizeRelative(requested);
373
+ if (normalized === null) {
374
+ const present = ignoreFilesIn(candidates);
375
+ if (present.length > 0) {
376
+ ignoreRulesSkipped = requested === null
377
+ ? 'the build context is not known here (inquir.yaml may set it)'
378
+ : `the build context '${requested}' is outside the source directory`;
379
+ }
380
+ }
381
+ else {
382
+ context = normalized;
383
+ ignore = await readIgnoreRules(resolvedSourcePath, context);
384
+ const contextPath = (relative) => (context ? `${context}/${relative}` : relative);
385
+ const dockerfile = normalizeRelative(path.posix.join(context || '.', (options.dockerfile ?? 'Dockerfile').replace(/\\/g, '/')));
386
+ if (dockerfile)
387
+ alwaysSent.add(dockerfile);
388
+ alwaysSent.add(contextPath('.dockerignore'));
389
+ // The server reads the app manifest from the upload's root, whatever
390
+ // the context's .dockerignore says (an allowlist would drop it).
391
+ for (const name of MANIFEST_FILENAMES)
392
+ alwaysSent.add(name);
393
+ }
135
394
  }
136
395
  else {
137
396
  rootDir = path.dirname(resolvedSourcePath);
138
397
  if (!shouldIgnoreFile(resolvedSourcePath)) {
139
- relativePaths.push(path.basename(resolvedSourcePath));
398
+ candidates.push(path.basename(resolvedSourcePath));
399
+ }
400
+ }
401
+ const relativePaths = [];
402
+ const excludedSecrets = [];
403
+ let ignoredByRules = 0;
404
+ for (const relativePath of candidates) {
405
+ const inContext = context === '' || relativePath.startsWith(`${context}/`);
406
+ if (ignore.rules.length > 0 && inContext && !alwaysSent.has(relativePath)
407
+ && isIgnoredByRules(context === '' ? relativePath : relativePath.slice(context.length + 1), ignore.rules)) {
408
+ ignoredByRules += 1;
409
+ continue;
410
+ }
411
+ const fullPath = path.join(rootDir, relativePath);
412
+ const lower = relativePath.toLowerCase();
413
+ const size = KEY_MATERIAL_SUFFIXES.some((suffix) => lower.endsWith(suffix)) ? (await fs.stat(fullPath)).size : undefined;
414
+ const reason = await isSecretLikeFile(relativePath, () => fs.readFile(fullPath), size);
415
+ if (reason) {
416
+ excludedSecrets.push({ path: relativePath, reason });
417
+ continue;
140
418
  }
419
+ relativePaths.push(relativePath);
141
420
  }
142
421
  const entries = await buildEntries(rootDir, relativePaths);
143
- return buildZipBuffer(entries).toString('base64');
422
+ return {
423
+ base64: buildZipBuffer(entries).toString('base64'),
424
+ files: relativePaths,
425
+ ignoreFiles: ignore.files,
426
+ ignoredByRules,
427
+ ...(ignoreRulesSkipped ? { ignoreRulesSkipped } : {}),
428
+ excludedSecrets,
429
+ };
430
+ }
431
+ /** Ignore files anywhere in the collected tree (for the "not applied" note). */
432
+ function ignoreFilesIn(candidates) {
433
+ return candidates.filter((candidate) => SOURCE_IGNORE_FILES.includes(candidate.slice(candidate.lastIndexOf('/') + 1)));
434
+ }
435
+ /**
436
+ * The build context an app manifest in `dir` sets, as far as can be told
437
+ * without a YAML parser: `.` when there is no inquir.yaml/inquir.yml or it
438
+ * names no other context, null when it (may) name one. Pass the result as
439
+ * `context` to createSourceArchive when no explicit context was given.
440
+ */
441
+ export async function manifestBuildContext(dir) {
442
+ for (const name of MANIFEST_FILENAMES) {
443
+ let content;
444
+ try {
445
+ content = await fs.readFile(path.join(dir, name), 'utf8');
446
+ }
447
+ catch {
448
+ continue;
449
+ }
450
+ const context = /^\s*context\s*:\s*['"]?([^'"#\s]+)/m.exec(content)?.[1];
451
+ const dockerfile = /^\s*dockerfile\s*:\s*['"]?([^'"#\s]+)/m.exec(content)?.[1];
452
+ const isRoot = context === undefined || context === '.' || context === './';
453
+ return { context: isRoot ? '.' : null, ...(dockerfile ? { dockerfile } : {}) };
454
+ }
455
+ return { context: '.' };
456
+ }
457
+ /**
458
+ * Creates a base64-encoded ZIP archive from a file or directory, with the
459
+ * exclusions of createSourceArchive (which also reports what it left out).
460
+ */
461
+ export async function createZipBase64(sourcePath, options = {}) {
462
+ return (await createSourceArchive(sourcePath, options)).base64;
144
463
  }
145
464
  //# sourceMappingURL=zip.js.map
package/dist/zip.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"zip.js","sourceRoot":"","sources":["../src/zip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zip.js","sourceRoot":"","sources":["../src/zip.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,39 +1,43 @@
1
- {
2
- "name": "@inquir/compute",
3
- "version": "0.4.1",
4
- "type": "module",
5
- "description": "Workspace-first SDK for Inquir Compute assets.",
6
- "exports": {
7
- ".": {
8
- "types": "./dist/index.d.ts",
9
- "default": "./dist/index.js"
10
- }
11
- },
12
- "files": [
13
- "dist"
14
- ],
15
- "scripts": {
16
- "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
17
- "build": "npm run clean && tsc -p tsconfig.json",
18
- "prepack": "npm run build",
19
- "test": "vitest run -c vitest.config.ts"
20
- },
21
- "publishConfig": {
22
- "access": "public"
23
- },
24
- "engines": {
25
- "node": ">=22"
26
- },
27
- "peerDependencies": {
28
- "zod": "^3.23.8"
29
- },
30
- "dependencies": {
31
- "tsx": "^4.19.2"
32
- },
33
- "devDependencies": {
34
- "@types/node": "^22.9.0",
35
- "typescript": "^5.6.3",
36
- "vitest": "^4.1.9",
37
- "zod": "^3.23.8"
38
- }
39
- }
1
+ {
2
+ "name": "@inquir/compute",
3
+ "version": "0.4.4",
4
+ "type": "module",
5
+ "description": "Workspace-first SDK for Inquir Compute assets.",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/index.d.ts",
9
+ "default": "./dist/index.js"
10
+ }
11
+ },
12
+ "files": [
13
+ "dist"
14
+ ],
15
+ "scripts": {
16
+ "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
17
+ "build": "npm run clean && tsc -p tsconfig.json",
18
+ "prepack": "npm run build",
19
+ "test": "vitest run -c vitest.config.ts"
20
+ },
21
+ "publishConfig": {
22
+ "access": "public"
23
+ },
24
+ "engines": {
25
+ "node": ">=22"
26
+ },
27
+ "peerDependencies": {
28
+ "tsx": "^4.19.2",
29
+ "zod": "^3.23.8"
30
+ },
31
+ "peerDependenciesMeta": {
32
+ "tsx": {
33
+ "optional": true
34
+ }
35
+ },
36
+ "devDependencies": {
37
+ "@types/node": "^22.9.0",
38
+ "tsx": "^4.19.2",
39
+ "typescript": "^5.6.3",
40
+ "vitest": "^4.1.9",
41
+ "zod": "^3.23.8"
42
+ }
43
+ }