@lumerahq/cli 0.19.12 → 0.19.13

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/index.js CHANGED
@@ -248,7 +248,7 @@ async function main() {
248
248
  break;
249
249
  // Project
250
250
  case "init":
251
- await import("./init-QCNR4ULM.js").then((m) => m.init(args.slice(1)));
251
+ await import("./init-KJOWD2KQ.js").then((m) => m.init(args.slice(1)));
252
252
  break;
253
253
  case "register":
254
254
  await import("./register-QBRKXWNX.js").then((m) => m.register(args.slice(1)));
@@ -25,7 +25,7 @@ init_auth();
25
25
  import pc from "picocolors";
26
26
  import prompts from "prompts";
27
27
  import { execSync } from "child_process";
28
- import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync, rmSync, readlinkSync, symlinkSync } from "fs";
28
+ import { copyFileSync, existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync, rmSync, readlinkSync, symlinkSync } from "fs";
29
29
  import { join, resolve } from "path";
30
30
  function toTitleCase(str) {
31
31
  return str.split(/[-_]/).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
@@ -41,6 +41,7 @@ function processTemplate(content, replacements) {
41
41
  }
42
42
  var TEMPLATE_EXCLUDE = /* @__PURE__ */ new Set(["template.json"]);
43
43
  var TEMPLATE_RENAMES = /* @__PURE__ */ new Map([["_gitignore", ".gitignore"]]);
44
+ var TEMPLATE_RAW_COPY = /* @__PURE__ */ new Set(["pnpm-lock.yaml"]);
44
45
  function copyDir(src, dest, replacements, isRoot = true) {
45
46
  if (!existsSync(dest)) {
46
47
  mkdirSync(dest, { recursive: true });
@@ -60,6 +61,10 @@ function copyDir(src, dest, replacements, isRoot = true) {
60
61
  } else if (entry.isDirectory()) {
61
62
  copyDir(srcPath, destPath, replacements, false);
62
63
  } else {
64
+ if (TEMPLATE_RAW_COPY.has(entry.name)) {
65
+ copyFileSync(srcPath, destPath);
66
+ continue;
67
+ }
63
68
  const content = readFileSync(srcPath, "utf-8");
64
69
  const processed = processTemplate(content, replacements);
65
70
  writeFileSync(destPath, processed);
@@ -363,6 +368,7 @@ async function init(args) {
363
368
  ];
364
369
  copyDir(templateDir, targetDir, replacements);
365
370
  ensureClaudeInstructionsLink(targetDir);
371
+ const installCommand = existsSync(join(targetDir, "pnpm-lock.yaml")) ? "pnpm install --frozen-lockfile" : "pnpm install";
366
372
  function listFiles(dir, prefix = "") {
367
373
  for (const entry of readdirSync(dir, { withFileTypes: true })) {
368
374
  const relativePath = prefix + entry.name;
@@ -405,7 +411,7 @@ async function init(args) {
405
411
  if (opts.install) {
406
412
  const stopInstall = spinner("Installing dependencies...");
407
413
  try {
408
- execSync("pnpm install", { cwd: targetDir, stdio: "ignore" });
414
+ execSync(installCommand, { cwd: targetDir, stdio: "ignore" });
409
415
  stopInstall(pc.green("\u2713") + pc.dim(" Dependencies installed"));
410
416
  } catch {
411
417
  stopInstall(pc.yellow("\u26A0") + pc.dim(" Failed to install dependencies"));
@@ -453,7 +459,7 @@ async function init(args) {
453
459
  console.log();
454
460
  console.log(pc.cyan(` cd ${finalDirectory}`));
455
461
  if (!opts.install) {
456
- console.log(pc.cyan(" pnpm install"));
462
+ console.log(pc.cyan(` ${installCommand}`));
457
463
  }
458
464
  if (!registered) {
459
465
  console.log(pc.cyan(" lumera login"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lumerahq/cli",
3
- "version": "0.19.12",
3
+ "version": "0.19.13",
4
4
  "description": "CLI for building and deploying Lumera apps",
5
5
  "type": "module",
6
6
  "engines": {
@@ -55,11 +55,11 @@ For detailed technical reference (data models, relationships, design decisions),
55
55
 
56
56
  ### Installing components
57
57
 
58
- Install shadcn components with `pnpm dlx` (the sandbox's default JS package manager):
58
+ Install shadcn components with `pnpm dlx` (the sandbox's default JS package manager). Match the sandbox-pinned shadcn version:
59
59
 
60
60
  ```bash
61
- pnpm dlx shadcn@latest add button card dialog # Install specific components
62
- pnpm dlx shadcn@latest add table input label select # Install more as needed
61
+ pnpm dlx shadcn@4.1.2 add button card dialog # Install specific components
62
+ pnpm dlx shadcn@4.1.2 add table input label select # Install more as needed
63
63
  ```
64
64
 
65
65
  Components install into `src/components/ui/` and are fully editable.
@@ -1,6 +1,5 @@
1
1
  node_modules
2
2
  dist
3
- pnpm-lock.yaml
4
3
  .env
5
4
  .env.local
6
5
  *.local
@@ -27,26 +27,23 @@
27
27
  "@lumerahq/ui": "^0.9.1",
28
28
  "@tanstack/react-query": "^5.90.11",
29
29
  "@tanstack/react-router": "1.155.0",
30
- "@tanstack/router-plugin": "1.155.0",
31
- "class-variance-authority": "^0.7.1",
32
30
  "clsx": "^2.1.1",
33
31
  "lucide-react": "^1.7.0",
34
- "radix-ui": "^1.4.3",
35
- "shadcn": "^4.1.2",
36
32
  "tailwind-merge": "^3.4.0",
37
- "tw-animate-css": "^1.4.0",
38
33
  "react": "^19.2.0",
39
34
  "react-dom": "^19.2.0",
40
- "sonner": "^2.0.7",
41
- "tailwindcss": "^4.2.2"
35
+ "sonner": "^2.0.7"
42
36
  },
43
37
  "devDependencies": {
44
38
  "@biomejs/biome": "^2.4.10",
45
39
  "@tailwindcss/vite": "^4.2.2",
46
40
  "@tanstack/router-cli": "1.155.0",
41
+ "@tanstack/router-plugin": "1.155.0",
47
42
  "@types/react": "^19.2.14",
48
43
  "@types/react-dom": "^19.2.3",
49
44
  "@vitejs/plugin-react": "^6.0.1",
45
+ "tailwindcss": "^4.2.2",
46
+ "tw-animate-css": "^1.4.0",
50
47
  "typescript": "^6.0.2",
51
48
  "vite": "^8.0.3"
52
49
  }