lism-cli 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{chunk-G4RBP3W6.js → chunk-6E4LIZPL.js} +70 -14
- package/dist/index.js +3 -2
- package/dist/lib.d.ts +2 -2
- package/dist/lib.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -116,7 +116,7 @@ export default {
|
|
|
116
116
|
|
|
117
117
|
`lism.config.mjs` も同様に読み込まれます。旧 `lism-ui.json` は廃止予定(互換ロードのみ。起動時に deprecation 警告)。
|
|
118
118
|
|
|
119
|
-
> **Note:** TypeScript の `lism.config.ts` は現在未対応です。`lism-css`
|
|
119
|
+
> **Note:** TypeScript の `lism.config.ts` は現在未対応です。`lism-css` 本体の設定読込(`@lism-css/plugin` / `lism-css build`)も `.ts` を読み込まない設計のため、設定ファイルは `.js` / `.mjs` で記述してください。
|
|
120
120
|
|
|
121
121
|
## パッケージが見つからないエラーが出る場合
|
|
122
122
|
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// <define:__LISM_PACKAGE_VERSIONS__>
|
|
2
|
+
var define_LISM_PACKAGE_VERSIONS_default = { "lism-css": "0.23.0", "@lism-css/ui": "0.23.0", "@lism-css/plugin": "0.3.0" };
|
|
3
|
+
|
|
1
4
|
// src/i18n.ts
|
|
2
5
|
import { execFileSync } from "child_process";
|
|
3
6
|
|
|
@@ -201,8 +204,8 @@ var messages = {
|
|
|
201
204
|
en: "Failed to rewrite package.json name: {reason}"
|
|
202
205
|
},
|
|
203
206
|
"create.workspaceReplaced": {
|
|
204
|
-
ja: " package.json \u306E workspace:* \u3092
|
|
205
|
-
en: " Replaced workspace:* in package.json with
|
|
207
|
+
ja: " package.json \u306E workspace:* \u3092\u516C\u958B\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u7F6E\u63DB\u3057\u307E\u3057\u305F\u3002",
|
|
208
|
+
en: " Replaced workspace:* in package.json with published versions."
|
|
206
209
|
},
|
|
207
210
|
"create.workspaceFailed": {
|
|
208
211
|
ja: "package.json \u306E\u66F8\u304D\u63DB\u3048\u306B\u5931\u6557\u3057\u307E\u3057\u305F: {reason}",
|
|
@@ -565,12 +568,16 @@ var logger = {
|
|
|
565
568
|
};
|
|
566
569
|
|
|
567
570
|
// src/version.ts
|
|
568
|
-
var LISM_CSS_VERSION = "0.
|
|
569
|
-
var
|
|
571
|
+
var LISM_CSS_VERSION = "0.23.0" ? "0.23.0" : "unknown";
|
|
572
|
+
var LISM_PACKAGE_VERSIONS = typeof define_LISM_PACKAGE_VERSIONS_default !== "undefined" && define_LISM_PACKAGE_VERSIONS_default ? define_LISM_PACKAGE_VERSIONS_default : {
|
|
573
|
+
"lism-css": LISM_CSS_VERSION
|
|
574
|
+
};
|
|
575
|
+
var CLI_VERSION = "0.7.0" ? "0.7.0" : "unknown";
|
|
570
576
|
|
|
571
577
|
// src/constants.ts
|
|
572
578
|
var SOURCE_REPO = "lism-css/lism-css";
|
|
573
579
|
var RAW_GITHUB_BASE = "https://raw.githubusercontent.com";
|
|
580
|
+
var NPM_REGISTRY_BASE = "https://registry.npmjs.org";
|
|
574
581
|
var DEFAULT_UI_REF = "main";
|
|
575
582
|
var DEFAULT_SKILL_REF = "main";
|
|
576
583
|
var DEFAULT_TEMPLATES_REF = "main";
|
|
@@ -602,6 +609,17 @@ var TEMPLATES = [
|
|
|
602
609
|
description: { ja: "Vite + React \u30D9\u30FC\u30B9\u306E\u6700\u5C0F\u69CB\u6210", en: "Minimal Vite + React setup" },
|
|
603
610
|
previewUrl: `${PREVIEW_ORIGIN}/minimal-vite/`
|
|
604
611
|
},
|
|
612
|
+
{
|
|
613
|
+
slug: "minimal-next",
|
|
614
|
+
kind: "project",
|
|
615
|
+
category: "minimal",
|
|
616
|
+
stack: "next",
|
|
617
|
+
sourcePath: "minimal/next",
|
|
618
|
+
title: { ja: "Minimal Next", en: "Minimal Next" },
|
|
619
|
+
description: { ja: "Next.js (App Router) \u30D9\u30FC\u30B9\u306E\u6700\u5C0F\u69CB\u6210", en: "Minimal Next.js (App Router) setup" },
|
|
620
|
+
// preview サイト未配信・docs カード未整備のため draft(CLI 一覧・docs 本番ビルドから除外)
|
|
621
|
+
draft: true
|
|
622
|
+
},
|
|
605
623
|
{
|
|
606
624
|
slug: "blog-astro-minimal",
|
|
607
625
|
kind: "project",
|
|
@@ -780,7 +798,7 @@ async function runCreateWithTemplates({ template, targetDir, force = false, lang
|
|
|
780
798
|
await downloadTemplateSource(tpl, outDir, ref, force);
|
|
781
799
|
await applyLangOverlay(tpl, outDir, ref, resolvedLang);
|
|
782
800
|
ensureTemplateDownloaded(outDir, tpl);
|
|
783
|
-
postProcessTemplate(outDir, tpl, resolvedLang);
|
|
801
|
+
await postProcessTemplate(outDir, tpl, resolvedLang);
|
|
784
802
|
logger.success(t("create.created", { dir: outDir }));
|
|
785
803
|
printNextSteps(outDir, tpl);
|
|
786
804
|
}
|
|
@@ -911,7 +929,7 @@ async function applyLangOverlay(tpl, outDir, ref, lang) {
|
|
|
911
929
|
fs.rmSync(overlayDir, { recursive: true, force: true });
|
|
912
930
|
}
|
|
913
931
|
}
|
|
914
|
-
function postProcessTemplate(projectDir, tpl, lang) {
|
|
932
|
+
async function postProcessTemplate(projectDir, tpl, lang) {
|
|
915
933
|
if (tpl.kind === "static-html") return;
|
|
916
934
|
if (tpl.kind === "base-overlay" && tpl.rewritePackageName !== false) {
|
|
917
935
|
rewritePackageName(projectDir, tpl.slug);
|
|
@@ -921,7 +939,7 @@ function postProcessTemplate(projectDir, tpl, lang) {
|
|
|
921
939
|
rewritePackageName(projectDir, tpl.packageName ?? tpl.slug);
|
|
922
940
|
}
|
|
923
941
|
cleanupDevArtifacts(projectDir);
|
|
924
|
-
rewriteWorkspaceDeps(projectDir);
|
|
942
|
+
await rewriteWorkspaceDeps(projectDir);
|
|
925
943
|
}
|
|
926
944
|
function cleanupDevArtifacts(projectDir) {
|
|
927
945
|
const screenshotsDir = path.join(projectDir, "screenshots");
|
|
@@ -1078,31 +1096,69 @@ function rewritePackageName(projectDir, name) {
|
|
|
1078
1096
|
logger.warn(t("create.packageNameFailed", { reason: String(err) }));
|
|
1079
1097
|
}
|
|
1080
1098
|
}
|
|
1081
|
-
|
|
1099
|
+
var DEP_SECTIONS = ["dependencies", "devDependencies", "peerDependencies"];
|
|
1100
|
+
var REGISTRY_TIMEOUT_MS = 5e3;
|
|
1101
|
+
async function rewriteWorkspaceDeps(projectDir) {
|
|
1082
1102
|
const pkgPath = path.join(projectDir, "package.json");
|
|
1083
1103
|
if (!fs.existsSync(pkgPath)) return;
|
|
1084
1104
|
try {
|
|
1085
1105
|
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
|
|
1106
|
+
const names = /* @__PURE__ */ new Set();
|
|
1107
|
+
for (const section of DEP_SECTIONS) {
|
|
1108
|
+
const deps = pkg[section];
|
|
1109
|
+
if (!deps) continue;
|
|
1110
|
+
for (const [name, value] of Object.entries(deps)) {
|
|
1111
|
+
if (typeof value === "string" && value.startsWith("workspace:")) names.add(name);
|
|
1112
|
+
}
|
|
1113
|
+
}
|
|
1114
|
+
if (names.size === 0) return;
|
|
1115
|
+
const versions = await resolveWorkspaceVersions([...names]);
|
|
1086
1116
|
let touched = false;
|
|
1087
|
-
for (const
|
|
1088
|
-
const deps = pkg[
|
|
1117
|
+
for (const section of DEP_SECTIONS) {
|
|
1118
|
+
const deps = pkg[section];
|
|
1089
1119
|
if (!deps) continue;
|
|
1090
1120
|
for (const [name, value] of Object.entries(deps)) {
|
|
1091
|
-
if (typeof value
|
|
1092
|
-
|
|
1093
|
-
deps[name] = `^${LISM_CSS_VERSION}`;
|
|
1121
|
+
if (typeof value === "string" && value.startsWith("workspace:")) {
|
|
1122
|
+
deps[name] = `^${versions[name]}`;
|
|
1094
1123
|
touched = true;
|
|
1095
1124
|
}
|
|
1096
1125
|
}
|
|
1097
1126
|
}
|
|
1098
1127
|
if (touched) {
|
|
1099
1128
|
fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + "\n");
|
|
1100
|
-
logger.log(t("create.workspaceReplaced"
|
|
1129
|
+
logger.log(t("create.workspaceReplaced"));
|
|
1101
1130
|
}
|
|
1102
1131
|
} catch (err) {
|
|
1103
1132
|
logger.warn(t("create.workspaceFailed", { reason: String(err) }));
|
|
1104
1133
|
}
|
|
1105
1134
|
}
|
|
1135
|
+
async function resolveWorkspaceVersions(names) {
|
|
1136
|
+
const entries = await Promise.all(names.map(async (name) => [name, await resolveDepVersion(name)]));
|
|
1137
|
+
return Object.fromEntries(entries);
|
|
1138
|
+
}
|
|
1139
|
+
function bakedVersion(name) {
|
|
1140
|
+
return LISM_PACKAGE_VERSIONS[name] ?? LISM_PACKAGE_VERSIONS["lism-css"] ?? "unknown";
|
|
1141
|
+
}
|
|
1142
|
+
async function resolveDepVersion(name) {
|
|
1143
|
+
const baked = bakedVersion(name);
|
|
1144
|
+
if (!LISM_PACKAGE_VERSIONS[name]) return baked;
|
|
1145
|
+
const latest = await fetchLatestVersion(name);
|
|
1146
|
+
return latest ?? baked;
|
|
1147
|
+
}
|
|
1148
|
+
async function fetchLatestVersion(name) {
|
|
1149
|
+
const url = `${NPM_REGISTRY_BASE}/${name.replace(/\//g, "%2F")}/latest`;
|
|
1150
|
+
try {
|
|
1151
|
+
const res = await fetch(url, {
|
|
1152
|
+
headers: { accept: "application/json" },
|
|
1153
|
+
signal: AbortSignal.timeout(REGISTRY_TIMEOUT_MS)
|
|
1154
|
+
});
|
|
1155
|
+
if (!res.ok) return null;
|
|
1156
|
+
const data = await res.json();
|
|
1157
|
+
return typeof data.version === "string" ? data.version : null;
|
|
1158
|
+
} catch {
|
|
1159
|
+
return null;
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1106
1162
|
|
|
1107
1163
|
export {
|
|
1108
1164
|
logger,
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
preScanLang,
|
|
14
14
|
setLang,
|
|
15
15
|
t
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-6E4LIZPL.js";
|
|
17
17
|
|
|
18
18
|
// src/createProgram.ts
|
|
19
19
|
import { Command as Command3 } from "commander";
|
|
@@ -322,10 +322,11 @@ function isExcludedComponentFile(rel, excludeRootFiles) {
|
|
|
322
322
|
if (/(^|\/)[^/]+\.test\.[a-z]+$/.test(rel)) return true;
|
|
323
323
|
return false;
|
|
324
324
|
}
|
|
325
|
+
var FETCH_TIMEOUT_MS = 5e3;
|
|
325
326
|
async function fetchCatalog(options = {}) {
|
|
326
327
|
const ref = options.ref ?? DEFAULT_UI_REF;
|
|
327
328
|
const url = `${RAW_GITHUB_BASE}/${SOURCE_REPO}/${ref}/${UI_REGISTRY_INDEX_PATH}`;
|
|
328
|
-
const res = await fetch(url);
|
|
329
|
+
const res = await fetch(url, { signal: AbortSignal.timeout(FETCH_TIMEOUT_MS) });
|
|
329
330
|
if (!res.ok) {
|
|
330
331
|
throw new Error(`Failed to fetch registry-index.json (${res.status} ${res.statusText}): ${url}`);
|
|
331
332
|
}
|
package/dist/lib.d.ts
CHANGED
|
@@ -215,8 +215,8 @@ declare const messages: {
|
|
|
215
215
|
readonly en: "Failed to rewrite package.json name: {reason}";
|
|
216
216
|
};
|
|
217
217
|
readonly 'create.workspaceReplaced': {
|
|
218
|
-
readonly ja: " package.json の workspace:*
|
|
219
|
-
readonly en: " Replaced workspace:* in package.json with
|
|
218
|
+
readonly ja: " package.json の workspace:* を公開バージョンに置換しました。";
|
|
219
|
+
readonly en: " Replaced workspace:* in package.json with published versions.";
|
|
220
220
|
};
|
|
221
221
|
readonly 'create.workspaceFailed': {
|
|
222
222
|
readonly ja: "package.json の書き換えに失敗しました: {reason}";
|
package/dist/lib.js
CHANGED