@absolutejs/absolute 0.19.0-beta.1133 → 0.19.0-beta.1134
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.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
var __require = import.meta.require;
|
|
3
3
|
|
|
4
|
-
// .angular-partial-tmp-
|
|
4
|
+
// .angular-partial-tmp-sLnAFN/src/core/streamingSlotRegistrar.ts
|
|
5
5
|
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
6
6
|
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
7
7
|
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
var __require = import.meta.require;
|
|
3
3
|
|
|
4
|
-
// .angular-partial-tmp-
|
|
4
|
+
// .angular-partial-tmp-sLnAFN/src/core/streamingSlotRegistrar.ts
|
|
5
5
|
var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
|
|
6
6
|
var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
|
|
7
7
|
var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
|
|
@@ -48,7 +48,7 @@ var warnMissingStreamingSlotCollector = (primitiveName) => {
|
|
|
48
48
|
getWarningController()?.maybeWarn(primitiveName);
|
|
49
49
|
};
|
|
50
50
|
|
|
51
|
-
// .angular-partial-tmp-
|
|
51
|
+
// .angular-partial-tmp-sLnAFN/src/core/streamingSlotRegistry.ts
|
|
52
52
|
var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
|
|
53
53
|
var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
|
|
54
54
|
var isAsyncLocalStorage = (value) => isObjectRecord2(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
|
package/dist/cli/index.js
CHANGED
|
@@ -1168,6 +1168,7 @@ __export(exports_eslintChunked, {
|
|
|
1168
1168
|
gitChangedFiles: () => gitChangedFiles,
|
|
1169
1169
|
eslintChunked: () => eslintChunked
|
|
1170
1170
|
});
|
|
1171
|
+
import { existsSync as existsSync6 } from "fs";
|
|
1171
1172
|
import { relative, resolve as resolve4 } from "path";
|
|
1172
1173
|
var DEFAULT_CHUNK_SIZE = 20, DEFAULT_SHARDS = 4, DEFAULT_CONCURRENCY = 2, DEFAULT_REPORT = ".absolutejs/lint-report.txt", CHILD_HEAP_MB = 4096, DJB2_SEED = 5381, DJB2_MULTIPLIER = 33, MS_PER_SECOND = 1000, SUMMARY_RULE_WIDTH = 60, SUMMARY_COUNT_PAD = 5, PORCELAIN_STATUS_WIDTH = 3, RENAME_ARROW = " -> ", ASCII_ESC = 27, LINTABLE_EXTENSIONS, ANSI_COLOR, stripAnsi = (text) => text.replace(ANSI_COLOR, ""), shardOf = (path, shards) => [...path].reduce((accumulator, character) => (Math.imul(accumulator, DJB2_MULTIPLIER) ^ character.charCodeAt(0)) >>> 0, DJB2_SEED) % shards, gitLines = (cmd, cwd) => Bun.spawnSync(cmd, { cwd }).stdout.toString().split(`
|
|
1173
1174
|
`).map((line) => line.trimEnd()).filter(Boolean), applyChangedBase = (parsed, base) => {
|
|
@@ -1180,7 +1181,7 @@ var DEFAULT_CHUNK_SIZE = 20, DEFAULT_SHARDS = 4, DEFAULT_CONCURRENCY = 2, DEFAUL
|
|
|
1180
1181
|
}, matchesAnyGlob = (file, globs) => globs.some((pattern) => new Bun.Glob(pattern).match(file)), resolveLintSet = (parsed, cwd) => {
|
|
1181
1182
|
const visible = gitVisibleFiles(cwd);
|
|
1182
1183
|
const matched = parsed.globs.length === 0 ? visible.filter((file) => LINTABLE_EXTENSIONS.test(file)) : visible.filter((file) => matchesAnyGlob(file, parsed.globs));
|
|
1183
|
-
return matched.sort();
|
|
1184
|
+
return matched.filter((file) => existsSync6(resolve4(cwd, file))).sort();
|
|
1184
1185
|
}, buildShardChunks = (files, shards, chunkSize) => {
|
|
1185
1186
|
const shardFiles = Array.from({ length: shards }, () => []);
|
|
1186
1187
|
for (const file of files)
|
|
@@ -1377,7 +1378,7 @@ var init_eslintChunked = __esm(() => {
|
|
|
1377
1378
|
// src/cli/scripts/eslint.ts
|
|
1378
1379
|
import { createHash } from "crypto";
|
|
1379
1380
|
import {
|
|
1380
|
-
existsSync as
|
|
1381
|
+
existsSync as existsSync7,
|
|
1381
1382
|
mkdirSync as mkdirSync5,
|
|
1382
1383
|
readFileSync as readFileSync8,
|
|
1383
1384
|
renameSync,
|
|
@@ -1409,7 +1410,7 @@ var DEFAULT_CACHE_LOCATION = ".absolutejs/eslint-cache", CACHE_CONTRACT_VERSION
|
|
|
1409
1410
|
}, findConfigPath = (cwd = process.cwd()) => {
|
|
1410
1411
|
for (const name of CONFIG_CANDIDATES) {
|
|
1411
1412
|
const candidate = resolve5(cwd, name);
|
|
1412
|
-
if (
|
|
1413
|
+
if (existsSync7(candidate))
|
|
1413
1414
|
return candidate;
|
|
1414
1415
|
}
|
|
1415
1416
|
return null;
|
|
@@ -1417,7 +1418,7 @@ var DEFAULT_CACHE_LOCATION = ".absolutejs/eslint-cache", CACHE_CONTRACT_VERSION
|
|
|
1417
1418
|
const absolute = resolve5(cwd, cacheLocation);
|
|
1418
1419
|
return /[\\/]$/.test(cacheLocation) ? resolve5(absolute, CACHE_FINGERPRINT_SUFFIX.slice(1)) : `${absolute}${CACHE_FINGERPRINT_SUFFIX}`;
|
|
1419
1420
|
}, addFileToFingerprint = (hash, path, label) => {
|
|
1420
|
-
if (!
|
|
1421
|
+
if (!existsSync7(path))
|
|
1421
1422
|
return;
|
|
1422
1423
|
hash.update(label);
|
|
1423
1424
|
hash.update("\x00");
|
|
@@ -1451,7 +1452,7 @@ var DEFAULT_CACHE_LOCATION = ".absolutejs/eslint-cache", CACHE_CONTRACT_VERSION
|
|
|
1451
1452
|
});
|
|
1452
1453
|
}, lintDependencyNames = (cwd, configPath2) => {
|
|
1453
1454
|
const manifestPath = resolve5(cwd, "package.json");
|
|
1454
|
-
if (!
|
|
1455
|
+
if (!existsSync7(manifestPath))
|
|
1455
1456
|
return configPackageNames(configPath2);
|
|
1456
1457
|
try {
|
|
1457
1458
|
const manifest = JSON.parse(readFileSync8(manifestPath, "utf-8"));
|
|
@@ -1466,7 +1467,7 @@ var DEFAULT_CACHE_LOCATION = ".absolutejs/eslint-cache", CACHE_CONTRACT_VERSION
|
|
|
1466
1467
|
let directory = cwd;
|
|
1467
1468
|
while (true) {
|
|
1468
1469
|
const candidate = resolve5(directory, "node_modules", dependency, "package.json");
|
|
1469
|
-
if (
|
|
1470
|
+
if (existsSync7(candidate))
|
|
1470
1471
|
return candidate;
|
|
1471
1472
|
const parent = dirname3(directory);
|
|
1472
1473
|
if (parent === directory)
|
|
@@ -1496,7 +1497,7 @@ var DEFAULT_CACHE_LOCATION = ".absolutejs/eslint-cache", CACHE_CONTRACT_VERSION
|
|
|
1496
1497
|
const cachePath = resolve5(cwd, options.cacheLocation);
|
|
1497
1498
|
const metadataPath = fingerprintLocation(options.cacheLocation, cwd);
|
|
1498
1499
|
const fingerprint = options.fingerprint ?? createEslintCacheFingerprint(cwd);
|
|
1499
|
-
const prior =
|
|
1500
|
+
const prior = existsSync7(metadataPath) ? readFileSync8(metadataPath, "utf-8").trim() : null;
|
|
1500
1501
|
if (prior === fingerprint)
|
|
1501
1502
|
return false;
|
|
1502
1503
|
rmSync3(cachePath, { force: true, recursive: true });
|
|
@@ -1652,7 +1653,7 @@ Detected at: ${configPath2}${reset}`);
|
|
|
1652
1653
|
return;
|
|
1653
1654
|
}
|
|
1654
1655
|
if (args.includes("--chunked")) {
|
|
1655
|
-
if (!
|
|
1656
|
+
if (!existsSync7(resolve5("node_modules", ".bin", "eslint"))) {
|
|
1656
1657
|
console.error("\x1B[31m\u2717\x1B[0m ESLint is not installed in this project. Add it (and a flat `eslint.config.*`): bun add -d eslint");
|
|
1657
1658
|
process.exit(1);
|
|
1658
1659
|
}
|
|
@@ -1660,7 +1661,7 @@ Detected at: ${configPath2}${reset}`);
|
|
|
1660
1661
|
await eslintChunked2(args);
|
|
1661
1662
|
return;
|
|
1662
1663
|
}
|
|
1663
|
-
if (!
|
|
1664
|
+
if (!existsSync7(resolve5("node_modules", ".bin", "eslint"))) {
|
|
1664
1665
|
console.error("\x1B[31m\u2717\x1B[0m ESLint is not installed in this project. Add it (and a flat `eslint.config.*`): bun add -d eslint");
|
|
1665
1666
|
process.exit(1);
|
|
1666
1667
|
}
|
|
@@ -171896,11 +171897,11 @@ var exports_build = {};
|
|
|
171896
171897
|
__export(exports_build, {
|
|
171897
171898
|
build: () => build
|
|
171898
171899
|
});
|
|
171899
|
-
import { existsSync as
|
|
171900
|
+
import { existsSync as existsSync11, readdirSync as readdirSync3, readFileSync as readFileSync13 } from "fs";
|
|
171900
171901
|
import { join as join12, resolve as resolve11 } from "path";
|
|
171901
171902
|
var PROFILE_TOP = 15, PROFILE_COL = 8, FRAMEWORK_KEYS, cliTag3 = (color, message) => `\x1B[2m${formatTimestamp()}\x1B[0m ${color}[cli]\x1B[0m ${color}${message}\x1B[0m`, printProfile = (buildDir) => {
|
|
171902
171903
|
const traceDir = join12(buildDir, ".absolute-trace");
|
|
171903
|
-
if (!
|
|
171904
|
+
if (!existsSync11(traceDir))
|
|
171904
171905
|
return;
|
|
171905
171906
|
const files = readdirSync3(traceDir).filter((file) => file.endsWith(".json")).sort();
|
|
171906
171907
|
const latest = files[files.length - 1];
|
|
@@ -171999,7 +172000,7 @@ import {
|
|
|
171999
172000
|
verify
|
|
172000
172001
|
} from "crypto";
|
|
172001
172002
|
import {
|
|
172002
|
-
existsSync as
|
|
172003
|
+
existsSync as existsSync12,
|
|
172003
172004
|
lstatSync,
|
|
172004
172005
|
mkdirSync as mkdirSync8,
|
|
172005
172006
|
mkdtempSync,
|
|
@@ -172168,7 +172169,7 @@ var DEFAULT_PROOF_LOCATION = ".absolutejs/lint-proof.json", PROOF_CONTRACT_VERSI
|
|
|
172168
172169
|
const cwd = options.cwd ?? process.cwd();
|
|
172169
172170
|
const proofLocation = options.proofLocation ?? DEFAULT_PROOF_LOCATION;
|
|
172170
172171
|
const path = resolve12(cwd, proofLocation);
|
|
172171
|
-
if (!
|
|
172172
|
+
if (!existsSync12(path))
|
|
172172
172173
|
return { reason: `missing lint proof: ${proofLocation}`, valid: false };
|
|
172173
172174
|
let proof;
|
|
172174
172175
|
try {
|
|
@@ -172282,7 +172283,7 @@ var init_lintProof = __esm(() => {
|
|
|
172282
172283
|
// src/build/scanConventions.ts
|
|
172283
172284
|
import { basename as basename4 } from "path";
|
|
172284
172285
|
var {Glob: Glob2 } = globalThis.Bun;
|
|
172285
|
-
import { existsSync as
|
|
172286
|
+
import { existsSync as existsSync13 } from "fs";
|
|
172286
172287
|
var CONVENTION_RE, classifyFile = (file, pageFiles, defaults, pages) => {
|
|
172287
172288
|
const fileName = basename4(file);
|
|
172288
172289
|
const match = CONVENTION_RE.exec(fileName);
|
|
@@ -172307,7 +172308,7 @@ var CONVENTION_RE, classifyFile = (file, pageFiles, defaults, pages) => {
|
|
|
172307
172308
|
else if (kind === "loading")
|
|
172308
172309
|
pages[pageName].loading = file;
|
|
172309
172310
|
}, scanConventions = async (pagesDir, pattern) => {
|
|
172310
|
-
if (!
|
|
172311
|
+
if (!existsSync13(pagesDir)) {
|
|
172311
172312
|
const pageFiles2 = [];
|
|
172312
172313
|
return { conventions: undefined, pageFiles: pageFiles2 };
|
|
172313
172314
|
}
|
|
@@ -172342,7 +172343,7 @@ var exports_ls = {};
|
|
|
172342
172343
|
__export(exports_ls, {
|
|
172343
172344
|
runLs: () => runLs
|
|
172344
172345
|
});
|
|
172345
|
-
import { existsSync as
|
|
172346
|
+
import { existsSync as existsSync14, readFileSync as readFileSync15, statSync } from "fs";
|
|
172346
172347
|
import { basename as basename5, extname as extname3, join as join13, relative as relative5 } from "path";
|
|
172347
172348
|
var DEFAULT_BUILD_DIR = "build", LABEL_ORDER, ARTIFACT_SUFFIXES, FRAMEWORK_FIELDS, readStringField = (source, key) => {
|
|
172348
172349
|
const value = Reflect.get(source, key);
|
|
@@ -172393,10 +172394,10 @@ var DEFAULT_BUILD_DIR = "build", LABEL_ORDER, ARTIFACT_SUFFIXES, FRAMEWORK_FIELD
|
|
|
172393
172394
|
return pages ? [{ label, pages: sortPages(pages) }] : [];
|
|
172394
172395
|
});
|
|
172395
172396
|
}, resolveDiskPath = (buildDir, value) => {
|
|
172396
|
-
if (
|
|
172397
|
+
if (existsSync14(value))
|
|
172397
172398
|
return value;
|
|
172398
172399
|
const underBuild = join13(buildDir, value);
|
|
172399
|
-
if (
|
|
172400
|
+
if (existsSync14(underBuild))
|
|
172400
172401
|
return underBuild;
|
|
172401
172402
|
return join13(process.cwd(), value);
|
|
172402
172403
|
}, fileSize = (diskPath) => {
|
|
@@ -172524,7 +172525,7 @@ ${colors.dim}${frameworkCount} ${frameworkCount === 1 ? "framework" : "framework
|
|
|
172524
172525
|
}
|
|
172525
172526
|
const sizesDir = resolveSizesDir(args, candidates);
|
|
172526
172527
|
const manifestPath = join13(sizesDir, "manifest.json");
|
|
172527
|
-
if (!
|
|
172528
|
+
if (!existsSync14(manifestPath)) {
|
|
172528
172529
|
printDim(`No build at ${relativeOrSelf(manifestPath)}. Run \`absolute build\` first, or pass \`--outdir <dir>\`.`);
|
|
172529
172530
|
return;
|
|
172530
172531
|
}
|
|
@@ -173374,7 +173375,7 @@ var exports_heapDiff = {};
|
|
|
173374
173375
|
__export(exports_heapDiff, {
|
|
173375
173376
|
runHeapDiff: () => runHeapDiff
|
|
173376
173377
|
});
|
|
173377
|
-
import { existsSync as
|
|
173378
|
+
import { existsSync as existsSync15, readFileSync as readFileSync16 } from "fs";
|
|
173378
173379
|
var TOP = 15, STRING_TYPES, aggregate = (path) => {
|
|
173379
173380
|
const data = JSON.parse(readFileSync16(path, "utf-8"));
|
|
173380
173381
|
const { nodes, strings } = data;
|
|
@@ -173405,7 +173406,7 @@ var TOP = 15, STRING_TYPES, aggregate = (path) => {
|
|
|
173405
173406
|
return;
|
|
173406
173407
|
}
|
|
173407
173408
|
for (const path of [beforePath, afterPath]) {
|
|
173408
|
-
if (
|
|
173409
|
+
if (existsSync15(path))
|
|
173409
173410
|
continue;
|
|
173410
173411
|
process.stdout.write(`${colors.red}No such file: ${path}${colors.reset}
|
|
173411
173412
|
`);
|
|
@@ -173525,7 +173526,7 @@ var isRecord4 = (value) => typeof value === "object" && value !== null && !Array
|
|
|
173525
173526
|
|
|
173526
173527
|
// src/cli/config/schema/fromType.ts
|
|
173527
173528
|
import {
|
|
173528
|
-
existsSync as
|
|
173529
|
+
existsSync as existsSync16,
|
|
173529
173530
|
mkdirSync as mkdirSync9,
|
|
173530
173531
|
readFileSync as readFileSync17,
|
|
173531
173532
|
statSync as statSync2,
|
|
@@ -173720,7 +173721,7 @@ export { value };
|
|
|
173720
173721
|
const cached = cache.get(cacheKey);
|
|
173721
173722
|
if (cached)
|
|
173722
173723
|
return cached;
|
|
173723
|
-
const local = specifier === "@absolutejs/absolute" && isFrameworkRepo(cwd) &&
|
|
173724
|
+
const local = specifier === "@absolutejs/absolute" && isFrameworkRepo(cwd) && existsSync16(resolve13(cwd, "types/index.ts"));
|
|
173724
173725
|
const signature = cacheSignature(cwd, typeName, local, specifier);
|
|
173725
173726
|
const fromDisk = readDiskCache(cwd, typeName, signature, specifier);
|
|
173726
173727
|
if (fromDisk) {
|
|
@@ -173748,16 +173749,16 @@ var init_fromType = __esm(() => {
|
|
|
173748
173749
|
});
|
|
173749
173750
|
|
|
173750
173751
|
// src/cli/config/absolute/resolveAbsoluteConfig.ts
|
|
173751
|
-
import { existsSync as
|
|
173752
|
+
import { existsSync as existsSync17, readFileSync as readFileSync18 } from "fs";
|
|
173752
173753
|
import { resolve as resolve14 } from "path";
|
|
173753
173754
|
var import_typescript5, CONFIG_CANDIDATES2, RUNTIME_FIELDS, findConfigPath2 = (cwd, override) => {
|
|
173754
173755
|
if (override) {
|
|
173755
173756
|
const resolved = resolve14(cwd, override);
|
|
173756
|
-
return
|
|
173757
|
+
return existsSync17(resolved) ? resolved : null;
|
|
173757
173758
|
}
|
|
173758
173759
|
for (const name of CONFIG_CANDIDATES2) {
|
|
173759
173760
|
const candidate = resolve14(cwd, name);
|
|
173760
|
-
if (
|
|
173761
|
+
if (existsSync17(candidate))
|
|
173761
173762
|
return candidate;
|
|
173762
173763
|
}
|
|
173763
173764
|
return null;
|
|
@@ -174081,7 +174082,7 @@ var emptyOutcome = () => ({
|
|
|
174081
174082
|
});
|
|
174082
174083
|
|
|
174083
174084
|
// src/cli/generate/routeWiring.ts
|
|
174084
|
-
import { existsSync as
|
|
174085
|
+
import { existsSync as existsSync18, readFileSync as readFileSync19, readdirSync as readdirSync4, writeFileSync as writeFileSync9 } from "fs";
|
|
174085
174086
|
import { dirname as dirname7, join as join15 } from "path";
|
|
174086
174087
|
var import_typescript6, DEFAULT_SEPARATOR = `
|
|
174087
174088
|
`, BOUNDARY_USE, applyEdits = (text, edits) => {
|
|
@@ -174230,13 +174231,13 @@ ${newLines.join(`
|
|
|
174230
174231
|
return lines.join(`
|
|
174231
174232
|
`);
|
|
174232
174233
|
}, hasChain = (path) => {
|
|
174233
|
-
if (!
|
|
174234
|
+
if (!existsSync18(path))
|
|
174234
174235
|
return false;
|
|
174235
174236
|
const sourceFile = parse2(path, readFileSync19(path, "utf-8"));
|
|
174236
174237
|
const found = findElysiaNew(sourceFile);
|
|
174237
174238
|
return found !== null;
|
|
174238
174239
|
}, firstChainFile = (pluginsDir) => {
|
|
174239
|
-
if (!
|
|
174240
|
+
if (!existsSync18(pluginsDir))
|
|
174240
174241
|
return null;
|
|
174241
174242
|
for (const name of readdirSync4(pluginsDir)) {
|
|
174242
174243
|
if (!name.endsWith(".ts"))
|
|
@@ -174340,7 +174341,7 @@ var init_routeWiring = __esm(() => {
|
|
|
174340
174341
|
});
|
|
174341
174342
|
|
|
174342
174343
|
// src/cli/generate/generateApi.ts
|
|
174343
|
-
import { existsSync as
|
|
174344
|
+
import { existsSync as existsSync19, mkdirSync as mkdirSync10, writeFileSync as writeFileSync10 } from "fs";
|
|
174344
174345
|
import { dirname as dirname8, join as join16 } from "path";
|
|
174345
174346
|
var apiPluginTemplate = (pluginName, base) => `import { Elysia } from 'elysia';
|
|
174346
174347
|
|
|
@@ -174355,7 +174356,7 @@ export const ${pluginName} = new Elysia()
|
|
|
174355
174356
|
const outcome = { ...emptyOutcome(), route: base };
|
|
174356
174357
|
const pluginsDir = join16(dirname8(project.serverEntry), "plugins");
|
|
174357
174358
|
const fileAbs = join16(pluginsDir, `${pluginName}.ts`);
|
|
174358
|
-
if (
|
|
174359
|
+
if (existsSync19(fileAbs)) {
|
|
174359
174360
|
outcome.notes.push(`${pluginName} already exists at ${fileAbs} \u2014 skipped.`);
|
|
174360
174361
|
return outcome;
|
|
174361
174362
|
}
|
|
@@ -174428,7 +174429,7 @@ var init_componentTemplates = __esm(() => {
|
|
|
174428
174429
|
});
|
|
174429
174430
|
|
|
174430
174431
|
// src/cli/generate/generateComponent.ts
|
|
174431
|
-
import { existsSync as
|
|
174432
|
+
import { existsSync as existsSync20, mkdirSync as mkdirSync11, writeFileSync as writeFileSync11 } from "fs";
|
|
174432
174433
|
import { dirname as dirname9, join as join17 } from "path";
|
|
174433
174434
|
var generateComponent = (project, framework, rawName) => {
|
|
174434
174435
|
const def = frameworks2[framework];
|
|
@@ -174441,7 +174442,7 @@ var generateComponent = (project, framework, rawName) => {
|
|
|
174441
174442
|
return outcome;
|
|
174442
174443
|
}
|
|
174443
174444
|
const fileAbs = join17(frameworkDir, "components", def.componentFile({ kebab, pascal }));
|
|
174444
|
-
if (
|
|
174445
|
+
if (existsSync20(fileAbs)) {
|
|
174445
174446
|
outcome.notes.push(`${pascal} already exists at ${fileAbs} \u2014 skipped.`);
|
|
174446
174447
|
return outcome;
|
|
174447
174448
|
}
|
|
@@ -174460,7 +174461,7 @@ var init_generateComponent = __esm(() => {
|
|
|
174460
174461
|
});
|
|
174461
174462
|
|
|
174462
174463
|
// src/cli/generate/cssStrategy.ts
|
|
174463
|
-
import { existsSync as
|
|
174464
|
+
import { existsSync as existsSync21 } from "fs";
|
|
174464
174465
|
import { join as join18 } from "path";
|
|
174465
174466
|
var import_typescript7, CSS_SUFFIX = "CSS", SHARED_MIN_USES = 2, DEFAULT_CSS = `main {
|
|
174466
174467
|
margin: 0 auto;
|
|
@@ -174508,7 +174509,7 @@ var import_typescript7, CSS_SUFFIX = "CSS", SHARED_MIN_USES = 2, DEFAULT_CSS = `
|
|
|
174508
174509
|
return {
|
|
174509
174510
|
assetKey: sharedKey,
|
|
174510
174511
|
contents: DEFAULT_CSS,
|
|
174511
|
-
create: !
|
|
174512
|
+
create: !existsSync21(cssFileAbs2),
|
|
174512
174513
|
cssFileAbs: cssFileAbs2,
|
|
174513
174514
|
shared: true
|
|
174514
174515
|
};
|
|
@@ -174517,7 +174518,7 @@ var import_typescript7, CSS_SUFFIX = "CSS", SHARED_MIN_USES = 2, DEFAULT_CSS = `
|
|
|
174517
174518
|
return {
|
|
174518
174519
|
assetKey: `${pascal}${CSS_SUFFIX}`,
|
|
174519
174520
|
contents: DEFAULT_CSS,
|
|
174520
|
-
create: !
|
|
174521
|
+
create: !existsSync21(cssFileAbs),
|
|
174521
174522
|
cssFileAbs,
|
|
174522
174523
|
shared: false
|
|
174523
174524
|
};
|
|
@@ -174527,7 +174528,7 @@ var init_cssStrategy = __esm(() => {
|
|
|
174527
174528
|
});
|
|
174528
174529
|
|
|
174529
174530
|
// src/cli/generate/navData.ts
|
|
174530
|
-
import { existsSync as
|
|
174531
|
+
import { existsSync as existsSync22, mkdirSync as mkdirSync12, readFileSync as readFileSync20, writeFileSync as writeFileSync12 } from "fs";
|
|
174531
174532
|
import { dirname as dirname10 } from "path";
|
|
174532
174533
|
var import_typescript8, NAV_DATA_TEMPLATE = `type NavItem = {
|
|
174533
174534
|
href: string;
|
|
@@ -174566,7 +174567,7 @@ export const navData: NavItem[] = [];
|
|
|
174566
174567
|
}
|
|
174567
174568
|
return items;
|
|
174568
174569
|
}, readNavItems = (navDataPath) => {
|
|
174569
|
-
if (!
|
|
174570
|
+
if (!existsSync22(navDataPath))
|
|
174570
174571
|
return [];
|
|
174571
174572
|
const text = readFileSync20(navDataPath, "utf-8");
|
|
174572
174573
|
const sourceFile = import_typescript8.default.createSourceFile(navDataPath, text, import_typescript8.default.ScriptTarget.Latest, true);
|
|
@@ -174603,7 +174604,7 @@ ${indentOf(text, array.getStart(sourceFile))}`;
|
|
|
174603
174604
|
${indent}${entry}`;
|
|
174604
174605
|
return text.slice(0, insertAt) + insertion + text.slice(insertAt);
|
|
174605
174606
|
}, upsertNavItem = (navDataPath, item) => {
|
|
174606
|
-
const created = !
|
|
174607
|
+
const created = !existsSync22(navDataPath);
|
|
174607
174608
|
if (created) {
|
|
174608
174609
|
mkdirSync12(dirname10(navDataPath), { recursive: true });
|
|
174609
174610
|
writeFileSync12(navDataPath, NAV_DATA_TEMPLATE, "utf-8");
|
|
@@ -174771,7 +174772,7 @@ var init_pageTemplates = __esm(() => {
|
|
|
174771
174772
|
|
|
174772
174773
|
// src/cli/generate/generatePage.ts
|
|
174773
174774
|
import {
|
|
174774
|
-
existsSync as
|
|
174775
|
+
existsSync as existsSync23,
|
|
174775
174776
|
mkdirSync as mkdirSync13,
|
|
174776
174777
|
readFileSync as readFileSync21,
|
|
174777
174778
|
readdirSync as readdirSync5,
|
|
@@ -174784,7 +174785,7 @@ var writeNew = (path, contents) => {
|
|
|
174784
174785
|
}, toHref = (fromDir, toFile) => {
|
|
174785
174786
|
const rel = relative7(fromDir, toFile).split("\\").join("/");
|
|
174786
174787
|
return rel.startsWith(".") ? rel : `./${rel}`;
|
|
174787
|
-
}, staticPageFiles = (project) => ["html", "htmx"].map((key) => project.frameworkDirs[key]).map((dir) => dir ? join19(dir, "pages") : null).filter((pagesDir) => pagesDir !== null &&
|
|
174788
|
+
}, staticPageFiles = (project) => ["html", "htmx"].map((key) => project.frameworkDirs[key]).map((dir) => dir ? join19(dir, "pages") : null).filter((pagesDir) => pagesDir !== null && existsSync23(pagesDir)).flatMap((pagesDir) => readdirSync5(pagesDir).filter((name) => name.endsWith(".html")).map((name) => join19(pagesDir, name))), resyncPage = (file, items) => {
|
|
174788
174789
|
const html = readFileSync21(file, "utf-8");
|
|
174789
174790
|
const synced = syncStaticNav(html, items);
|
|
174790
174791
|
if (synced === null || synced === html)
|
|
@@ -174813,7 +174814,7 @@ var writeNew = (path, contents) => {
|
|
|
174813
174814
|
return outcome;
|
|
174814
174815
|
}
|
|
174815
174816
|
const pageFileAbs = join19(frameworkDir, "pages", def.pageFile({ kebab, pascal }));
|
|
174816
|
-
if (
|
|
174817
|
+
if (existsSync23(pageFileAbs)) {
|
|
174817
174818
|
outcome.notes.push(`${pascal} already exists at ${pageFileAbs} \u2014 skipped.`);
|
|
174818
174819
|
return outcome;
|
|
174819
174820
|
}
|
|
@@ -175199,11 +175200,11 @@ var init_catalog = __esm(() => {
|
|
|
175199
175200
|
});
|
|
175200
175201
|
|
|
175201
175202
|
// src/cli/integrations/addPlugin.ts
|
|
175202
|
-
import { existsSync as
|
|
175203
|
+
import { existsSync as existsSync24, readFileSync as readFileSync23 } from "fs";
|
|
175203
175204
|
import { join as join20 } from "path";
|
|
175204
175205
|
var isRecord6 = (value) => typeof value === "object" && value !== null && !Array.isArray(value), readPackageJson = (cwd) => {
|
|
175205
175206
|
const path = join20(cwd, "package.json");
|
|
175206
|
-
if (!
|
|
175207
|
+
if (!existsSync24(path))
|
|
175207
175208
|
return null;
|
|
175208
175209
|
try {
|
|
175209
175210
|
const parsed = JSON.parse(readFileSync23(path, "utf-8"));
|
|
@@ -175697,16 +175698,16 @@ var init_authCatalog = __esm(() => {
|
|
|
175697
175698
|
});
|
|
175698
175699
|
|
|
175699
175700
|
// src/cli/config/auth/resolveAuthSettings.ts
|
|
175700
|
-
import { existsSync as
|
|
175701
|
+
import { existsSync as existsSync25, readFileSync as readFileSync24 } from "fs";
|
|
175701
175702
|
import { resolve as resolve16 } from "path";
|
|
175702
175703
|
var import_typescript10, AUTH_PACKAGE = "@absolutejs/auth", CONFIG_CANDIDATES3, findAuthSettingsPath = (cwd, override) => {
|
|
175703
175704
|
if (override) {
|
|
175704
175705
|
const resolved = resolve16(cwd, override);
|
|
175705
|
-
return
|
|
175706
|
+
return existsSync25(resolved) ? resolved : null;
|
|
175706
175707
|
}
|
|
175707
175708
|
for (const name of CONFIG_CANDIDATES3) {
|
|
175708
175709
|
const candidate = resolve16(cwd, name);
|
|
175709
|
-
if (
|
|
175710
|
+
if (existsSync25(candidate))
|
|
175710
175711
|
return candidate;
|
|
175711
175712
|
}
|
|
175712
175713
|
return null;
|
|
@@ -175802,10 +175803,10 @@ var init_resolveAuthSettings = __esm(() => {
|
|
|
175802
175803
|
});
|
|
175803
175804
|
|
|
175804
175805
|
// src/cli/config/auth/resolveAuthState.ts
|
|
175805
|
-
import { existsSync as
|
|
175806
|
+
import { existsSync as existsSync26, readdirSync as readdirSync6, readFileSync as readFileSync25 } from "fs";
|
|
175806
175807
|
import { join as join21, relative as relative9, resolve as resolve17 } from "path";
|
|
175807
175808
|
var import_typescript11, AUTH_PACKAGE2 = "@absolutejs/auth", REPO_URL = "https://github.com/absolutejs/absolute-auth", NPM_URL = "https://www.npmjs.com/package/@absolutejs/auth", SKIP_DIRS, MAX_FILES = 4000, SETUP_EXPORTS, isRecord7 = (value) => typeof value === "object" && value !== null && !Array.isArray(value), readJson = (path) => {
|
|
175808
|
-
if (!
|
|
175809
|
+
if (!existsSync26(path))
|
|
175809
175810
|
return null;
|
|
175810
175811
|
try {
|
|
175811
175812
|
const parsed = JSON.parse(readFileSync25(path, "utf-8"));
|
|
@@ -175934,7 +175935,7 @@ var import_typescript11, AUTH_PACKAGE2 = "@absolutejs/auth", REPO_URL = "https:/
|
|
|
175934
175935
|
scaffoldable: isScaffoldableFeature(feature.id)
|
|
175935
175936
|
})), resolveAuthState = (cwd) => {
|
|
175936
175937
|
const installedVersion = installedVersionFor(cwd);
|
|
175937
|
-
const root =
|
|
175938
|
+
const root = existsSync26(join21(cwd, "src")) ? join21(cwd, "src") : cwd;
|
|
175938
175939
|
let match = null;
|
|
175939
175940
|
let setupPath = null;
|
|
175940
175941
|
for (const file of candidateFiles(root)) {
|
|
@@ -175980,7 +175981,7 @@ var init_resolveAuthState = __esm(() => {
|
|
|
175980
175981
|
});
|
|
175981
175982
|
|
|
175982
175983
|
// src/cli/config/auth/scaffoldAuthFeature.ts
|
|
175983
|
-
import { existsSync as
|
|
175984
|
+
import { existsSync as existsSync27, writeFileSync as writeFileSync15 } from "fs";
|
|
175984
175985
|
import { dirname as dirname12, join as join22, relative as relative10, resolve as resolve18 } from "path";
|
|
175985
175986
|
var renderScaffold = (scaffold) => {
|
|
175986
175987
|
const importNames = [...scaffold.imports, `type ${scaffold.typeName}`];
|
|
@@ -176008,7 +176009,7 @@ ${body}
|
|
|
176008
176009
|
if (setupPath)
|
|
176009
176010
|
return dirname12(resolve18(cwd, setupPath));
|
|
176010
176011
|
const src = join22(cwd, "src");
|
|
176011
|
-
return
|
|
176012
|
+
return existsSync27(src) ? src : cwd;
|
|
176012
176013
|
}, spreadFor = (scaffold) => `import { ${scaffold.exportName} } from './${scaffold.exportName}';
|
|
176013
176014
|
// add to your auth() call:
|
|
176014
176015
|
${scaffold.configKey}: ${scaffold.exportName}`, failure2 = (message) => ({
|
|
@@ -176023,7 +176024,7 @@ ${scaffold.configKey}: ${scaffold.exportName}`, failure2 = (message) => ({
|
|
|
176023
176024
|
return failure2(`Unknown auth feature "${id}".`);
|
|
176024
176025
|
const filePath = join22(targetDir(cwd), `${scaffold.exportName}.ts`);
|
|
176025
176026
|
const relPath = relative10(cwd, filePath);
|
|
176026
|
-
if (
|
|
176027
|
+
if (existsSync27(filePath)) {
|
|
176027
176028
|
return {
|
|
176028
176029
|
created: null,
|
|
176029
176030
|
installed: false,
|
|
@@ -176050,13 +176051,13 @@ var init_scaffoldAuthFeature = __esm(() => {
|
|
|
176050
176051
|
});
|
|
176051
176052
|
|
|
176052
176053
|
// src/cli/htmx/install.ts
|
|
176053
|
-
import { existsSync as
|
|
176054
|
+
import { existsSync as existsSync28, mkdirSync as mkdirSync14, readFileSync as readFileSync26, writeFileSync as writeFileSync16 } from "fs";
|
|
176054
176055
|
import { join as join23 } from "path";
|
|
176055
176056
|
var VENDORED_HTMX_VERSION = "2.0.6", vendoredHtmxFile = () => [
|
|
176056
176057
|
join23(import.meta.dir, "htmx.min.js"),
|
|
176057
176058
|
join23(import.meta.dir, "htmx", "htmx.min.js"),
|
|
176058
176059
|
join23(import.meta.dir, "..", "htmx", "htmx.min.js")
|
|
176059
|
-
].find((path) =>
|
|
176060
|
+
].find((path) => existsSync28(path)) ?? null, detectHtmxVersion = (content) => {
|
|
176060
176061
|
const match = content.match(/version:"([0-9.]+)"/);
|
|
176061
176062
|
return match ? match[1] : null;
|
|
176062
176063
|
}, fetchHtmx = async (version2) => {
|
|
@@ -176068,7 +176069,7 @@ var VENDORED_HTMX_VERSION = "2.0.6", vendoredHtmxFile = () => [
|
|
|
176068
176069
|
return response.text();
|
|
176069
176070
|
}, installedHtmxVersion = (htmxDir) => {
|
|
176070
176071
|
const file = join23(htmxDir, "htmx.min.js");
|
|
176071
|
-
if (!
|
|
176072
|
+
if (!existsSync28(file))
|
|
176072
176073
|
return null;
|
|
176073
176074
|
return detectHtmxVersion(readFileSync26(file, "utf-8"));
|
|
176074
176075
|
}, readVendoredHtmx = () => {
|
|
@@ -176236,7 +176237,7 @@ var exports_analyze = {};
|
|
|
176236
176237
|
__export(exports_analyze, {
|
|
176237
176238
|
runAnalyze: () => runAnalyze
|
|
176238
176239
|
});
|
|
176239
|
-
import { existsSync as
|
|
176240
|
+
import { existsSync as existsSync29, readFileSync as readFileSync27, statSync as statSync3, writeFileSync as writeFileSync17 } from "fs";
|
|
176240
176241
|
import { join as join25, resolve as resolve19 } from "path";
|
|
176241
176242
|
var BASELINE_FILE = ".absolute-size-baseline.json", TOP_CHANGES = 12, CATEGORY_WIDTH = 16, SIZE_WIDTH = 12, CHANGE_WIDTH = 10, CATEGORY_ORDER, categoryOf = (key) => {
|
|
176242
176243
|
if (key.startsWith("Island"))
|
|
@@ -176258,7 +176259,7 @@ var BASELINE_FILE = ".absolute-size-baseline.json", TOP_CHANGES = 12, CATEGORY_W
|
|
|
176258
176259
|
}
|
|
176259
176260
|
}, readSizes = (manifestDir) => {
|
|
176260
176261
|
const manifestPath = join25(manifestDir, "manifest.json");
|
|
176261
|
-
if (!
|
|
176262
|
+
if (!existsSync29(manifestPath))
|
|
176262
176263
|
return null;
|
|
176263
176264
|
const manifest = JSON.parse(readFileSync27(manifestPath, "utf-8"));
|
|
176264
176265
|
const sizes = {};
|
|
@@ -176268,7 +176269,7 @@ var BASELINE_FILE = ".absolute-size-baseline.json", TOP_CHANGES = 12, CATEGORY_W
|
|
|
176268
176269
|
return sizes;
|
|
176269
176270
|
}, readBaseline = (cwd) => {
|
|
176270
176271
|
const path = join25(cwd, BASELINE_FILE);
|
|
176271
|
-
if (!
|
|
176272
|
+
if (!existsSync29(path))
|
|
176272
176273
|
return null;
|
|
176273
176274
|
try {
|
|
176274
176275
|
const parsed = JSON.parse(readFileSync27(path, "utf-8"));
|
|
@@ -176602,7 +176603,7 @@ var exports_remove = {};
|
|
|
176602
176603
|
__export(exports_remove, {
|
|
176603
176604
|
runRemove: () => runRemove
|
|
176604
176605
|
});
|
|
176605
|
-
import { existsSync as
|
|
176606
|
+
import { existsSync as existsSync30, readFileSync as readFileSync28 } from "fs";
|
|
176606
176607
|
import { relative as relative12 } from "path";
|
|
176607
176608
|
var write3 = (text) => process.stdout.write(`${text}
|
|
176608
176609
|
`), fail3 = (message) => {
|
|
@@ -176613,7 +176614,7 @@ var write3 = (text) => process.stdout.write(`${text}
|
|
|
176613
176614
|
const candidates = [findRoutingFile(serverEntry), serverEntry];
|
|
176614
176615
|
const seen = new Set;
|
|
176615
176616
|
return candidates.filter((file) => {
|
|
176616
|
-
if (file === null || seen.has(file) || !
|
|
176617
|
+
if (file === null || seen.has(file) || !existsSync30(file))
|
|
176617
176618
|
return false;
|
|
176618
176619
|
seen.add(file);
|
|
176619
176620
|
return readFileSync28(file, "utf-8").includes(handler);
|
|
@@ -176743,10 +176744,10 @@ __export(exports_env, {
|
|
|
176743
176744
|
runEnv: () => runEnv,
|
|
176744
176745
|
collectEnvVars: () => collectEnvVars
|
|
176745
176746
|
});
|
|
176746
|
-
import { existsSync as
|
|
176747
|
+
import { existsSync as existsSync31, readFileSync as readFileSync29 } from "fs";
|
|
176747
176748
|
import { join as join26 } from "path";
|
|
176748
176749
|
var {env: env3, Glob: Glob3 } = globalThis.Bun;
|
|
176749
|
-
var EXTENSIONS = "ts,tsx,js,jsx,mjs,cjs,svelte,vue", STATUS_WIDTH2, keysInFile = (text) => [...text.matchAll(/getEnv\(\s*['"]([^'"]+)['"]\s*\)/g)].map((match) => match[1]).filter((key) => key !== undefined), scanPatterns = () =>
|
|
176750
|
+
var EXTENSIONS = "ts,tsx,js,jsx,mjs,cjs,svelte,vue", STATUS_WIDTH2, keysInFile = (text) => [...text.matchAll(/getEnv\(\s*['"]([^'"]+)['"]\s*\)/g)].map((match) => match[1]).filter((key) => key !== undefined), scanPatterns = () => existsSync31(join26(process.cwd(), "src")) ? [`src/**/*.{${EXTENSIONS}}`] : [`*.{${EXTENSIONS}}`], scanEnvUsage = async () => {
|
|
176750
176751
|
const scans = scanPatterns().map((pattern) => Array.fromAsync(new Glob3(pattern).scan({ cwd: process.cwd() })));
|
|
176751
176752
|
const files = (await Promise.all(scans)).flat();
|
|
176752
176753
|
const usage = new Map;
|
|
@@ -176812,7 +176813,7 @@ __export(exports_db, {
|
|
|
176812
176813
|
conflictClause: () => conflictClause,
|
|
176813
176814
|
chunkRows: () => chunkRows
|
|
176814
176815
|
});
|
|
176815
|
-
import { existsSync as
|
|
176816
|
+
import { existsSync as existsSync32, mkdirSync as mkdirSync15, readFileSync as readFileSync30, writeFileSync as writeFileSync18 } from "fs";
|
|
176816
176817
|
import { join as join27 } from "path";
|
|
176817
176818
|
var {env: env4, spawn: spawn2, SQL } = globalThis.Bun;
|
|
176818
176819
|
var BACKUP_FORMAT_VERSION = 1, RESTORE_CHUNK_ROWS = 500, URL_ENV_KEYS, JSON_DATA_TYPES, SEED_CANDIDATES, VALUE_FLAGS, paint = (text, color) => `${color}${text}${colors.reset}`, chunkRows = (items, size) => Array.from({ length: Math.ceil(items.length / size) }, (_, idx) => items.slice(idx * size, idx * size + size)), quoteIdent = (name) => `"${name.replace(/"/g, '""')}"`, resolveUrl = (explicit) => {
|
|
@@ -176933,7 +176934,7 @@ var BACKUP_FORMAT_VERSION = 1, RESTORE_CHUNK_ROWS = 500, URL_ENV_KEYS, JSON_DATA
|
|
|
176933
176934
|
console.log(paint(`\u2713 backup \u2192 ${file}`, colors.green));
|
|
176934
176935
|
console.log(paint(` ${chosen.length} tables, ${total} rows`, colors.dim));
|
|
176935
176936
|
}, runRestore = async (file, options) => {
|
|
176936
|
-
if (!
|
|
176937
|
+
if (!existsSync32(file))
|
|
176937
176938
|
throw new Error(`Backup not found: ${file}`);
|
|
176938
176939
|
const payload = JSON.parse(readFileSync30(file, "utf-8"));
|
|
176939
176940
|
const names = Object.keys(payload.tables).filter((name) => keepTable(name, options));
|
|
@@ -176957,7 +176958,7 @@ var BACKUP_FORMAT_VERSION = 1, RESTORE_CHUNK_ROWS = 500, URL_ENV_KEYS, JSON_DATA
|
|
|
176957
176958
|
const total = order.reduce((sum, name) => sum + (payload.tables[name]?.length ?? 0), 0);
|
|
176958
176959
|
console.log(paint(`\u2713 restored ${order.length} tables, ${total} rows (idempotent upsert by primary key)`, colors.green));
|
|
176959
176960
|
}, runSeed = async (entry) => {
|
|
176960
|
-
const target = entry ?? SEED_CANDIDATES.find((candidate) =>
|
|
176961
|
+
const target = entry ?? SEED_CANDIDATES.find((candidate) => existsSync32(join27(process.cwd(), candidate)));
|
|
176961
176962
|
if (target === undefined)
|
|
176962
176963
|
throw new Error(`No seed script found (looked for ${SEED_CANDIDATES.join(", ")}). Pass a path: absolute db seed <file>.`);
|
|
176963
176964
|
console.log(paint(`seeding via ${target}\u2026`, colors.cyan));
|
|
@@ -177018,7 +177019,7 @@ __export(exports_logs, {
|
|
|
177018
177019
|
});
|
|
177019
177020
|
import {
|
|
177020
177021
|
closeSync as closeSync2,
|
|
177021
|
-
existsSync as
|
|
177022
|
+
existsSync as existsSync33,
|
|
177022
177023
|
openSync as openSync4,
|
|
177023
177024
|
readSync as readSync2,
|
|
177024
177025
|
statSync as statSync4,
|
|
@@ -177085,7 +177086,7 @@ var DEFAULT_LINES = 40, POLL_MS = 250, LINES_FLAG_SPAN = 2, readFrom = (path, st
|
|
|
177085
177086
|
printAvailable(instances);
|
|
177086
177087
|
return;
|
|
177087
177088
|
}
|
|
177088
|
-
if (match.logFile === null || !
|
|
177089
|
+
if (match.logFile === null || !existsSync33(match.logFile)) {
|
|
177089
177090
|
printDim3(`"${name}" has no captured log (untracked, or started outside the CLI).`);
|
|
177090
177091
|
return;
|
|
177091
177092
|
}
|
|
@@ -177105,7 +177106,7 @@ var init_logs = __esm(() => {
|
|
|
177105
177106
|
|
|
177106
177107
|
// src/cli/typeGraphCoherence.ts
|
|
177107
177108
|
import {
|
|
177108
|
-
existsSync as
|
|
177109
|
+
existsSync as existsSync34,
|
|
177109
177110
|
readFileSync as readFileSync31,
|
|
177110
177111
|
realpathSync as realpathSync2,
|
|
177111
177112
|
rmSync as rmSync6,
|
|
@@ -177156,7 +177157,7 @@ var DEPENDENCY_FIELDS, TYPE_GRAPH_PACKAGES, readManifest = (path) => {
|
|
|
177156
177157
|
}, findInstallRoot = (cwd) => {
|
|
177157
177158
|
let directory = resolve20(cwd);
|
|
177158
177159
|
for (;; ) {
|
|
177159
|
-
if (
|
|
177160
|
+
if (existsSync34(join28(directory, "bun.lock")) || existsSync34(join28(directory, "bun.lockb"))) {
|
|
177160
177161
|
return directory;
|
|
177161
177162
|
}
|
|
177162
177163
|
const parent = dirname14(directory);
|
|
@@ -177168,7 +177169,7 @@ var DEPENDENCY_FIELDS, TYPE_GRAPH_PACKAGES, readManifest = (path) => {
|
|
|
177168
177169
|
let directory = resolve20(cwd);
|
|
177169
177170
|
for (;; ) {
|
|
177170
177171
|
const candidate = join28(directory, "package.json");
|
|
177171
|
-
if (
|
|
177172
|
+
if (existsSync34(candidate))
|
|
177172
177173
|
return candidate;
|
|
177173
177174
|
if (directory === installRoot)
|
|
177174
177175
|
return join28(installRoot, "package.json");
|
|
@@ -177309,7 +177310,7 @@ var exports_doctor = {};
|
|
|
177309
177310
|
__export(exports_doctor, {
|
|
177310
177311
|
runDoctor: () => runDoctor
|
|
177311
177312
|
});
|
|
177312
|
-
import { existsSync as
|
|
177313
|
+
import { existsSync as existsSync35, mkdirSync as mkdirSync16, readFileSync as readFileSync32, writeFileSync as writeFileSync20 } from "fs";
|
|
177313
177314
|
import { createRequire as createRequire2 } from "module";
|
|
177314
177315
|
import { arch as arch4, platform as platform5 } from "os";
|
|
177315
177316
|
import { join as join29 } from "path";
|
|
@@ -177347,7 +177348,7 @@ var FRAMEWORK_FIELDS2, projectRequire, check = (status2, label, detail) => ({
|
|
|
177347
177348
|
return [];
|
|
177348
177349
|
const label = `${field.replace("Directory", "")} pages`;
|
|
177349
177350
|
return [
|
|
177350
|
-
|
|
177351
|
+
existsSync35(join29(process.cwd(), dir)) ? check("ok", label, dir) : check("fail", label, `${dir} (missing)`)
|
|
177351
177352
|
];
|
|
177352
177353
|
}), envCheck = async () => {
|
|
177353
177354
|
const vars = await collectEnvVars();
|
|
@@ -177409,7 +177410,7 @@ ${colors.dim}${checks.length} checks \xB7 ${colors.reset}${summary}${colors.dim}
|
|
|
177409
177410
|
const fixes = [];
|
|
177410
177411
|
for (const field of FRAMEWORK_FIELDS2) {
|
|
177411
177412
|
const dir = readString(config, field);
|
|
177412
|
-
if (dir === undefined ||
|
|
177413
|
+
if (dir === undefined || existsSync35(join29(cwd, dir)))
|
|
177413
177414
|
continue;
|
|
177414
177415
|
mkdirSync16(join29(cwd, dir, "pages"), { recursive: true });
|
|
177415
177416
|
fixes.push(`created ${dir}/pages`);
|
|
@@ -177420,7 +177421,7 @@ ${colors.dim}${checks.length} checks \xB7 ${colors.reset}${summary}${colors.dim}
|
|
|
177420
177421
|
if (missing.length === 0)
|
|
177421
177422
|
return null;
|
|
177422
177423
|
const envExample = join29(cwd, ".env.example");
|
|
177423
|
-
const existing =
|
|
177424
|
+
const existing = existsSync35(envExample) ? readFileSync32(envExample, "utf-8") : "";
|
|
177424
177425
|
const existingKeys = new Set(existing.split(`
|
|
177425
177426
|
`).map((line) => line.split("=")[0]?.trim()));
|
|
177426
177427
|
const toAdd = missing.filter((entry) => !existingKeys.has(entry.key));
|
|
@@ -177794,10 +177795,10 @@ var init_inspect = __esm(() => {
|
|
|
177794
177795
|
});
|
|
177795
177796
|
|
|
177796
177797
|
// src/build/scanEntryPoints.ts
|
|
177797
|
-
import { existsSync as
|
|
177798
|
+
import { existsSync as existsSync36 } from "fs";
|
|
177798
177799
|
var {Glob: Glob4 } = globalThis.Bun;
|
|
177799
177800
|
var scanEntryPoints = async (dir, pattern) => {
|
|
177800
|
-
if (!
|
|
177801
|
+
if (!existsSync36(dir))
|
|
177801
177802
|
return [];
|
|
177802
177803
|
const entryPaths = [];
|
|
177803
177804
|
const glob = new Glob4(pattern);
|
|
@@ -177949,7 +177950,7 @@ var exports_islands = {};
|
|
|
177949
177950
|
__export(exports_islands, {
|
|
177950
177951
|
runIslands: () => runIslands
|
|
177951
177952
|
});
|
|
177952
|
-
import { existsSync as
|
|
177953
|
+
import { existsSync as existsSync37, readFileSync as readFileSync34, statSync as statSync5 } from "fs";
|
|
177953
177954
|
import { join as join30, relative as relative13, resolve as resolve22 } from "path";
|
|
177954
177955
|
var FRAMEWORK_DIR_KEY, FRAMEWORK_COLOR, printDim6 = (message) => process.stdout.write(`${colors.dim}${message}${colors.reset}
|
|
177955
177956
|
`), hostFrameworkOf = (pagePath, cwd, config) => {
|
|
@@ -177969,7 +177970,7 @@ var FRAMEWORK_DIR_KEY, FRAMEWORK_COLOR, printDim6 = (message) => process.stdout.
|
|
|
177969
177970
|
}
|
|
177970
177971
|
}, readManifestSizes2 = (manifestDir) => {
|
|
177971
177972
|
const manifestPath = join30(manifestDir, "manifest.json");
|
|
177972
|
-
if (!
|
|
177973
|
+
if (!existsSync37(manifestPath))
|
|
177973
177974
|
return null;
|
|
177974
177975
|
const manifest = JSON.parse(readFileSync34(manifestPath, "utf-8"));
|
|
177975
177976
|
const sizes = new Map;
|
|
@@ -178109,7 +178110,7 @@ var init_islands2 = __esm(() => {
|
|
|
178109
178110
|
});
|
|
178110
178111
|
|
|
178111
178112
|
// src/build/externalAssetPlugin.ts
|
|
178112
|
-
import { copyFileSync as copyFileSync2, existsSync as
|
|
178113
|
+
import { copyFileSync as copyFileSync2, existsSync as existsSync38, mkdirSync as mkdirSync17, statSync as statSync6 } from "fs";
|
|
178113
178114
|
import { basename as basename6, dirname as dirname16, join as join31, resolve as resolve23 } from "path";
|
|
178114
178115
|
var createExternalAssetPlugin = (outDir, userSourceRoots = []) => ({
|
|
178115
178116
|
name: "absolute-external-asset",
|
|
@@ -178131,12 +178132,12 @@ var createExternalAssetPlugin = (outDir, userSourceRoots = []) => ({
|
|
|
178131
178132
|
if (!relPath)
|
|
178132
178133
|
continue;
|
|
178133
178134
|
const assetPath = resolve23(sourceDir, relPath);
|
|
178134
|
-
if (!
|
|
178135
|
+
if (!existsSync38(assetPath))
|
|
178135
178136
|
continue;
|
|
178136
178137
|
if (!statSync6(assetPath).isFile())
|
|
178137
178138
|
continue;
|
|
178138
178139
|
const targetPath = join31(outDir, basename6(assetPath));
|
|
178139
|
-
if (
|
|
178140
|
+
if (existsSync38(targetPath))
|
|
178140
178141
|
continue;
|
|
178141
178142
|
mkdirSync17(dirname16(targetPath), { recursive: true });
|
|
178142
178143
|
copyFileSync2(assetPath, targetPath);
|
|
@@ -178156,7 +178157,7 @@ __export(exports_compile, {
|
|
|
178156
178157
|
var {env: env5 } = globalThis.Bun;
|
|
178157
178158
|
import {
|
|
178158
178159
|
cpSync,
|
|
178159
|
-
existsSync as
|
|
178160
|
+
existsSync as existsSync39,
|
|
178160
178161
|
mkdirSync as mkdirSync18,
|
|
178161
178162
|
readdirSync as readdirSync7,
|
|
178162
178163
|
readFileSync as readFileSync35,
|
|
@@ -178247,7 +178248,7 @@ var cliTag4 = (color, message) => `\x1B[2m${formatTimestamp()}\x1B[0m ${color}[c
|
|
|
178247
178248
|
const normalizedOutdir = resolve24(outdir);
|
|
178248
178249
|
const copyReference = (filePath, relPath) => {
|
|
178249
178250
|
const assetSource = resolve24(dirname17(filePath), relPath);
|
|
178250
|
-
if (!
|
|
178251
|
+
if (!existsSync39(assetSource) || !statSync7(assetSource).isFile())
|
|
178251
178252
|
return;
|
|
178252
178253
|
const assetTarget = resolve24(normalizedOutdir, relPath.replace(/^\.\//, ""));
|
|
178253
178254
|
if (assetTarget !== normalizedOutdir && !assetTarget.startsWith(`${normalizedOutdir}/`))
|
|
@@ -178331,7 +178332,7 @@ var cliTag4 = (color, message) => `\x1B[2m${formatTimestamp()}\x1B[0m ${color}[c
|
|
|
178331
178332
|
resolve24(import.meta.dir, "..", "..", "..", "src", "react", "jsxDevRuntimeCompat.ts")
|
|
178332
178333
|
];
|
|
178333
178334
|
for (const candidate of candidates) {
|
|
178334
|
-
if (
|
|
178335
|
+
if (existsSync39(candidate))
|
|
178335
178336
|
return candidate;
|
|
178336
178337
|
}
|
|
178337
178338
|
return resolve24(import.meta.dir, "..", "..", "react", "jsxDevRuntimeCompat.js");
|
|
@@ -178406,7 +178407,7 @@ var cliTag4 = (color, message) => `\x1B[2m${formatTimestamp()}\x1B[0m ${color}[c
|
|
|
178406
178407
|
if (!buildConfig.angularDirectory)
|
|
178407
178408
|
return;
|
|
178408
178409
|
const angularScopeDir = resolve24(process.cwd(), "node_modules", "@angular");
|
|
178409
|
-
const angularPackages =
|
|
178410
|
+
const angularPackages = existsSync39(angularScopeDir) ? readdirSync7(angularScopeDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).filter((entry) => entry.name !== "compiler-cli").map((entry) => `@angular/${entry.name}`) : [];
|
|
178410
178411
|
const roots = new Set([...angularPackages, "rxjs", "tslib", "typescript"]);
|
|
178411
178412
|
const seen = new Set;
|
|
178412
178413
|
for (const specifier of roots) {
|
|
@@ -178425,7 +178426,7 @@ var cliTag4 = (color, message) => `\x1B[2m${formatTimestamp()}\x1B[0m ${color}[c
|
|
|
178425
178426
|
copyChunkReferencedPackages(outdir, seen);
|
|
178426
178427
|
}, collectRuntimePackageSpecifiers = (distDir) => {
|
|
178427
178428
|
const nodeModulesDir = join32(distDir, "node_modules");
|
|
178428
|
-
if (!
|
|
178429
|
+
if (!existsSync39(nodeModulesDir))
|
|
178429
178430
|
return [];
|
|
178430
178431
|
const specifiers = [];
|
|
178431
178432
|
for (const entry of readdirSync7(nodeModulesDir, { withFileTypes: true })) {
|
|
@@ -178466,9 +178467,9 @@ var cliTag4 = (color, message) => `\x1B[2m${formatTimestamp()}\x1B[0m ${color}[c
|
|
|
178466
178467
|
const packageDir = join32(distDir, "node_modules", ...packageSpecifier.split("/"));
|
|
178467
178468
|
const subpath = specifier.slice(packageSpecifier.length);
|
|
178468
178469
|
const subPackageDir = subpath ? join32(packageDir, ...subpath.slice(1).split("/")) : null;
|
|
178469
|
-
const resolvedPackageDir = subPackageDir &&
|
|
178470
|
+
const resolvedPackageDir = subPackageDir && existsSync39(join32(subPackageDir, "package.json")) ? subPackageDir : packageDir;
|
|
178470
178471
|
const packageJsonPath = join32(resolvedPackageDir, "package.json");
|
|
178471
|
-
if (!
|
|
178472
|
+
if (!existsSync39(packageJsonPath))
|
|
178472
178473
|
return null;
|
|
178473
178474
|
const pkg = JSON.parse(readFileSync35(packageJsonPath, "utf-8"));
|
|
178474
178475
|
const exportKey = resolvedPackageDir !== subPackageDir && subpath ? `.${subpath}` : ".";
|
|
@@ -178493,7 +178494,7 @@ var cliTag4 = (color, message) => `\x1B[2m${formatTimestamp()}\x1B[0m ${color}[c
|
|
|
178493
178494
|
}, findContainingRuntimePackageDir = (filePath) => {
|
|
178494
178495
|
let dir = dirname17(filePath);
|
|
178495
178496
|
while (dir !== dirname17(dir)) {
|
|
178496
|
-
if (isNodeModulesPath(dir) &&
|
|
178497
|
+
if (isNodeModulesPath(dir) && existsSync39(join32(dir, "package.json"))) {
|
|
178497
178498
|
return dir;
|
|
178498
178499
|
}
|
|
178499
178500
|
dir = dirname17(dir);
|
|
@@ -179141,11 +179142,11 @@ console.log(\`
|
|
|
179141
179142
|
process.exit(1);
|
|
179142
179143
|
}
|
|
179143
179144
|
const outputPath = resolve24(resolvedOutdir, `${entryName}.js`);
|
|
179144
|
-
if (!
|
|
179145
|
+
if (!existsSync39(outputPath)) {
|
|
179145
179146
|
console.error(cliTag4("\x1B[31m", `Expected output not found: ${outputPath}`));
|
|
179146
179147
|
process.exit(1);
|
|
179147
179148
|
}
|
|
179148
|
-
if (
|
|
179149
|
+
if (existsSync39(resolve24(resolvedOutdir, "angular", "vendor", "server"))) {
|
|
179149
179150
|
const vendorDir = resolve24(resolvedOutdir, "angular", "vendor", "server");
|
|
179150
179151
|
const vendorEntries = readdirSync7(vendorDir).filter((fileName) => fileName.endsWith(".js"));
|
|
179151
179152
|
const angularServerVendorPaths = {};
|
|
@@ -179273,10 +179274,10 @@ __export(exports_typecheck, {
|
|
|
179273
179274
|
typecheck: () => typecheck
|
|
179274
179275
|
});
|
|
179275
179276
|
import { resolve as resolve25, join as join33 } from "path";
|
|
179276
|
-
import { existsSync as
|
|
179277
|
+
import { existsSync as existsSync40, readFileSync as readFileSync36 } from "fs";
|
|
179277
179278
|
import { mkdir as mkdir2, writeFile } from "fs/promises";
|
|
179278
179279
|
var isCommandService3 = (service) => service.kind === "command" || Array.isArray(service.command), resolveConfigPath = (configPath2) => resolve25(configPath2 ?? process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts"), getTypecheckTargets = async (configPath2) => {
|
|
179279
|
-
if (!
|
|
179280
|
+
if (!existsSync40(resolveConfigPath(configPath2))) {
|
|
179280
179281
|
const defaultService = {};
|
|
179281
179282
|
return [defaultService];
|
|
179282
179283
|
}
|
|
@@ -179298,7 +179299,7 @@ var isCommandService3 = (service) => service.kind === "command" || Array.isArray
|
|
|
179298
179299
|
return { exitCode, name, output: (stdout + stderr).trim() };
|
|
179299
179300
|
}, shellEscape = (value) => `'${value.replaceAll("'", "'\\''")}'`, runShell = async (name, command) => run(name, ["/bin/bash", "-lc", command]), findBin = (name) => {
|
|
179300
179301
|
const local = resolve25("node_modules", ".bin", name);
|
|
179301
|
-
return
|
|
179302
|
+
return existsSync40(local) ? local : null;
|
|
179302
179303
|
}, ANSI_COLOR_REGEX, ANSI_PURPLE_REGEX, ANSI_CYAN_REGEX, ANSI_TOKEN_END_REGEX, stripAnsi4 = (str) => str.replace(ANSI_COLOR_REGEX, ""), formatSvelteOutput = (output) => {
|
|
179303
179304
|
const cwd = `${process.cwd()}/`;
|
|
179304
179305
|
const summaryMatch = stripAnsi4(output).match(/svelte-check found (\d+) error/);
|
|
@@ -179350,7 +179351,7 @@ Found ${errorCount} error${suffix}.`;
|
|
|
179350
179351
|
resolve25(import.meta.dir, "../../types", fileName),
|
|
179351
179352
|
resolve25(import.meta.dir, "../../../types", fileName)
|
|
179352
179353
|
];
|
|
179353
|
-
return candidates.find((candidate) =>
|
|
179354
|
+
return candidates.find((candidate) => existsSync40(candidate)) ?? candidates[0];
|
|
179354
179355
|
}, ABSOLUTE_TYPECHECK_FILES, readProjectTsconfig = () => {
|
|
179355
179356
|
try {
|
|
179356
179357
|
return JSON.parse(readFileSync36(resolve25("tsconfig.json"), "utf-8"));
|
|
@@ -180958,7 +180959,7 @@ init_eslint();
|
|
|
180958
180959
|
init_constants();
|
|
180959
180960
|
init_utils();
|
|
180960
180961
|
import { execSync as execSync2 } from "child_process";
|
|
180961
|
-
import { existsSync as
|
|
180962
|
+
import { existsSync as existsSync8, readFileSync as readFileSync9 } from "fs";
|
|
180962
180963
|
import { arch as arch2, cpus, platform as platform3, totalmem, version } from "os";
|
|
180963
180964
|
import { resolve as resolve6 } from "path";
|
|
180964
180965
|
var bold = (str) => `\x1B[1m${str}\x1B[0m`;
|
|
@@ -180993,7 +180994,7 @@ var getAbsoluteVersion = () => {
|
|
|
180993
180994
|
resolve6(import.meta.dir, "..", "..", "package.json"),
|
|
180994
180995
|
resolve6(import.meta.dir, "..", "..", "..", "package.json")
|
|
180995
180996
|
];
|
|
180996
|
-
const pkgPath = candidates.find((candidate) =>
|
|
180997
|
+
const pkgPath = candidates.find((candidate) => existsSync8(candidate));
|
|
180997
180998
|
if (pkgPath)
|
|
180998
180999
|
return readPackageVersion(pkgPath);
|
|
180999
181000
|
} catch {
|
|
@@ -181034,7 +181035,7 @@ var detectCI = () => {
|
|
|
181034
181035
|
};
|
|
181035
181036
|
var isDockerEnvironment = () => {
|
|
181036
181037
|
try {
|
|
181037
|
-
return
|
|
181038
|
+
return existsSync8("/.dockerenv");
|
|
181038
181039
|
} catch {
|
|
181039
181040
|
return false;
|
|
181040
181041
|
}
|
|
@@ -181299,7 +181300,7 @@ init_telemetryEvent();
|
|
|
181299
181300
|
init_serverBundleExternals();
|
|
181300
181301
|
init_utils();
|
|
181301
181302
|
var {env: env2 } = globalThis.Bun;
|
|
181302
|
-
import { existsSync as
|
|
181303
|
+
import { existsSync as existsSync9, readFileSync as readFileSync11, rmSync as rmSync4 } from "fs";
|
|
181303
181304
|
import { basename as basename3, join as join11, resolve as resolve9 } from "path";
|
|
181304
181305
|
var cliTag2 = (color, message) => `\x1B[2m${formatTimestamp()}\x1B[0m ${color}[cli]\x1B[0m ${color}${message}\x1B[0m`;
|
|
181305
181306
|
var resolvePackageVersion = (candidates) => {
|
|
@@ -181363,7 +181364,7 @@ var resolveJsxDevRuntimeCompatPath = () => {
|
|
|
181363
181364
|
resolve9(import.meta.dir, "..", "..", "..", "src", "react", "jsxDevRuntimeCompat.ts")
|
|
181364
181365
|
];
|
|
181365
181366
|
for (const candidate of candidates) {
|
|
181366
|
-
if (
|
|
181367
|
+
if (existsSync9(candidate))
|
|
181367
181368
|
return candidate;
|
|
181368
181369
|
}
|
|
181369
181370
|
return resolve9(import.meta.dir, "..", "..", "react", "jsxDevRuntimeCompat.js");
|
|
@@ -181403,7 +181404,7 @@ var runPreparedServer = async ({
|
|
|
181403
181404
|
serverEntry,
|
|
181404
181405
|
totalDuration
|
|
181405
181406
|
}) => {
|
|
181406
|
-
const usesDocker =
|
|
181407
|
+
const usesDocker = existsSync9(resolve9(COMPOSE_PATH));
|
|
181407
181408
|
const scripts = usesDocker ? await readDbScripts() : null;
|
|
181408
181409
|
if (scripts)
|
|
181409
181410
|
await startDatabase(scripts);
|
|
@@ -181513,7 +181514,7 @@ var start = async (serverEntry, outdir, configPath2, options = {}) => {
|
|
|
181513
181514
|
].filter((val) => Boolean(val));
|
|
181514
181515
|
const outputPath = resolve9(resolvedOutdir, `${entryName}.js`);
|
|
181515
181516
|
if (options.prebuilt) {
|
|
181516
|
-
if (!
|
|
181517
|
+
if (!existsSync9(outputPath)) {
|
|
181517
181518
|
throw new Error(`Prepared production server not found: ${outputPath}`);
|
|
181518
181519
|
}
|
|
181519
181520
|
return runPreparedServer({
|
|
@@ -181634,11 +181635,11 @@ var start = async (serverEntry, outdir, configPath2, options = {}) => {
|
|
|
181634
181635
|
if (!serverBundle.success) {
|
|
181635
181636
|
handleBundleFailure(serverBundle, bundleStart, serverEntry);
|
|
181636
181637
|
}
|
|
181637
|
-
if (!
|
|
181638
|
+
if (!existsSync9(outputPath)) {
|
|
181638
181639
|
console.error(cliTag2("\x1B[31m", `Expected output not found: ${outputPath}`));
|
|
181639
181640
|
process.exit(1);
|
|
181640
181641
|
}
|
|
181641
|
-
if (
|
|
181642
|
+
if (existsSync9(resolve9(resolvedOutdir, "angular", "vendor", "server"))) {
|
|
181642
181643
|
const { readdirSync: readdirSync2 } = await import("fs");
|
|
181643
181644
|
const vendorDir = resolve9(resolvedOutdir, "angular", "vendor", "server");
|
|
181644
181645
|
const vendorEntries = readdirSync2(vendorDir).filter((fileName) => fileName.endsWith(".js"));
|
|
@@ -181698,7 +181699,7 @@ init_getDurationString();
|
|
|
181698
181699
|
init_instanceRegistry();
|
|
181699
181700
|
import {
|
|
181700
181701
|
appendFileSync,
|
|
181701
|
-
existsSync as
|
|
181702
|
+
existsSync as existsSync10,
|
|
181702
181703
|
mkdirSync as mkdirSync7,
|
|
181703
181704
|
readdirSync as readdirSync2,
|
|
181704
181705
|
readFileSync as readFileSync12,
|
|
@@ -182269,7 +182270,7 @@ var createWorkspaceTui = ({
|
|
|
182269
182270
|
// src/cli/scripts/workspace.ts
|
|
182270
182271
|
init_utils();
|
|
182271
182272
|
var sourceServerBootstrap2 = resolve10(import.meta.dir, "../../dev/serverBootstrap.ts");
|
|
182272
|
-
var serverBootstrap2 =
|
|
182273
|
+
var serverBootstrap2 = existsSync10(sourceServerBootstrap2) ? sourceServerBootstrap2 : resolve10(import.meta.dir, "../dev/serverBootstrap.js");
|
|
182273
182274
|
var ANSI_REGEX2 = new RegExp(`${String.fromCharCode(ANSI_ESCAPE_CODE)}\\[[0-?]*[ -/]*[@-~]`, "g");
|
|
182274
182275
|
var sleep = (durationMs) => Bun.sleep(durationMs);
|
|
182275
182276
|
var stripAnsi3 = (value) => value.replace(ANSI_REGEX2, "");
|
|
@@ -182916,7 +182917,7 @@ var workspace = async (subcommand, options) => {
|
|
|
182916
182917
|
const resolved = resolveService(name, service, workspaceEnv, options);
|
|
182917
182918
|
const port = resolveWorkspaceServicePort(resolved.service, resolved.env);
|
|
182918
182919
|
killStaleServicePort(port);
|
|
182919
|
-
if (isAbsoluteService(resolved.service) && resolved.configPath && !
|
|
182920
|
+
if (isAbsoluteService(resolved.service) && resolved.configPath && !existsSync10(resolved.configPath)) {
|
|
182920
182921
|
throw new Error(`${name} references missing config "${resolved.configPath}"`);
|
|
182921
182922
|
}
|
|
182922
182923
|
serviceBootStartedAt.set(name, performance.now());
|