@neat.is/core 0.3.6 → 0.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-4ASCXBZF.js → chunk-75IBA4UL.js} +34 -5
- package/dist/chunk-75IBA4UL.js.map +1 -0
- package/dist/{chunk-G3PDTGOW.js → chunk-CY67YKNO.js} +2 -2
- package/dist/{chunk-YHQYHFI3.js → chunk-EDHOCFOG.js} +86 -14
- package/dist/chunk-EDHOCFOG.js.map +1 -0
- package/dist/cli.cjs +93 -5
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +62 -3
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +117 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +23 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.js +3 -3
- package/dist/neatd.cjs +117 -16
- package/dist/neatd.cjs.map +1 -1
- package/dist/neatd.js +2 -2
- package/dist/{otel-grpc-J4O2SIBZ.js → otel-grpc-PM4SWPZE.js} +3 -3
- package/dist/server.cjs +33 -4
- package/dist/server.cjs.map +1 -1
- package/dist/server.js +2 -2
- package/package.json +2 -2
- package/dist/chunk-4ASCXBZF.js.map +0 -1
- package/dist/chunk-YHQYHFI3.js.map +0 -1
- /package/dist/{chunk-G3PDTGOW.js.map → chunk-CY67YKNO.js.map} +0 -0
- /package/dist/{otel-grpc-J4O2SIBZ.js.map → otel-grpc-PM4SWPZE.js.map} +0 -0
package/dist/cli.js
CHANGED
|
@@ -42,10 +42,10 @@ import {
|
|
|
42
42
|
} from "./chunk-ZU2RQRCN.js";
|
|
43
43
|
import {
|
|
44
44
|
startOtelGrpcReceiver
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-CY67YKNO.js";
|
|
46
46
|
import {
|
|
47
47
|
buildOtelReceiver
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-75IBA4UL.js";
|
|
49
49
|
|
|
50
50
|
// src/cli.ts
|
|
51
51
|
import path4 from "path";
|
|
@@ -484,7 +484,48 @@ async function detect(serviceDir) {
|
|
|
484
484
|
const pkg = await readPackageJson(serviceDir);
|
|
485
485
|
return pkg !== null && typeof pkg.name === "string";
|
|
486
486
|
}
|
|
487
|
-
var
|
|
487
|
+
var INDEX_EXTENSIONS = [".ts", ".tsx", ".js", ".mjs", ".cjs"];
|
|
488
|
+
var INDEX_CANDIDATES = INDEX_EXTENSIONS.map((ext) => `index${ext}`);
|
|
489
|
+
var SRC_INDEX_CANDIDATES = INDEX_EXTENSIONS.map((ext) => `src/index${ext}`);
|
|
490
|
+
var SRC_NAMED_CANDIDATES = ["server", "main", "app"].flatMap(
|
|
491
|
+
(name) => INDEX_EXTENSIONS.map((ext) => `src/${name}${ext}`)
|
|
492
|
+
);
|
|
493
|
+
var SCRIPT_LAUNCHERS = /* @__PURE__ */ new Set([
|
|
494
|
+
"node",
|
|
495
|
+
"ts-node",
|
|
496
|
+
"tsx",
|
|
497
|
+
"ts-node-dev",
|
|
498
|
+
"nodemon",
|
|
499
|
+
"npx",
|
|
500
|
+
"pnpm",
|
|
501
|
+
"yarn",
|
|
502
|
+
"npm",
|
|
503
|
+
"cross-env",
|
|
504
|
+
"dotenv",
|
|
505
|
+
"--"
|
|
506
|
+
]);
|
|
507
|
+
function looksLikeEntryPath(token) {
|
|
508
|
+
if (token.length === 0) return false;
|
|
509
|
+
if (token.startsWith("-")) return false;
|
|
510
|
+
if (token.includes("=")) return false;
|
|
511
|
+
if (token.includes("/")) return true;
|
|
512
|
+
return /\.(?:m?[jt]sx?|c[jt]s)$/.test(token);
|
|
513
|
+
}
|
|
514
|
+
function scriptHasShellChain(script) {
|
|
515
|
+
return /(?:&&|\|\||;|\|(?!\|))/.test(script);
|
|
516
|
+
}
|
|
517
|
+
function entryFromScript(script) {
|
|
518
|
+
if (!script) return void 0;
|
|
519
|
+
if (scriptHasShellChain(script)) return void 0;
|
|
520
|
+
const tokens = script.split(/\s+/).filter((t) => t.length > 0);
|
|
521
|
+
for (const token of tokens) {
|
|
522
|
+
const lower = token.toLowerCase();
|
|
523
|
+
if (SCRIPT_LAUNCHERS.has(lower)) continue;
|
|
524
|
+
const cleaned = token.startsWith("./") ? token.slice(2) : token;
|
|
525
|
+
if (looksLikeEntryPath(cleaned)) return cleaned;
|
|
526
|
+
}
|
|
527
|
+
return void 0;
|
|
528
|
+
}
|
|
488
529
|
async function resolveEntry(serviceDir, pkg) {
|
|
489
530
|
if (typeof pkg.main === "string" && pkg.main.length > 0) {
|
|
490
531
|
const candidate = path2.resolve(serviceDir, pkg.main);
|
|
@@ -505,6 +546,24 @@ async function resolveEntry(serviceDir, pkg) {
|
|
|
505
546
|
if (await exists(candidate)) return candidate;
|
|
506
547
|
}
|
|
507
548
|
}
|
|
549
|
+
const startEntry = entryFromScript(pkg.scripts?.start);
|
|
550
|
+
if (startEntry) {
|
|
551
|
+
const candidate = path2.resolve(serviceDir, startEntry);
|
|
552
|
+
if (await exists(candidate)) return candidate;
|
|
553
|
+
}
|
|
554
|
+
const devEntry = entryFromScript(pkg.scripts?.dev);
|
|
555
|
+
if (devEntry) {
|
|
556
|
+
const candidate = path2.resolve(serviceDir, devEntry);
|
|
557
|
+
if (await exists(candidate)) return candidate;
|
|
558
|
+
}
|
|
559
|
+
for (const rel of SRC_INDEX_CANDIDATES) {
|
|
560
|
+
const candidate = path2.join(serviceDir, rel);
|
|
561
|
+
if (await exists(candidate)) return candidate;
|
|
562
|
+
}
|
|
563
|
+
for (const rel of SRC_NAMED_CANDIDATES) {
|
|
564
|
+
const candidate = path2.join(serviceDir, rel);
|
|
565
|
+
if (await exists(candidate)) return candidate;
|
|
566
|
+
}
|
|
508
567
|
for (const name of INDEX_CANDIDATES) {
|
|
509
568
|
const candidate = path2.join(serviceDir, name);
|
|
510
569
|
if (await exists(candidate)) return candidate;
|