prodex 1.4.11 → 2.0.1
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/LICENSE +20 -20
- package/README.md +240 -234
- package/bin/prodex.js +0 -0
- package/dist/app/execute-run.d.ts +2 -0
- package/dist/app/execute-run.js +74 -0
- package/dist/app/project-context.d.ts +12 -0
- package/dist/app/project-context.js +48 -0
- package/dist/app/run-plans.d.ts +11 -0
- package/dist/app/run-plans.js +61 -0
- package/dist/cache/cache-keys.d.ts +9 -0
- package/dist/cache/cache-manager.d.ts +9 -0
- package/dist/{core/managers/cache.js → cache/cache-manager.js} +5 -18
- package/dist/cli/cli-input.d.ts +2 -0
- package/dist/cli/cli-input.js +138 -124
- package/dist/cli/flag-specs.d.ts +12 -0
- package/dist/cli/flag-specs.js +28 -0
- package/dist/cli/help.d.ts +2 -0
- package/dist/cli/help.js +83 -0
- package/dist/cli/report-command.d.ts +2 -0
- package/dist/cli/report-command.js +101 -0
- package/dist/cli/reporter.d.ts +2 -0
- package/dist/cli/reporter.js +8 -0
- package/dist/commands/init-command.d.ts +1 -0
- package/dist/commands/init-command.js +9 -0
- package/dist/commands/migrate-command.d.ts +7 -0
- package/dist/commands/migrate-command.js +76 -0
- package/dist/commands/profiles-command.d.ts +6 -0
- package/dist/commands/profiles-command.js +16 -0
- package/dist/commands/run-command.d.ts +11 -0
- package/dist/commands/run-command.js +17 -0
- package/dist/config/build-config.d.ts +13 -0
- package/dist/config/build-config.js +127 -0
- package/dist/config/create-default-config.d.ts +9 -0
- package/dist/config/create-default-config.js +25 -0
- package/dist/config/default-config.d.ts +2 -0
- package/dist/config/default-config.js +23 -0
- package/dist/config/json.d.ts +2 -0
- package/dist/config/json.js +10 -0
- package/dist/config/load.d.ts +9 -0
- package/dist/config/load.js +48 -0
- package/dist/config/migration/detect.d.ts +4 -0
- package/dist/config/migration/detect.js +22 -0
- package/dist/config/migration/index.d.ts +4 -0
- package/dist/{shared → config/migration}/index.js +4 -3
- package/dist/config/migration/messages.d.ts +2 -0
- package/dist/config/migration/messages.js +35 -0
- package/dist/config/migration/transform.d.ts +2 -0
- package/dist/config/migration/transform.js +80 -0
- package/dist/config/migration/types.d.ts +16 -0
- package/dist/config/string-list.d.ts +2 -0
- package/dist/config/string-list.js +17 -0
- package/dist/diagnostics/logger.d.ts +3 -0
- package/dist/diagnostics/logger.js +33 -0
- package/dist/filesystem/glob-scan.d.ts +4 -0
- package/dist/filesystem/glob-scan.js +26 -0
- package/dist/filesystem/inspect.d.ts +1 -0
- package/dist/filesystem/inspect.js +15 -0
- package/dist/filesystem/path.d.ts +2 -0
- package/dist/filesystem/path.js +11 -0
- package/dist/filesystem/read-file.d.ts +8 -0
- package/dist/{shared/io.js → filesystem/read-file.js} +0 -25
- package/dist/filesystem/stat-cache.d.ts +1 -0
- package/dist/filesystem/stat-cache.js +22 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +76 -83
- package/dist/output/markdown.d.ts +12 -0
- package/dist/output/markdown.js +150 -0
- package/dist/output/naming.d.ts +2 -0
- package/dist/output/naming.js +30 -0
- package/dist/output/produce-output.d.ts +2 -0
- package/dist/output/produce-output.js +35 -0
- package/dist/output/render-constants.d.ts +21 -0
- package/dist/{constants → output}/render-constants.js +2 -1
- package/dist/output/text.d.ts +2 -0
- package/dist/output/text.js +14 -0
- package/dist/resolvers/js/extract-imports.d.ts +1 -0
- package/dist/resolvers/js/js-resolver.d.ts +2 -0
- package/dist/resolvers/js/js-resolver.js +45 -89
- package/dist/resolvers/js/resolve-alias.d.ts +2 -0
- package/dist/resolvers/js/resolve-alias.js +12 -20
- package/dist/resolvers/php/bindings.d.ts +8 -0
- package/dist/resolvers/php/bindings.js +8 -9
- package/dist/resolvers/php/extract-imports.d.ts +13 -0
- package/dist/resolvers/php/extract-imports.js +1 -1
- package/dist/resolvers/php/php-resolver.d.ts +2 -0
- package/dist/resolvers/php/php-resolver.js +61 -90
- package/dist/resolvers/php/psr4.d.ts +5 -0
- package/dist/resolvers/php/psr4.js +7 -7
- package/dist/resolvers/resolver-constants.d.ts +4 -0
- package/dist/resolvers/resolver-constants.js +7 -0
- package/dist/resolvers/resolver-result.d.ts +5 -0
- package/dist/resolvers/resolver-result.js +18 -0
- package/dist/tracing/exclude.d.ts +6 -0
- package/dist/{shared/patterns.js → tracing/exclude.js} +4 -4
- package/dist/tracing/follow-chain.d.ts +5 -0
- package/dist/tracing/follow-chain.js +63 -0
- package/dist/tracing/include-files.d.ts +2 -0
- package/dist/tracing/include-files.js +36 -0
- package/dist/tracing/resolver-registry.d.ts +5 -0
- package/dist/tracing/resolver-registry.js +20 -0
- package/dist/tracing/trace-run.d.ts +2 -0
- package/dist/tracing/trace-run.js +21 -0
- package/dist/tracing/trace-stats.d.ts +4 -0
- package/dist/tracing/trace-stats.js +16 -0
- package/dist/types/app.types.d.ts +62 -0
- package/dist/types/app.types.js +2 -0
- package/dist/types/cli.types.d.ts +22 -0
- package/dist/types/cli.types.js +0 -10
- package/dist/types/config.types.d.ts +34 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.js +3 -1
- package/dist/types/output.types.d.ts +6 -0
- package/dist/types/output.types.js +2 -0
- package/dist/types/resolver.types.d.ts +23 -0
- package/dist/types/tracing.types.d.ts +23 -0
- package/dist/types/tracing.types.js +2 -0
- package/dist/types/utils.types.d.ts +10 -0
- package/package.json +35 -12
- package/schema/prodex.schema.json +122 -0
- package/dist/cli/init.js +0 -21
- package/dist/cli/picker.js +0 -83
- package/dist/cli/summary.js +0 -32
- package/dist/constants/config.js +0 -27
- package/dist/constants/default-config.js +0 -43
- package/dist/constants/flags.js +0 -79
- package/dist/constants/index.js +0 -20
- package/dist/core/combine.js +0 -56
- package/dist/core/dependency.js +0 -98
- package/dist/core/helpers.js +0 -85
- package/dist/core/managers/config.js +0 -140
- package/dist/core/output.js +0 -49
- package/dist/core/renderers.js +0 -210
- package/dist/debug.js +0 -15
- package/dist/lib/logger.js +0 -42
- package/dist/lib/polyfills.js +0 -17
- package/dist/lib/prompt.js +0 -34
- package/dist/lib/questions.js +0 -28
- package/dist/lib/utils.js +0 -46
- package/dist/shared/collections.js +0 -33
- package/dist/store.js +0 -15
- /package/dist/{constants → cache}/cache-keys.js +0 -0
- /package/dist/{types/core.types.js → config/migration/types.js} +0 -0
package/dist/lib/prompt.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.prompt = prompt;
|
|
7
|
-
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
|
-
const logger_1 = require("./logger");
|
|
9
|
-
/**
|
|
10
|
-
* 🧩 prompt()
|
|
11
|
-
* Unified and safe wrapper for inquirer.prompt()
|
|
12
|
-
*
|
|
13
|
-
* - Requires explicit `showUi` flag (no env auto-detection).
|
|
14
|
-
* - Returns `null` or `fallback` on failure or disabled UI.
|
|
15
|
-
* - Handles TTY errors and user cancellations gracefully.
|
|
16
|
-
*/
|
|
17
|
-
async function prompt(questions, fallback) {
|
|
18
|
-
try {
|
|
19
|
-
const answers = (await inquirer_1.default.prompt(questions));
|
|
20
|
-
return answers;
|
|
21
|
-
}
|
|
22
|
-
catch (err) {
|
|
23
|
-
if (err?.isTtyError) {
|
|
24
|
-
logger_1.logger.warn("Interactive prompts not supported (no TTY).");
|
|
25
|
-
}
|
|
26
|
-
else if (/canceled|aborted/i.test(err?.message)) {
|
|
27
|
-
logger_1.logger.warn("Prompt canceled by user.");
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
logger_1.logger.error("Prompt failed:", err.message || err);
|
|
31
|
-
}
|
|
32
|
-
return fallback ?? null;
|
|
33
|
-
}
|
|
34
|
-
}
|
package/dist/lib/questions.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PICK_ENTRIES_QUESTION = exports.OUTPUT_NAME_QUESTION = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* 🧩 Centralized Inquirer question definitions.
|
|
6
|
-
* Each export is a named, reusable question set.
|
|
7
|
-
*/
|
|
8
|
-
/** Ask for the output filename (used in produceOutput). */
|
|
9
|
-
exports.OUTPUT_NAME_QUESTION = [
|
|
10
|
-
{
|
|
11
|
-
type: "input",
|
|
12
|
-
name: "outputBase",
|
|
13
|
-
message: "Output file name (without extension):",
|
|
14
|
-
default: "combined",
|
|
15
|
-
filter: (v) => v.trim().replace(/[<>:\"/\\|?*]+/g, "_") || "combined",
|
|
16
|
-
},
|
|
17
|
-
];
|
|
18
|
-
const PICK_ENTRIES_QUESTION = (choices, depth) => [
|
|
19
|
-
{
|
|
20
|
-
type: "checkbox",
|
|
21
|
-
name: "picks",
|
|
22
|
-
message: `Select entry files (depth ${depth})`,
|
|
23
|
-
choices,
|
|
24
|
-
loop: false,
|
|
25
|
-
pageSize: 20,
|
|
26
|
-
},
|
|
27
|
-
];
|
|
28
|
-
exports.PICK_ENTRIES_QUESTION = PICK_ENTRIES_QUESTION;
|
package/dist/lib/utils.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.shortTimestamp = shortTimestamp;
|
|
4
|
-
exports.normalizePatterns = normalizePatterns;
|
|
5
|
-
exports.ArrisEmpty = ArrisEmpty;
|
|
6
|
-
exports.toJson = toJson;
|
|
7
|
-
const config_1 = require("../constants/config");
|
|
8
|
-
/** Compact YYMMDD-HHmm timestamp for versioned filenames. */
|
|
9
|
-
function shortTimestamp() {
|
|
10
|
-
const d = new Date();
|
|
11
|
-
const yy = String(d.getFullYear()).slice(-2);
|
|
12
|
-
const MM = String(d.getMonth() + 1).padStart(2, "0");
|
|
13
|
-
const dd = String(d.getDate()).padStart(2, "0");
|
|
14
|
-
const hh = String(d.getHours()).padStart(2, "0");
|
|
15
|
-
const mm = String(d.getMinutes()).padStart(2, "0");
|
|
16
|
-
return `${yy}${MM}${dd}-${hh}${mm}`;
|
|
17
|
-
}
|
|
18
|
-
function normalizePatterns(input) {
|
|
19
|
-
if (!input)
|
|
20
|
-
return [];
|
|
21
|
-
let arr;
|
|
22
|
-
if (typeof input === "string") {
|
|
23
|
-
arr = input.split(",").map((s) => s.trim());
|
|
24
|
-
}
|
|
25
|
-
else if (Array.isArray(input)) {
|
|
26
|
-
arr = input.map((s) => (typeof s === "string" ? s.trim() : ""));
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
return [];
|
|
30
|
-
}
|
|
31
|
-
return arr
|
|
32
|
-
.filter((s) => s.length > 0)
|
|
33
|
-
.map((s) => s.replace(/\\/g, "/")) // normalize slashes
|
|
34
|
-
.filter((s) => {
|
|
35
|
-
const valid = config_1.VALID_GLOB_CHARS.test(s);
|
|
36
|
-
if (!valid)
|
|
37
|
-
console.warn(`⚠️ Invalid glob pattern skipped: "${s}"`);
|
|
38
|
-
return valid;
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
function ArrisEmpty(arr) {
|
|
42
|
-
return !arr || Array.isArray(arr) && arr.length === 0;
|
|
43
|
-
}
|
|
44
|
-
function toJson(obj) {
|
|
45
|
-
return JSON.stringify(obj, null, 4);
|
|
46
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.newStats = newStats;
|
|
4
|
-
exports.mergeStats = mergeStats;
|
|
5
|
-
exports.setDiff = setDiff;
|
|
6
|
-
exports.unique = unique;
|
|
7
|
-
exports.emptyResult = emptyResult;
|
|
8
|
-
function newStats() {
|
|
9
|
-
return { expected: new Set(), resolved: new Set() };
|
|
10
|
-
}
|
|
11
|
-
function mergeStats(target, src) {
|
|
12
|
-
src.expected.forEach((i) => target.expected.add(i));
|
|
13
|
-
src.resolved.forEach((i) => target.resolved.add(i));
|
|
14
|
-
return target;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Returns a new Set of elements present in A but not in B.
|
|
18
|
-
* Used to detect unresolved imports in JS and PHP resolvers.
|
|
19
|
-
*/
|
|
20
|
-
function setDiff(A, B) {
|
|
21
|
-
return new Set([...A].filter((x) => !B.has(x)));
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Removes duplicates from an array.
|
|
25
|
-
* Stateless helper used across resolvers and dependency chain.
|
|
26
|
-
*/
|
|
27
|
-
function unique(arr) {
|
|
28
|
-
return [...new Set(arr)];
|
|
29
|
-
}
|
|
30
|
-
/** Empty result helper */
|
|
31
|
-
function emptyResult(visited) {
|
|
32
|
-
return { files: [], visited, stats: { expected: new Set(), resolved: new Set() } };
|
|
33
|
-
} // ---------------------------------------------------------
|
package/dist/store.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getFlags = exports.getConfig = void 0;
|
|
4
|
-
exports.setGlobals = setGlobals;
|
|
5
|
-
let globalConfig = null;
|
|
6
|
-
let globalFlags = null;
|
|
7
|
-
function setGlobals(cfg, flags) {
|
|
8
|
-
globalConfig = cfg;
|
|
9
|
-
globalFlags = flags;
|
|
10
|
-
globalThis.__PRODEX__ = Object.freeze({ config: cfg, flags });
|
|
11
|
-
}
|
|
12
|
-
const getConfig = () => globalConfig || globalThis.__PRODEX__?.config;
|
|
13
|
-
exports.getConfig = getConfig;
|
|
14
|
-
const getFlags = () => globalFlags || globalThis.__PRODEX__?.flags;
|
|
15
|
-
exports.getFlags = getFlags;
|
|
File without changes
|
|
File without changes
|