@chris-lally/cli 0.1.0-alpha.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 +7 -0
- package/README.md +30 -0
- package/dist/bin/lally.d.ts +3 -0
- package/dist/bin/lally.d.ts.map +1 -0
- package/dist/bin/lally.js +10 -0
- package/dist/bin/lally.js.map +1 -0
- package/dist/commands/add.d.ts +2 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/add.js +26 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +28 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/release.d.ts +2 -0
- package/dist/commands/release.d.ts.map +1 -0
- package/dist/commands/release.js +274 -0
- package/dist/commands/release.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +50 -0
- package/dist/main.js.map +1 -0
- package/package.json +35 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Copyright (c) 2026 Christopher Lally (https://github.com/chrislally)
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
4
|
+
|
|
5
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
6
|
+
|
|
7
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# @chris-lally/cli
|
|
2
|
+
|
|
3
|
+
CLI for the `@chris-lally/*` ecosystem.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm add -D @chris-lally/cli
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
or run with `pnpm dlx`:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
pnpm dlx @chris-lally/cli@alpha --help
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Commands
|
|
18
|
+
|
|
19
|
+
- `lally init`
|
|
20
|
+
- `lally add <namespace/item>`
|
|
21
|
+
- `lally release <target> --tag <tag> [--dry-run] [--json]`
|
|
22
|
+
|
|
23
|
+
Example:
|
|
24
|
+
|
|
25
|
+
- `lally add fumadocs/sidebar-history`
|
|
26
|
+
- `lally release fumadocs --tag alpha --dry-run`
|
|
27
|
+
|
|
28
|
+
## License
|
|
29
|
+
|
|
30
|
+
MIT. See `LICENSE`.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lally.d.ts","sourceRoot":"","sources":["../../src/bin/lally.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const main_1 = require("../main");
|
|
5
|
+
(0, main_1.runCli)(process.argv.slice(2)).catch((error) => {
|
|
6
|
+
console.error("Unexpected CLI error");
|
|
7
|
+
console.error(error);
|
|
8
|
+
process.exit(1);
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=lally.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lally.js","sourceRoot":"","sources":["../../src/bin/lally.ts"],"names":[],"mappings":";;;AAEA,kCAAiC;AAEjC,IAAA,aAAM,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IACrD,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACtC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAEA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,iBAuBjD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runAddCommand = runAddCommand;
|
|
4
|
+
const SUPPORTED_ITEMS = new Set(["fumadocs/sidebar-history"]);
|
|
5
|
+
async function runAddCommand(args) {
|
|
6
|
+
const item = args[0];
|
|
7
|
+
if (!item) {
|
|
8
|
+
console.error("Missing item name.");
|
|
9
|
+
console.log("Usage: lally add <namespace/item>");
|
|
10
|
+
process.exitCode = 1;
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
if (!SUPPORTED_ITEMS.has(item)) {
|
|
14
|
+
console.error(`Unsupported item: ${item}`);
|
|
15
|
+
console.log(`Supported items: ${Array.from(SUPPORTED_ITEMS).join(", ")}`);
|
|
16
|
+
process.exitCode = 1;
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (item === "fumadocs/sidebar-history") {
|
|
20
|
+
console.log("Add flow placeholder:");
|
|
21
|
+
console.log("- install @chris-lally/fumadocs");
|
|
22
|
+
console.log("- wire SidebarHistoryBanner into docs layout sidebar.banner");
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=add.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":";;AAEA,sCAuBC;AAzBD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;AAEvD,KAAK,UAAU,aAAa,CAAC,IAAc;IAChD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAErB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,KAAK,0BAA0B,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAGA,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,iBAoBnD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
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.runInitCommand = runInitCommand;
|
|
7
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
async function runInitCommand(_args) {
|
|
10
|
+
const cwd = process.cwd();
|
|
11
|
+
const lallyConfigPath = node_path_1.default.join(cwd, "lally.config.json");
|
|
12
|
+
const config = {
|
|
13
|
+
schema: "https://lally.dev/schemas/config.json",
|
|
14
|
+
uiLibrary: "radix-ui",
|
|
15
|
+
generatedBy: "@chris-lally/cli",
|
|
16
|
+
};
|
|
17
|
+
try {
|
|
18
|
+
await promises_1.default.access(lallyConfigPath);
|
|
19
|
+
console.log("lally.config.json already exists");
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
// file does not exist yet
|
|
24
|
+
}
|
|
25
|
+
await promises_1.default.writeFile(lallyConfigPath, `${JSON.stringify(config, null, 2)}\n`, "utf8");
|
|
26
|
+
console.log("Created lally.config.json");
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;AAGA,wCAoBC;AAvBD,gEAAkC;AAClC,0DAA6B;AAEtB,KAAK,UAAU,cAAc,CAAC,KAAe;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,eAAe,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,uCAAuC;QAC/C,SAAS,EAAE,UAAU;QACrB,WAAW,EAAE,kBAAkB;KAChC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,kBAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAAC,MAAM,CAAC;QACP,0BAA0B;IAC5B,CAAC;IAED,MAAM,kBAAE,CAAC,SAAS,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../src/commands/release.ts"],"names":[],"mappings":"AAqLA,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAsIpG"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runReleaseCommand = runReleaseCommand;
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const promises_1 = require("node:fs/promises");
|
|
6
|
+
const node_path_1 = require("node:path");
|
|
7
|
+
const node_child_process_1 = require("node:child_process");
|
|
8
|
+
function releaseHelp() {
|
|
9
|
+
return [
|
|
10
|
+
"Usage:",
|
|
11
|
+
" lally release <target> --tag <tag> [--dry-run] [--json]",
|
|
12
|
+
"",
|
|
13
|
+
"Targets:",
|
|
14
|
+
" fumadocs Publish @chris-lally/fumadocs",
|
|
15
|
+
" cli Publish @chris-lally/cli",
|
|
16
|
+
"",
|
|
17
|
+
"Examples:",
|
|
18
|
+
" lally release fumadocs --tag alpha --dry-run",
|
|
19
|
+
" lally release fumadocs --tag alpha --json",
|
|
20
|
+
"",
|
|
21
|
+
"Auth resolution (first match wins):",
|
|
22
|
+
" 1) NPM_CONFIG_USERCONFIG env var (explicit path)",
|
|
23
|
+
" 2) <repo>/.npmrc.publish",
|
|
24
|
+
" 3) <repo>/.npmrc",
|
|
25
|
+
" 4) default npm user config (e.g. ~/.npmrc from npm login)",
|
|
26
|
+
"",
|
|
27
|
+
"NPM_TOKEN can be provided via shell env or repo .env.",
|
|
28
|
+
].join("\n");
|
|
29
|
+
}
|
|
30
|
+
function parseArgs(argv) {
|
|
31
|
+
const [command, ...rest] = argv;
|
|
32
|
+
const flags = new Map();
|
|
33
|
+
for (let i = 0; i < rest.length; i += 1) {
|
|
34
|
+
const token = rest[i];
|
|
35
|
+
if (!token || !token.startsWith("--"))
|
|
36
|
+
continue;
|
|
37
|
+
const key = token.slice(2);
|
|
38
|
+
const next = rest[i + 1];
|
|
39
|
+
if (next && !next.startsWith("--")) {
|
|
40
|
+
flags.set(key, next);
|
|
41
|
+
i += 1;
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
flags.set(key, true);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return { command, flags };
|
|
48
|
+
}
|
|
49
|
+
function getStringFlag(flags, key) {
|
|
50
|
+
const value = flags.get(key);
|
|
51
|
+
return typeof value === "string" ? value : null;
|
|
52
|
+
}
|
|
53
|
+
function hasFlag(flags, key) {
|
|
54
|
+
return Boolean(flags.get(key));
|
|
55
|
+
}
|
|
56
|
+
function findRepoRoot(startDir) {
|
|
57
|
+
let dir = (0, node_path_1.resolve)(startDir);
|
|
58
|
+
for (let i = 0; i < 24; i += 1) {
|
|
59
|
+
if ((0, node_fs_1.existsSync)((0, node_path_1.join)(dir, "pnpm-workspace.yaml")))
|
|
60
|
+
return dir;
|
|
61
|
+
const parent = (0, node_path_1.resolve)(dir, "..");
|
|
62
|
+
if (parent === dir)
|
|
63
|
+
break;
|
|
64
|
+
dir = parent;
|
|
65
|
+
}
|
|
66
|
+
throw new Error("Could not find repo root (missing pnpm-workspace.yaml).");
|
|
67
|
+
}
|
|
68
|
+
function parseSemver(version) {
|
|
69
|
+
const match = version.match(/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/);
|
|
70
|
+
if (!match)
|
|
71
|
+
throw new Error(`Unsupported semver format: ${version}`);
|
|
72
|
+
return {
|
|
73
|
+
major: Number(match[1]),
|
|
74
|
+
minor: Number(match[2]),
|
|
75
|
+
patch: Number(match[3]),
|
|
76
|
+
prerelease: match[4] ?? null,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function nextTaggedVersion(currentVersion, tag) {
|
|
80
|
+
const parsed = parseSemver(currentVersion);
|
|
81
|
+
if (parsed.prerelease && parsed.prerelease.startsWith(`${tag}.`)) {
|
|
82
|
+
const n = Number(parsed.prerelease.slice(tag.length + 1));
|
|
83
|
+
if (Number.isInteger(n) && n >= 0) {
|
|
84
|
+
return `${parsed.major}.${parsed.minor}.${parsed.patch}-${tag}.${n + 1}`;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return `${parsed.major}.${parsed.minor}.${parsed.patch + 1}-${tag}.0`;
|
|
88
|
+
}
|
|
89
|
+
function parseSimpleDotEnv(content) {
|
|
90
|
+
const out = {};
|
|
91
|
+
const lines = content.split(/\r?\n/);
|
|
92
|
+
for (const line of lines) {
|
|
93
|
+
const trimmed = line.trim();
|
|
94
|
+
if (!trimmed || trimmed.startsWith("#"))
|
|
95
|
+
continue;
|
|
96
|
+
const eq = trimmed.indexOf("=");
|
|
97
|
+
if (eq <= 0)
|
|
98
|
+
continue;
|
|
99
|
+
const key = trimmed.slice(0, eq).trim();
|
|
100
|
+
let value = trimmed.slice(eq + 1).trim();
|
|
101
|
+
if ((value.startsWith("\"") && value.endsWith("\"")) || (value.startsWith("'") && value.endsWith("'"))) {
|
|
102
|
+
value = value.slice(1, -1);
|
|
103
|
+
}
|
|
104
|
+
out[key] = value;
|
|
105
|
+
}
|
|
106
|
+
return out;
|
|
107
|
+
}
|
|
108
|
+
async function loadRootEnv(repoRoot) {
|
|
109
|
+
const envPath = (0, node_path_1.resolve)(repoRoot, ".env");
|
|
110
|
+
let content = "";
|
|
111
|
+
try {
|
|
112
|
+
content = await (0, promises_1.readFile)(envPath, "utf8");
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
const values = parseSimpleDotEnv(content);
|
|
118
|
+
for (const [key, value] of Object.entries(values)) {
|
|
119
|
+
if (process.env[key] == null || process.env[key] === "") {
|
|
120
|
+
process.env[key] = value;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function runOrThrow(command, args, cwd, extraEnv) {
|
|
125
|
+
const result = (0, node_child_process_1.spawnSync)(command, args, {
|
|
126
|
+
cwd,
|
|
127
|
+
stdio: "inherit",
|
|
128
|
+
env: {
|
|
129
|
+
...process.env,
|
|
130
|
+
...extraEnv,
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
if (result.status !== 0) {
|
|
134
|
+
throw new Error(`Command failed: ${command} ${args.join(" ")}`);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
function resolveTargetDir(repoRoot, target) {
|
|
138
|
+
if (target === "fumadocs")
|
|
139
|
+
return (0, node_path_1.resolve)(repoRoot, "packages/fumadocs");
|
|
140
|
+
return (0, node_path_1.resolve)(repoRoot, "packages/cli");
|
|
141
|
+
}
|
|
142
|
+
function parseTarget(value) {
|
|
143
|
+
if (value === "fumadocs" || value === "cli")
|
|
144
|
+
return value;
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
function printJson(value) {
|
|
148
|
+
console.log(JSON.stringify(value, null, 2));
|
|
149
|
+
}
|
|
150
|
+
async function runReleaseCommand(command, args) {
|
|
151
|
+
if (!command || command === "--help" || command === "help") {
|
|
152
|
+
console.log(releaseHelp());
|
|
153
|
+
return 0;
|
|
154
|
+
}
|
|
155
|
+
const target = parseTarget(command);
|
|
156
|
+
if (!target) {
|
|
157
|
+
console.error(`Unknown release target: ${command}`);
|
|
158
|
+
console.error(releaseHelp());
|
|
159
|
+
return 1;
|
|
160
|
+
}
|
|
161
|
+
const { flags } = parseArgs([command, ...args]);
|
|
162
|
+
const tag = getStringFlag(flags, "tag");
|
|
163
|
+
if (!tag) {
|
|
164
|
+
throw new Error("Missing required flag: --tag");
|
|
165
|
+
}
|
|
166
|
+
const dryRun = hasFlag(flags, "dry-run");
|
|
167
|
+
const json = hasFlag(flags, "json");
|
|
168
|
+
const repoRoot = findRepoRoot(process.cwd());
|
|
169
|
+
await loadRootEnv(repoRoot);
|
|
170
|
+
const packageDir = resolveTargetDir(repoRoot, target);
|
|
171
|
+
const packageJsonPath = (0, node_path_1.resolve)(packageDir, "package.json");
|
|
172
|
+
const originalPackageJsonText = await (0, promises_1.readFile)(packageJsonPath, "utf8");
|
|
173
|
+
const packageJson = JSON.parse(originalPackageJsonText);
|
|
174
|
+
if (!packageJson.name || typeof packageJson.name !== "string") {
|
|
175
|
+
throw new Error(`Missing or invalid package name at ${packageJsonPath}`);
|
|
176
|
+
}
|
|
177
|
+
if (!packageJson.version || typeof packageJson.version !== "string") {
|
|
178
|
+
throw new Error(`Missing or invalid package version at ${packageJsonPath}`);
|
|
179
|
+
}
|
|
180
|
+
if (packageJson.private === true) {
|
|
181
|
+
throw new Error(`Cannot publish: ${packageJson.name} is marked private=true.`);
|
|
182
|
+
}
|
|
183
|
+
const nextVersion = nextTaggedVersion(packageJson.version, tag);
|
|
184
|
+
const nextSpec = `${packageJson.name}@${nextVersion}`;
|
|
185
|
+
const publishNpmRcPath = (0, node_path_1.resolve)(repoRoot, ".npmrc.publish");
|
|
186
|
+
const repoNpmRcPath = (0, node_path_1.resolve)(repoRoot, ".npmrc");
|
|
187
|
+
const explicitUserConfig = process.env.NPM_CONFIG_USERCONFIG ?? null;
|
|
188
|
+
const npmUserConfigPath = explicitUserConfig
|
|
189
|
+
? explicitUserConfig
|
|
190
|
+
: ((0, node_fs_1.existsSync)(publishNpmRcPath)
|
|
191
|
+
? publishNpmRcPath
|
|
192
|
+
: ((0, node_fs_1.existsSync)(repoNpmRcPath) ? repoNpmRcPath : null));
|
|
193
|
+
const commandEnv = npmUserConfigPath
|
|
194
|
+
? { NPM_CONFIG_USERCONFIG: npmUserConfigPath }
|
|
195
|
+
: {};
|
|
196
|
+
if (dryRun) {
|
|
197
|
+
const payload = {
|
|
198
|
+
ok: true,
|
|
199
|
+
dryRun: true,
|
|
200
|
+
target,
|
|
201
|
+
packageDir,
|
|
202
|
+
npmUserConfigPath: npmUserConfigPath ?? "default",
|
|
203
|
+
package: packageJson.name,
|
|
204
|
+
currentVersion: packageJson.version,
|
|
205
|
+
nextVersion,
|
|
206
|
+
nextSpec,
|
|
207
|
+
tag,
|
|
208
|
+
commands: [
|
|
209
|
+
`pnpm -C ${packageDir} run build`,
|
|
210
|
+
packageJson.scripts?.["check-types"] ? `pnpm -C ${packageDir} run check-types` : null,
|
|
211
|
+
packageJson.scripts?.["test"] ? `pnpm -C ${packageDir} run test` : null,
|
|
212
|
+
`npm publish --tag ${tag} --access public`,
|
|
213
|
+
].filter(Boolean),
|
|
214
|
+
};
|
|
215
|
+
if (json) {
|
|
216
|
+
printJson(payload);
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
console.log(`[dry-run] target: ${target}`);
|
|
220
|
+
console.log(`[dry-run] package: ${payload.package}`);
|
|
221
|
+
console.log(`[dry-run] current version: ${payload.currentVersion}`);
|
|
222
|
+
console.log(`[dry-run] next version: ${payload.nextVersion}`);
|
|
223
|
+
console.log(`[dry-run] tag: ${tag}`);
|
|
224
|
+
console.log(`[dry-run] npm user config: ${payload.npmUserConfigPath}`);
|
|
225
|
+
for (const line of payload.commands)
|
|
226
|
+
console.log(`[dry-run] would run: ${line}`);
|
|
227
|
+
}
|
|
228
|
+
return 0;
|
|
229
|
+
}
|
|
230
|
+
try {
|
|
231
|
+
const nextPackageJson = {
|
|
232
|
+
...packageJson,
|
|
233
|
+
version: nextVersion,
|
|
234
|
+
};
|
|
235
|
+
await (0, promises_1.writeFile)(packageJsonPath, `${JSON.stringify(nextPackageJson, null, 2)}\n`, "utf8");
|
|
236
|
+
runOrThrow("pnpm", ["-C", packageDir, "run", "build"], repoRoot, commandEnv);
|
|
237
|
+
if (packageJson.scripts?.["check-types"]) {
|
|
238
|
+
runOrThrow("pnpm", ["-C", packageDir, "run", "check-types"], repoRoot, commandEnv);
|
|
239
|
+
}
|
|
240
|
+
if (packageJson.scripts?.["test"]) {
|
|
241
|
+
runOrThrow("pnpm", ["-C", packageDir, "run", "test"], repoRoot, commandEnv);
|
|
242
|
+
}
|
|
243
|
+
if (!process.env.NPM_TOKEN) {
|
|
244
|
+
console.warn("NPM_TOKEN is not set.");
|
|
245
|
+
console.warn("Publish can still work if npm auth exists in the active npm user config (e.g. ~/.npmrc from npm login).");
|
|
246
|
+
if (npmUserConfigPath) {
|
|
247
|
+
console.warn(`Active npm user config: ${npmUserConfigPath}`);
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
console.warn("Active npm user config: default npm resolution (no explicit file selected).");
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
runOrThrow("npm", ["publish", "--tag", tag, "--access", "public"], packageDir, commandEnv);
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
await (0, promises_1.writeFile)(packageJsonPath, originalPackageJsonText, "utf8");
|
|
257
|
+
throw error;
|
|
258
|
+
}
|
|
259
|
+
if (json) {
|
|
260
|
+
printJson({
|
|
261
|
+
ok: true,
|
|
262
|
+
target,
|
|
263
|
+
package: packageJson.name,
|
|
264
|
+
publishedVersion: nextVersion,
|
|
265
|
+
tag,
|
|
266
|
+
spec: nextSpec,
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
console.log(`Published ${packageJson.name}@${nextVersion} with tag "${tag}".`);
|
|
271
|
+
}
|
|
272
|
+
return 0;
|
|
273
|
+
}
|
|
274
|
+
//# sourceMappingURL=release.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/commands/release.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runCli = void 0;
|
|
4
|
+
var main_1 = require("./main");
|
|
5
|
+
Object.defineProperty(exports, "runCli", { enumerable: true, get: function () { return main_1.runCli; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAAvB,8FAAA,MAAM,OAAA"}
|
package/dist/main.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AA4BA,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,iBA6B1C"}
|
package/dist/main.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runCli = runCli;
|
|
4
|
+
const add_1 = require("./commands/add");
|
|
5
|
+
const init_1 = require("./commands/init");
|
|
6
|
+
const release_1 = require("./commands/release");
|
|
7
|
+
function parseArgs(argv) {
|
|
8
|
+
const [command, ...rest] = argv;
|
|
9
|
+
return { command, rest };
|
|
10
|
+
}
|
|
11
|
+
function printHelp() {
|
|
12
|
+
console.log("lally");
|
|
13
|
+
console.log("");
|
|
14
|
+
console.log("Usage:");
|
|
15
|
+
console.log(" lally init");
|
|
16
|
+
console.log(" lally add <namespace/item>");
|
|
17
|
+
console.log(" lally release <target> --tag <tag> [--dry-run] [--json]");
|
|
18
|
+
console.log("");
|
|
19
|
+
console.log("Examples:");
|
|
20
|
+
console.log(" lally init");
|
|
21
|
+
console.log(" lally add fumadocs/sidebar-history");
|
|
22
|
+
console.log(" lally release fumadocs --tag alpha --dry-run");
|
|
23
|
+
}
|
|
24
|
+
async function runCli(argv) {
|
|
25
|
+
const { command, rest } = parseArgs(argv);
|
|
26
|
+
if (!command || command === "--help" || command === "-h" || command === "help") {
|
|
27
|
+
printHelp();
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (command === "init") {
|
|
31
|
+
await (0, init_1.runInitCommand)(rest);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (command === "add") {
|
|
35
|
+
await (0, add_1.runAddCommand)(rest);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (command === "release") {
|
|
39
|
+
const [target, ...releaseArgs] = rest;
|
|
40
|
+
const code = await (0, release_1.runReleaseCommand)(target, releaseArgs);
|
|
41
|
+
if (code !== 0)
|
|
42
|
+
process.exitCode = code;
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
console.error(`Unknown command: ${command}`);
|
|
46
|
+
console.log("");
|
|
47
|
+
printHelp();
|
|
48
|
+
process.exitCode = 1;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AA4BA,wBA6BC;AAzDD,wCAA+C;AAC/C,0CAAiD;AACjD,gDAAuD;AAOvD,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;AAChE,CAAC;AAEM,KAAK,UAAU,MAAM,CAAC,IAAc;IACzC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE1C,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC/E,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,MAAM,IAAA,mBAAa,EAAC,IAAI,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,IAAA,2BAAiB,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC1D,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxC,OAAO;IACT,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@chris-lally/cli",
|
|
3
|
+
"version": "0.1.0-alpha.1",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"bin": {
|
|
11
|
+
"lally": "./dist/bin/lally.js"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"dist",
|
|
15
|
+
"README.md"
|
|
16
|
+
],
|
|
17
|
+
"publishConfig": {
|
|
18
|
+
"access": "public"
|
|
19
|
+
},
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "tsc -p tsconfig.json",
|
|
22
|
+
"check-types": "tsc --noEmit",
|
|
23
|
+
"dev": "ts-node src/bin/lally.ts",
|
|
24
|
+
"prepublishOnly": "pnpm run build"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@repo/eslint-config": "workspace:*",
|
|
29
|
+
"@repo/typescript-config": "workspace:*",
|
|
30
|
+
"@types/node": "^22.15.3",
|
|
31
|
+
"eslint": "^9.39.1",
|
|
32
|
+
"ts-node": "^10.9.2",
|
|
33
|
+
"typescript": "5.9.2"
|
|
34
|
+
}
|
|
35
|
+
}
|