@somewhere-cloud/cli 0.38.4 → 0.38.6
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/README.md +37 -48
- package/bin/engine.js +27 -0
- package/bin/somewhere.js +10 -1
- package/dist/commands/api.js +67 -2
- package/dist/commands/api.js.map +1 -1
- package/dist/commands/auth.js +18 -5
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/check.js +28 -8
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/deploy.js +175 -8
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.js +63 -9
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/docs.js +15 -17
- package/dist/commands/docs.js.map +1 -1
- package/dist/commands/env.js +9 -1
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/init.js +16 -7
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/logs.js +6 -1
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/typecheck.js +44 -20
- package/dist/commands/typecheck.js.map +1 -1
- package/dist/index.js +16 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/advisor-context.js +0 -9
- package/dist/lib/advisor-context.js.map +1 -1
- package/dist/lib/claim-handoff.js +23 -1
- package/dist/lib/claim-handoff.js.map +1 -1
- package/dist/lib/client.js +18 -7
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/config.js +15 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/deploy-check.js +45 -44
- package/dist/lib/deploy-check.js.map +1 -1
- package/dist/lib/files.js +151 -29
- package/dist/lib/files.js.map +1 -1
- package/dist/lib/last-run.js +24 -26
- package/dist/lib/last-run.js.map +1 -1
- package/dist/lib/temp-auth.js +16 -24
- package/dist/lib/temp-auth.js.map +1 -1
- package/dist/lib/typecheck.js +209 -78
- package/dist/lib/typecheck.js.map +1 -1
- package/dist/lib/vendor/deploy-paths.js +121 -0
- package/dist/lib/vendor/deploy-paths.js.map +1 -0
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/runtime/DECLARED-DATA-VENDOR.json +18 -18
- package/runtime/SOURCE-LINT-VENDOR.json +47 -46
- package/runtime/declared-data.cjs +188 -108
- package/runtime/source-lint.cjs +311 -199
package/dist/lib/deploy-check.js
CHANGED
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
* Measured on four real apps against the deploy's own check roots, findings
|
|
14
14
|
* were identical; that is evidence for those apps, not a guarantee for all.
|
|
15
15
|
*/
|
|
16
|
-
import { spawn } from 'node:child_process';
|
|
17
16
|
import { randomUUID } from 'node:crypto';
|
|
18
17
|
import { existsSync, mkdirSync, readFileSync, realpathSync, rmSync, writeFileSync } from 'node:fs';
|
|
19
18
|
import { createRequire } from 'node:module';
|
|
20
19
|
import { isAbsolute, join, relative, resolve } from 'node:path';
|
|
21
20
|
import { collectFiles } from './files.js';
|
|
21
|
+
import { runBounded, timedOutMessage } from './typecheck.js';
|
|
22
22
|
const require = createRequire(import.meta.url);
|
|
23
23
|
const vendor = require('../../runtime/declared-data.cjs');
|
|
24
24
|
const contract = vendor.checkerContract;
|
|
@@ -26,6 +26,25 @@ const contract = vendor.checkerContract;
|
|
|
26
26
|
export const DEPLOY_CHECK_TYPESCRIPT_VERSION = contract.TYPESCRIPT_VERSION;
|
|
27
27
|
/** The project's own TypeScript when it is exactly the deploy's version,
|
|
28
28
|
* otherwise that version through npx. Never a different version. */
|
|
29
|
+
/** The TypeScript version installed in the project, if any. */
|
|
30
|
+
export function projectTypeScriptVersion(projectDir) {
|
|
31
|
+
try {
|
|
32
|
+
const version = JSON.parse(readFileSync(join(projectDir, 'node_modules', 'typescript', 'package.json'), 'utf8')).version;
|
|
33
|
+
return typeof version === 'string' && version ? version : null;
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/** The deploy check runs the deploy's own pinned TypeScript; when the project
|
|
40
|
+
* does not have exactly that version it is fetched with npx. Said on stderr,
|
|
41
|
+
* and true whether or not the project has another TypeScript
|
|
42
|
+
* (pfb_d615d6b6c581). */
|
|
43
|
+
export function announceDeployCheckFetch(projectDir) {
|
|
44
|
+
const own = projectTypeScriptVersion(projectDir);
|
|
45
|
+
process.stderr.write(`The deploy check uses TypeScript ${DEPLOY_CHECK_TYPESCRIPT_VERSION}, the version deploys check with; `
|
|
46
|
+
+ `${own ? `this project has ${own}` : 'this project has no TypeScript installed'}, so typescript@${DEPLOY_CHECK_TYPESCRIPT_VERSION} is fetched with npx (needs the npm registry; npm keeps it in its cache).\n`);
|
|
47
|
+
}
|
|
29
48
|
export function deployCheckTsc(projectDir, platform = process.platform) {
|
|
30
49
|
try {
|
|
31
50
|
const manifest = join(projectDir, 'node_modules', 'typescript', 'package.json');
|
|
@@ -124,20 +143,20 @@ process.once('exit', () => { for (const cleanup of pendingCleanups)
|
|
|
124
143
|
/** Run the deploy's reference check over `projectDir`. Writes only a
|
|
125
144
|
* uniquely named dot-prefixed config and directory in the project root
|
|
126
145
|
* (outside the deploy's file set), removed when the check ends. */
|
|
127
|
-
export function runDeployCheck(projectDir) {
|
|
146
|
+
export async function runDeployCheck(projectDir) {
|
|
128
147
|
try {
|
|
129
|
-
return startDeployCheck(projectDir);
|
|
148
|
+
return await startDeployCheck(projectDir);
|
|
130
149
|
}
|
|
131
150
|
catch (error) {
|
|
132
151
|
// Reading the project or writing the temporary files failed (a file
|
|
133
152
|
// renamed mid-walk, an unreadable tsconfig): the check did not run.
|
|
134
|
-
return
|
|
153
|
+
return {
|
|
135
154
|
ok: false, findings: [], typescript: DEPLOY_CHECK_TYPESCRIPT_VERSION, checkedFiles: 0,
|
|
136
155
|
error: error instanceof Error ? error.message : String(error),
|
|
137
|
-
}
|
|
156
|
+
};
|
|
138
157
|
}
|
|
139
158
|
}
|
|
140
|
-
function startDeployCheck(projectDir) {
|
|
159
|
+
async function startDeployCheck(projectDir) {
|
|
141
160
|
const typescript = DEPLOY_CHECK_TYPESCRIPT_VERSION;
|
|
142
161
|
const collected = collectFiles(projectDir);
|
|
143
162
|
const graph = {};
|
|
@@ -147,7 +166,7 @@ function startDeployCheck(projectDir) {
|
|
|
147
166
|
}
|
|
148
167
|
const checked = Object.keys(graph);
|
|
149
168
|
if (checked.length === 0)
|
|
150
|
-
return
|
|
169
|
+
return { ok: true, findings: [], typescript, checkedFiles: 0 };
|
|
151
170
|
const tsconfigPath = join(projectDir, 'tsconfig.json');
|
|
152
171
|
const own = projectCompilerOptions(existsSync(tsconfigPath) ? readFileSync(tsconfigPath, 'utf8') : undefined);
|
|
153
172
|
// The config sits in the project root so `paths`/`baseUrl` resolve from
|
|
@@ -179,42 +198,24 @@ function startDeployCheck(projectDir) {
|
|
|
179
198
|
throw error;
|
|
180
199
|
}
|
|
181
200
|
const { command, args } = deployCheckTsc(projectDir);
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
resolveResult({ ok: false, findings: [], typescript, checkedFiles: checked.length, error: error.message });
|
|
202
|
-
});
|
|
203
|
-
child.on('close', (code) => {
|
|
204
|
-
cleanup();
|
|
205
|
-
const { findings, problems } = parseDeployOutput(out, projectDir, collected.functions);
|
|
206
|
-
// A config/global error, or a non-zero exit with no located diagnostic
|
|
207
|
-
// at all, is a failure to run, never a verdict, even beside findings.
|
|
208
|
-
if (problems.length > 0) {
|
|
209
|
-
resolveResult({ ok: false, findings, typescript, checkedFiles: checked.length, error: problems.join('\n') });
|
|
210
|
-
return;
|
|
211
|
-
}
|
|
212
|
-
if (code !== 0 && !out.split(/\r?\n/).some((line) => DIAGNOSTIC.test(line.trim()))) {
|
|
213
|
-
resolveResult({ ok: false, findings, typescript, checkedFiles: checked.length, error: out.trim() || `tsc exited ${code}` });
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
resolveResult({ ok: findings.length === 0, findings, typescript, checkedFiles: checked.length });
|
|
217
|
-
});
|
|
218
|
-
});
|
|
201
|
+
// Bounded, with its process group stopped on timeout or Ctrl-C: an npx
|
|
202
|
+
// fetch of TypeScript never hangs or outlives the command (pfb_8f0f7cdd04a1).
|
|
203
|
+
const run = await runBounded(command, [...args, '--project', config, '--pretty', 'false'], projectDir, { onAbort: cleanup });
|
|
204
|
+
cleanup();
|
|
205
|
+
const out = run.out;
|
|
206
|
+
if (run.timedOut)
|
|
207
|
+
return { ok: false, findings: [], typescript, checkedFiles: checked.length, error: timedOutMessage('npx', run) };
|
|
208
|
+
if (run.error)
|
|
209
|
+
return { ok: false, findings: [], typescript, checkedFiles: checked.length, error: run.error.message };
|
|
210
|
+
const { findings, problems } = parseDeployOutput(out, projectDir, collected.functions);
|
|
211
|
+
// A config/global error, or a non-zero exit with no located diagnostic
|
|
212
|
+
// at all, is a failure to run, never a verdict, even beside findings.
|
|
213
|
+
if (problems.length > 0) {
|
|
214
|
+
return { ok: false, findings, typescript, checkedFiles: checked.length, error: problems.join('\n') };
|
|
215
|
+
}
|
|
216
|
+
if (run.code !== 0 && !out.split(/\r?\n/).some((line) => DIAGNOSTIC.test(line.trim()))) {
|
|
217
|
+
return { ok: false, findings, typescript, checkedFiles: checked.length, error: out.trim() || `tsc exited ${run.code}` };
|
|
218
|
+
}
|
|
219
|
+
return { ok: findings.length === 0, findings, typescript, checkedFiles: checked.length };
|
|
219
220
|
}
|
|
220
221
|
//# sourceMappingURL=deploy-check.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-check.js","sourceRoot":"","sources":["../../src/lib/deploy-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"deploy-check.js","sourceRoot":"","sources":["../../src/lib/deploy-check.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/files.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
|
|
2
|
-
import { extname, join, relative } from 'node:path';
|
|
2
|
+
import { extname, isAbsolute, join, relative } from 'node:path';
|
|
3
3
|
import { DATA_DECLARATION_FILE, FILES_DECLARATION_FILE, GENERATED_DATA_HEADER } from './declared-data.js';
|
|
4
4
|
import { excludedRootFileReason, isAppSurfaceRootFile, isReferenceCorpusPath, } from './publish-surface.js';
|
|
5
|
+
import { isSensitiveDeployPath } from './vendor/deploy-paths.js';
|
|
6
|
+
import { shellQuote } from './next-actions.js';
|
|
5
7
|
// Directories / files never uploaded. Mirrors the deploy collector.
|
|
6
8
|
export const IGNORE = new Set([
|
|
7
9
|
'node_modules',
|
|
@@ -78,13 +80,15 @@ export function isFunctionPath(p) {
|
|
|
78
80
|
export function isBinaryPath(p) {
|
|
79
81
|
return BINARY_EXTS.has(extname(p).toLowerCase());
|
|
80
82
|
}
|
|
83
|
+
export const SENSITIVE_FILE_REASON = 'blocked by the sensitive-path policy — never uploaded';
|
|
81
84
|
/** Walk a directory tree and bucket every file into static / binary / function,
|
|
82
85
|
* applying the same path remapping the deploy command uses. */
|
|
83
86
|
export function collectFiles(baseDir, options = {}) {
|
|
84
|
-
const out = { files: {}, binaryFiles: {}, functions: {}, skipped: [], excluded: [] };
|
|
87
|
+
const out = { files: {}, binaryFiles: {}, functions: {}, skipped: [], oversize: [], notes: [], excluded: [], sensitive: [] };
|
|
85
88
|
const ignore = loadDeployIgnore(baseDir);
|
|
86
89
|
const candidates = [];
|
|
87
|
-
|
|
90
|
+
const sizes = new Map();
|
|
91
|
+
walk(baseDir, baseDir, out, ignore, candidates, sizes);
|
|
88
92
|
// ── Root publish surface (tsk_c166924f) ─────────────────────────────────
|
|
89
93
|
// Split the candidates into "definitely the app" and "root files nothing
|
|
90
94
|
// vouches for yet", then let the definite half vouch for the rest. A deploy
|
|
@@ -118,18 +122,18 @@ export function collectFiles(baseDir, options = {}) {
|
|
|
118
122
|
deferred.push(relPath);
|
|
119
123
|
}
|
|
120
124
|
}
|
|
125
|
+
// Published text files only; a sensitive file is never a candidate, so its
|
|
126
|
+
// contents are never read here.
|
|
127
|
+
const corpusFiles = (paths) => paths.filter((relPath) => isReferenceCorpusPath(relPath) && (sizes.get(relPath) ?? 0) <= MAX_FILE_SIZE).map((relPath) => {
|
|
128
|
+
try {
|
|
129
|
+
return [relPath, readFileSync(join(baseDir, relPath), 'utf-8')];
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
return [relPath, ''];
|
|
133
|
+
}
|
|
134
|
+
});
|
|
121
135
|
if (deferred.length > 0) {
|
|
122
|
-
const corpus = publish
|
|
123
|
-
.filter(isReferenceCorpusPath)
|
|
124
|
-
.map((relPath) => {
|
|
125
|
-
try {
|
|
126
|
-
return readFileSync(join(baseDir, relPath), 'utf-8');
|
|
127
|
-
}
|
|
128
|
-
catch {
|
|
129
|
-
return '';
|
|
130
|
-
}
|
|
131
|
-
})
|
|
132
|
-
.join('\n');
|
|
136
|
+
const corpus = corpusFiles(publish).map(([, text]) => text).join('\n');
|
|
133
137
|
for (const relPath of deferred) {
|
|
134
138
|
if (corpus.includes(relPath))
|
|
135
139
|
publish.push(relPath);
|
|
@@ -138,11 +142,37 @@ export function collectFiles(baseDir, options = {}) {
|
|
|
138
142
|
}
|
|
139
143
|
}
|
|
140
144
|
out.excluded.sort((a, b) => a.path.localeCompare(b.path));
|
|
141
|
-
|
|
145
|
+
if (out.sensitive.length > 0) {
|
|
146
|
+
const published = corpusFiles(publish);
|
|
147
|
+
for (const entry of out.sensitive) {
|
|
148
|
+
const name = entry.path.slice(entry.path.lastIndexOf('/') + 1);
|
|
149
|
+
entry.referencedBy = published.filter(([, text]) => text.includes(name)).map(([relPath]) => relPath);
|
|
150
|
+
}
|
|
151
|
+
out.sensitive.sort((a, b) => a.path.localeCompare(b.path));
|
|
152
|
+
}
|
|
153
|
+
// Size is judged only for files that would be published, after the ignore,
|
|
154
|
+
// privacy and test rules: a large note or log that stays local is not refused.
|
|
155
|
+
for (const relPath of publish) {
|
|
156
|
+
const bytes = sizes.get(relPath) ?? 0;
|
|
157
|
+
if (bytes > MAX_FILE_SIZE) {
|
|
158
|
+
out.oversize.push({ path: relPath, bytes });
|
|
159
|
+
out.skipped.push({ path: relPath, reason: `${formatBytes(bytes)} exceeds the ${formatBytes(MAX_FILE_SIZE)} per-file limit` });
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
142
162
|
classifyInto(out, baseDir, relPath, options.readBinary !== false);
|
|
163
|
+
}
|
|
164
|
+
out.oversize.sort((a, b) => a.path.localeCompare(b.path));
|
|
165
|
+
for (const raw of options.include ?? []) {
|
|
166
|
+
const reason = includeHadNoEffect(baseDir, raw.trim(), publish);
|
|
167
|
+
if (reason)
|
|
168
|
+
out.notes.push({ source: `--include ${raw.trim()}`, reason });
|
|
169
|
+
}
|
|
170
|
+
for (const line of ignore.unreachableReincludes) {
|
|
171
|
+
out.notes.push({ source: `.somewhereignore line "${line}"`, reason: 'a "!" line cannot publish a dotfile or a file blocked by the sensitive-path policy, so this line has no effect' });
|
|
172
|
+
}
|
|
143
173
|
return out;
|
|
144
174
|
}
|
|
145
|
-
function walk(baseDir, currentDir, out, ignore, candidates) {
|
|
175
|
+
function walk(baseDir, currentDir, out, ignore, candidates, sizes) {
|
|
146
176
|
for (const entry of readdirSync(currentDir, { withFileTypes: true })) {
|
|
147
177
|
const fullPath = join(currentDir, entry.name);
|
|
148
178
|
const relPath = toDeployPath(relative(baseDir, fullPath));
|
|
@@ -159,24 +189,23 @@ function walk(baseDir, currentDir, out, ignore, candidates) {
|
|
|
159
189
|
continue;
|
|
160
190
|
}
|
|
161
191
|
if (entry.isDirectory()) {
|
|
162
|
-
walk(baseDir, fullPath, out, ignore, candidates);
|
|
192
|
+
walk(baseDir, fullPath, out, ignore, candidates, sizes);
|
|
163
193
|
continue;
|
|
164
194
|
}
|
|
165
195
|
if (!entry.isFile())
|
|
166
196
|
continue;
|
|
197
|
+
// The deploy API refuses these paths in any folder; hold them back here,
|
|
198
|
+
// before their contents are read or any request is made.
|
|
199
|
+
if (isSensitiveDeployPath(relPath)) {
|
|
200
|
+
out.sensitive.push({ path: relPath, reason: SENSITIVE_FILE_REASON, referencedBy: [] });
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
167
203
|
// Editor declarations are regenerated from source by the deploy compiler.
|
|
168
204
|
// Uploading a local copy would introduce duplicate or stale client types.
|
|
169
205
|
if ((entry.name === DATA_DECLARATION_FILE || entry.name === FILES_DECLARATION_FILE)
|
|
170
206
|
&& readFileSync(fullPath, 'utf8').startsWith(GENERATED_DATA_HEADER))
|
|
171
207
|
continue;
|
|
172
|
-
|
|
173
|
-
if (size > MAX_FILE_SIZE) {
|
|
174
|
-
out.skipped.push({
|
|
175
|
-
path: relPath,
|
|
176
|
-
reason: `${formatBytes(size)} exceeds the ${formatBytes(MAX_FILE_SIZE)} per-file limit`,
|
|
177
|
-
});
|
|
178
|
-
continue;
|
|
179
|
-
}
|
|
208
|
+
sizes.set(relPath, statSync(fullPath).size);
|
|
180
209
|
candidates.push(relPath);
|
|
181
210
|
}
|
|
182
211
|
}
|
|
@@ -232,8 +261,12 @@ function toDeployPath(p) {
|
|
|
232
261
|
}
|
|
233
262
|
class DeployIgnoreMatcher {
|
|
234
263
|
rules;
|
|
235
|
-
|
|
264
|
+
unreachableReincludes;
|
|
265
|
+
constructor(rules,
|
|
266
|
+
/** "!" lines in .somewhereignore naming a dotfile or sensitive file. */
|
|
267
|
+
unreachableReincludes = []) {
|
|
236
268
|
this.rules = rules;
|
|
269
|
+
this.unreachableReincludes = unreachableReincludes;
|
|
237
270
|
}
|
|
238
271
|
ignores(relPath, isDirectory) {
|
|
239
272
|
let ignored = false;
|
|
@@ -254,6 +287,7 @@ class DeployIgnoreMatcher {
|
|
|
254
287
|
}
|
|
255
288
|
function loadDeployIgnore(baseDir) {
|
|
256
289
|
const rules = [];
|
|
290
|
+
const unreachable = [];
|
|
257
291
|
for (const fileName of ['.gitignore', '.somewhereignore']) {
|
|
258
292
|
const path = join(baseDir, fileName);
|
|
259
293
|
if (!existsSync(path))
|
|
@@ -261,11 +295,18 @@ function loadDeployIgnore(baseDir) {
|
|
|
261
295
|
const lines = readFileSync(path, 'utf8').split(/\r?\n/);
|
|
262
296
|
for (const raw of lines) {
|
|
263
297
|
const rule = parseIgnoreRule(raw);
|
|
264
|
-
if (rule)
|
|
265
|
-
|
|
298
|
+
if (!rule)
|
|
299
|
+
continue;
|
|
300
|
+
rules.push(rule);
|
|
301
|
+
if (fileName === '.somewhereignore' && rule.negate) {
|
|
302
|
+
const named = raw.trim().slice(1).trim().replace(/\\/g, '/').replace(/^\/+/, '').replace(/\/+$/, '');
|
|
303
|
+
const last = named.split('/').pop() ?? '';
|
|
304
|
+
if ((last.startsWith('.') && last !== '.well-known') || isSensitiveDeployPath(named))
|
|
305
|
+
unreachable.push(raw.trim());
|
|
306
|
+
}
|
|
266
307
|
}
|
|
267
308
|
}
|
|
268
|
-
return new DeployIgnoreMatcher(rules);
|
|
309
|
+
return new DeployIgnoreMatcher(rules, unreachable);
|
|
269
310
|
}
|
|
270
311
|
function parseIgnoreRule(raw) {
|
|
271
312
|
let pattern = raw.trim();
|
|
@@ -337,4 +378,85 @@ function globToRegExp(pattern) {
|
|
|
337
378
|
function escapeRegExp(ch) {
|
|
338
379
|
return /[\\^$+?.()|[\]{}]/.test(ch) ? `\\${ch}` : ch;
|
|
339
380
|
}
|
|
381
|
+
/** Refusal text when published source names a held-back credentials file, or
|
|
382
|
+
* null. Names paths only; never the file's contents. */
|
|
383
|
+
/** A file that would be published is over the per-file limit. Deploying
|
|
384
|
+
* without it would remove the live copy, so nothing is sent (tsk_97979518,
|
|
385
|
+
* pfb_9c4d1d7fc75c). Deliberate exclusions (.somewhereignore, .gitignore)
|
|
386
|
+
* are how a large local file stays out. */
|
|
387
|
+
export function oversizeRefusal(collected) {
|
|
388
|
+
if (collected.oversize.length === 0)
|
|
389
|
+
return null;
|
|
390
|
+
return [
|
|
391
|
+
`Nothing was sent. ${collected.oversize.length === 1 ? 'This file is' : 'These files are'} over the ${formatBytes(MAX_FILE_SIZE)} per-file limit and would be left out, which removes any copy already live:`,
|
|
392
|
+
...collected.oversize.map((entry) => ` ${entry.path} (${formatBytes(entry.bytes)})`),
|
|
393
|
+
'Make the file smaller, or keep it out of the deploy on purpose: add it to .somewhereignore (or .gitignore) or move it out of this folder, then run the command again.',
|
|
394
|
+
].join('\n');
|
|
395
|
+
}
|
|
396
|
+
/** Why an --include entry published nothing, or null when it did. */
|
|
397
|
+
function includeHadNoEffect(baseDir, raw, published) {
|
|
398
|
+
const path = toDeployPath(raw).replace(/^\.\//, '').replace(/\/+$/, '');
|
|
399
|
+
if (!path || isAbsolute(raw) || path === '..' || path.startsWith('../'))
|
|
400
|
+
return 'it is outside this project folder; --include takes a path inside it';
|
|
401
|
+
if (!existsSync(join(baseDir, path)))
|
|
402
|
+
return 'there is no such file or folder in this project';
|
|
403
|
+
if (published.some((p) => p === path || p.startsWith(`${path}/`)))
|
|
404
|
+
return null;
|
|
405
|
+
if (isSensitiveDeployPath(path))
|
|
406
|
+
return 'it is blocked by the sensitive-path policy, which --include does not override';
|
|
407
|
+
if (path.split('/').some((seg) => IGNORE.has(seg) || (seg.startsWith('.') && seg !== '.well-known')))
|
|
408
|
+
return 'dotfiles and tool folders are never published, and --include does not override that';
|
|
409
|
+
return 'it is kept out by .gitignore or .somewhereignore, which --include does not override';
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Preview's save loop uploads changed files one batch at a time. Judge each
|
|
413
|
+
* batch the way a deploy judges the tree: files the project's .gitignore or
|
|
414
|
+
* .somewhereignore keeps out are not uploaded, and an uploaded file over the
|
|
415
|
+
* per-file limit refuses the whole batch before anything is read or sent
|
|
416
|
+
* (pfb_9c4d1d7fc75c). `paths` are relative to `baseDir`.
|
|
417
|
+
*/
|
|
418
|
+
export function previewBatchCheck(baseDir, paths) {
|
|
419
|
+
const ignore = loadDeployIgnore(baseDir);
|
|
420
|
+
const upload = [], ignored = [], oversize = [];
|
|
421
|
+
for (const raw of paths) {
|
|
422
|
+
const rel = toDeployPath(raw);
|
|
423
|
+
const parts = rel.split('/');
|
|
424
|
+
const kept = parts.some((_, i) => ignore.ignores(parts.slice(0, i + 1).join('/'), i < parts.length - 1));
|
|
425
|
+
if (kept) {
|
|
426
|
+
ignored.push(rel);
|
|
427
|
+
continue;
|
|
428
|
+
}
|
|
429
|
+
let bytes = 0;
|
|
430
|
+
try {
|
|
431
|
+
bytes = statSync(join(baseDir, raw)).size;
|
|
432
|
+
}
|
|
433
|
+
catch { /* vanished: the caller skips it */ }
|
|
434
|
+
if (bytes > MAX_FILE_SIZE)
|
|
435
|
+
oversize.push({ path: rel, bytes });
|
|
436
|
+
upload.push(raw);
|
|
437
|
+
}
|
|
438
|
+
return { upload, ignored, oversize };
|
|
439
|
+
}
|
|
440
|
+
/** The save-loop form of oversizeRefusal: nothing in this save was sent. */
|
|
441
|
+
export function previewOversizeRefusal(oversize) {
|
|
442
|
+
return [
|
|
443
|
+
`Nothing in this save was sent: ${oversize.length === 1 ? 'this file is' : 'these files are'} over the ${formatBytes(MAX_FILE_SIZE)} per-file limit:`,
|
|
444
|
+
...oversize.map((entry) => ` ${entry.path} (${formatBytes(entry.bytes)})`),
|
|
445
|
+
'Your last preview is unchanged. Make the file smaller (or add it to .somewhereignore), then save an app file again: the held changes are sent with the next save the watcher sees. Editing .somewhereignore alone is not a save it sees.',
|
|
446
|
+
].join('\n');
|
|
447
|
+
}
|
|
448
|
+
export function sensitiveReferenceRefusal(collected) {
|
|
449
|
+
const referenced = collected.sensitive.filter((entry) => entry.referencedBy.length > 0);
|
|
450
|
+
if (referenced.length === 0)
|
|
451
|
+
return null;
|
|
452
|
+
const example = referenced[0];
|
|
453
|
+
const envName = example.path.slice(example.path.lastIndexOf('/') + 1).replace(/[^A-Za-z0-9]+/g, '_').replace(/^_+|_+$/g, '').toUpperCase() || 'SECRET';
|
|
454
|
+
return [
|
|
455
|
+
'Nothing was sent. Your source references a file blocked by the sensitive-path policy, which is never uploaded:',
|
|
456
|
+
...referenced.map((entry) => ` ${entry.referencedBy.join(', ')} mentions ${entry.path}`),
|
|
457
|
+
'This is a filename match in your source, not an import analysis. Code that loads the file would fail once deployed, because the file is not published.',
|
|
458
|
+
`To use it, keep it out of your source: save it as a project secret (somewhere env set ${envName} --stdin < ${shellQuote(example.path)}) and read it inside a function with sw.env.${envName}.`,
|
|
459
|
+
'If nothing loads it (for example, only a comment mentions it), add it to .somewhereignore or move it out of this folder, then run the command again.',
|
|
460
|
+
].join('\n');
|
|
461
|
+
}
|
|
340
462
|
//# sourceMappingURL=files.js.map
|
package/dist/lib/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/lib/files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC1G,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,oEAAoE;AACpE,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC;IAC5B,cAAc;IACd,MAAM;IACN,iBAAiB;IACjB,WAAW;IACX,MAAM;IACN,WAAW;IACX,MAAM;IACN,OAAO;IACP,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,eAAe;AAE7D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IACzC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;IACpC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IACvD,OAAO;CACR,CAAC,CAAC;AAEH,6EAA6E;AAC7E,gFAAgF;AAChF,6EAA6E;AAC7E,6BAA6B;AAC7B;;;qBAGqB;AACrB,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAE3D,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,MAAM,YAAY,GAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAEtE,+EAA+E;AAC/E,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,OAAwD;IAExD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YACjD,OAAO,UAAU,MAAM,gEAAgE,MAAM,aAAa,MAAM,6BAA6B,CAAC;QAChJ,CAAC;IACH,CAAC;IACD,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5C,OAAO,4DAA4D,OAAO,aAAa,OAAO,4BAA4B,CAAC;IAC7H,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACnD,CAAC;AAuBD;gEACgE;AAChE,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,UAA0B,EAAE;IACxE,MAAM,GAAG,GAAmB,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACrG,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAEhD,2EAA2E;IAC3E,yEAAyE;IACzE,4EAA4E;IAC5E,2EAA2E;IAC3E,sEAAsE;IACtE,4DAA4D;IAC5D,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CACpH,CAAC;IACF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;QACjC,uEAAuE;QACvE,0EAA0E;QAC1E,6EAA6E;QAC7E,4EAA4E;QAC5E,4EAA4E;QAC5E,yEAAyE;QACzE,4EAA4E;QAC5E,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CACpE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QAC3D,IAAI,UAAU,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YACzD,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1C,IACE,CAAC,UAAU;YACX,oBAAoB,CAAC,OAAO,CAAC;YAC7B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;YAClB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAC1B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,OAAO;aACnB,MAAM,CAAC,qBAAqB,CAAC;aAC7B,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACf,IAAI,CAAC;gBACH,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YACvD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;gBAC/C,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IACD,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1D,KAAK,MAAM,OAAO,IAAI,OAAO;QAAE,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC;IACjG,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,IAAI,CACX,OAAe,EACf,UAAkB,EAClB,GAAmB,EACnB,MAA2B,EAC3B,UAAoB;IAEpB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC1D,IACE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YACtB,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;YAC5D,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,EAC5C,CAAC;YACD,SAAS;QACX,CAAC;QAED,0EAA0E;QAC1E,4EAA4E;QAC5E,qBAAqB;QACrB,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YAC3B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC;YACtE,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YACjD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,SAAS;QAC9B,0EAA0E;QAC1E,0EAA0E;QAC1E,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,qBAAqB,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,CAAC;eAC9E,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,qBAAqB,CAAC;YAAE,SAAS;QAChF,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;QACrC,IAAI,IAAI,GAAG,aAAa,EAAE,CAAC;YACzB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,aAAa,CAAC,iBAAiB;aACxF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAID;oFACoF;AACpF,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,yEAAyE;IACzE,qEAAqE;IACrE,2EAA2E;IAC3E,+EAA+E;IAC/E,qDAAqD;IACrD,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;IACvE,CAAC;IACD,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC5C,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;QAC9C,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;QACjC,CAAC,CAAC,OAAO,CAAC;IACZ,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;AAC7C,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAAC,GAAmB,EAAE,OAAe,EAAE,OAAe,EAAE,UAAU,GAAG,IAAI;IACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;SAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,GAAG,KAAK,IAAI,CAAC;IACtC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACjE,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACpD,CAAC;AAED,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC;AAUD,MAAM,mBAAmB;IACM;IAA7B,YAA6B,KAAyB;QAAzB,UAAK,GAAL,KAAK,CAAoB;IAAG,CAAC;IAE1D,OAAO,CAAC,OAAe,EAAE,WAAoB;QAC3C,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC;gBAAE,SAAS;YAChE,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QACzB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;sEACkE;IAClE,UAAU,CAAC,OAAe,EAAE,WAAW,GAAG,KAAK;QAC7C,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CACpB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,CAC1E,CAAC;IACJ,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,KAAK,GAAuB,EAAE,CAAC;IACrC,KAAK,MAAM,QAAQ,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAChC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAErD,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,oBAAoB,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,oBAAoB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAChE,IAAI,MAAM;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO;QACL,MAAM;QACN,aAAa;QACb,QAAQ;QACR,QAAQ;QACR,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAsB,EACtB,OAAe,EACf,WAAoB;IAEpB,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpE,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,IAAI,MAAM,GAAG,GAAG,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC3B,MAAM,IAAI,UAAU,CAAC;oBACrB,CAAC,IAAI,CAAC,CAAC;gBACT,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,IAAI,CAAC;oBACf,CAAC,EAAE,CAAC;gBACN,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,OAAO,CAAC;YACpB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,IAAI,MAAM,CAAC;YACjB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,IAAI,GAAG,CAAC;IACd,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,YAAY,CAAC,EAAU;IAC9B,OAAO,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC"}
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/lib/files.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/last-run.js
CHANGED
|
@@ -1,39 +1,37 @@
|
|
|
1
1
|
import { mkdirSync, renameSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { cliConfigDir } from './config.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
/** The registered command path and the option names given on the command line. */
|
|
5
|
+
export function describeInvocation(action) {
|
|
6
|
+
const names = [];
|
|
7
|
+
for (let at = action; at && at.parent; at = at.parent)
|
|
8
|
+
names.unshift(at.name());
|
|
9
|
+
const options = action.options
|
|
10
|
+
.filter((option) => action.getOptionValueSource(option.attributeName()) === 'cli')
|
|
11
|
+
.map((option) => option.long ?? option.short ?? '')
|
|
12
|
+
.filter(Boolean)
|
|
13
|
+
.sort();
|
|
14
|
+
return { command: names.join(' '), options };
|
|
10
15
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
stdout = appendTail(stdout, chunk);
|
|
19
|
-
return originalStdoutWrite(chunk, ...args);
|
|
20
|
-
});
|
|
21
|
-
process.stderr.write = ((chunk, ...args) => {
|
|
22
|
-
stderr = appendTail(stderr, chunk);
|
|
23
|
-
return originalStderrWrite(chunk, ...args);
|
|
24
|
-
});
|
|
16
|
+
let invocation = null;
|
|
17
|
+
/** Called once the command is known (commander preAction). */
|
|
18
|
+
export function noteLastRunCommand(action) {
|
|
19
|
+
invocation = describeInvocation(action);
|
|
20
|
+
}
|
|
21
|
+
/** Write the record when the process exits, without changing command output or failure behavior. */
|
|
22
|
+
export function recordLastRun(cliVersion) {
|
|
25
23
|
process.once('exit', (exitCode) => {
|
|
26
24
|
try {
|
|
27
25
|
const dir = cliConfigDir();
|
|
28
26
|
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
29
|
-
const record =
|
|
30
|
-
command:
|
|
31
|
-
|
|
27
|
+
const record = {
|
|
28
|
+
// A usage error never reaches a command: no command and no options.
|
|
29
|
+
command: invocation?.command ?? '',
|
|
30
|
+
options: invocation?.options ?? [],
|
|
32
31
|
exit_code: exitCode ?? process.exitCode ?? 0,
|
|
33
|
-
stdout_tail: stdout,
|
|
34
|
-
stderr_tail: stderr,
|
|
35
32
|
timestamp: new Date().toISOString(),
|
|
36
|
-
|
|
33
|
+
cli_version: cliVersion,
|
|
34
|
+
};
|
|
37
35
|
const path = join(dir, 'last-run.json');
|
|
38
36
|
const temporary = join(dir, 'last-run.json.tmp');
|
|
39
37
|
writeFileSync(temporary, JSON.stringify(record) + '\n', { mode: 0o600 });
|
package/dist/lib/last-run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"last-run.js","sourceRoot":"","sources":["../../src/lib/last-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"last-run.js","sourceRoot":"","sources":["../../src/lib/last-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAoB3C,kFAAkF;AAClF,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAChD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,EAAE,GAAmB,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM;QAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAChG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO;SAC3B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,KAAK,CAAC;SACjF,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SAClD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,EAAE,CAAC;IACV,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED,IAAI,UAAU,GAAkD,IAAI,CAAC;AAErE,8DAA8D;AAC9D,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAChD,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC9C,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;YAC3B,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACjD,MAAM,MAAM,GAAmB;gBAC7B,oEAAoE;gBACpE,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,EAAE;gBAClC,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,EAAE;gBAClC,SAAS,EAAE,QAAQ,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC;gBAC5C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,WAAW,EAAE,UAAU;aACxB,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;YACjD,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACzE,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;QAC9D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|