@julien-lin/universal-pwa-cli 1.1.1 → 1.1.3

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.cjs CHANGED
@@ -26,6 +26,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  // src/index.ts
27
27
  var import_commander = require("commander");
28
28
  var import_chalk3 = __toESM(require("chalk"), 1);
29
+ var import_fs3 = require("fs");
30
+ var import_url = require("url");
31
+ var import_path3 = require("path");
29
32
 
30
33
  // src/commands/init.ts
31
34
  var import_universal_pwa_core = require("@julien-lin/universal-pwa-core");
@@ -93,7 +96,16 @@ async function initCommand(options = {}) {
93
96
  const finalOutputDir = outputDir ?? (result.framework === "WordPress" ? (0, import_path.join)(result.projectPath, "public") : (0, import_path.join)(result.projectPath, "public"));
94
97
  console.log(import_chalk.default.blue("\u{1F4DD} Generating manifest.json..."));
95
98
  const appName = name ?? (result.framework ? `${result.framework} App` : "My PWA");
96
- const appShortName = shortName && shortName.length > 0 && shortName.length <= 12 ? shortName : appName.substring(0, 12);
99
+ let appShortName;
100
+ if (shortName && shortName.length > 0 && shortName.length <= 12) {
101
+ appShortName = shortName;
102
+ } else {
103
+ const fallbackName = appName && appName.length > 0 ? appName : "My PWA";
104
+ appShortName = fallbackName.substring(0, 12);
105
+ }
106
+ if (!appShortName || appShortName.length === 0) {
107
+ appShortName = "PWA";
108
+ }
97
109
  let iconPaths = [];
98
110
  if (!skipIcons && iconSource) {
99
111
  const iconSourcePath = (0, import_fs.existsSync)(iconSource) ? iconSource : (0, import_path.join)(result.projectPath, iconSource);
@@ -325,8 +337,20 @@ function previewCommand(options = {}) {
325
337
 
326
338
  // src/index.ts
327
339
  var import_universal_pwa_core8 = require("@julien-lin/universal-pwa-core");
340
+ var import_meta = {};
341
+ var __filename = (0, import_url.fileURLToPath)(import_meta.url);
342
+ var __dirname = (0, import_path3.dirname)(__filename);
343
+ var packageJsonPath = (0, import_path3.join)(__dirname, "../package.json");
344
+ var version = "0.0.0";
345
+ try {
346
+ const packageJsonContent = (0, import_fs3.readFileSync)(packageJsonPath, "utf-8");
347
+ const packageJson = JSON.parse(packageJsonContent);
348
+ version = packageJson.version || "0.0.0";
349
+ } catch {
350
+ version = "0.0.0";
351
+ }
328
352
  var program = new import_commander.Command();
329
- program.name("universal-pwa").description("Transform any web project into a PWA with one click").version("0.0.0");
353
+ program.name("universal-pwa").description("Transform any web project into a PWA with one click").version(version);
330
354
  program.command("init").description("Initialize PWA in your project").option("-p, --project-path <path>", "Project path", process.cwd()).option("-n, --name <name>", "App name").option("-s, --short-name <shortName>", "App short name (max 12 chars)").option("-i, --icon-source <path>", "Source image for icons").option("-t, --theme-color <color>", "Theme color (hex)").option("-b, --background-color <color>", "Background color (hex)").option("--skip-icons", "Skip icon generation").option("--skip-service-worker", "Skip service worker generation").option("--skip-injection", "Skip HTML meta-tag injection").option("-o, --output-dir <dir>", "Output directory", "public").action(async (options) => {
331
355
  try {
332
356
  const result = await initCommand({
package/dist/index.js CHANGED
@@ -3,6 +3,9 @@
3
3
  // src/index.ts
4
4
  import { Command } from "commander";
5
5
  import chalk3 from "chalk";
6
+ import { readFileSync } from "fs";
7
+ import { fileURLToPath } from "url";
8
+ import { dirname, join as join3 } from "path";
6
9
 
7
10
  // src/commands/init.ts
8
11
  import { scanProject } from "@julien-lin/universal-pwa-core";
@@ -70,7 +73,16 @@ async function initCommand(options = {}) {
70
73
  const finalOutputDir = outputDir ?? (result.framework === "WordPress" ? join(result.projectPath, "public") : join(result.projectPath, "public"));
71
74
  console.log(chalk.blue("\u{1F4DD} Generating manifest.json..."));
72
75
  const appName = name ?? (result.framework ? `${result.framework} App` : "My PWA");
73
- const appShortName = shortName && shortName.length > 0 && shortName.length <= 12 ? shortName : appName.substring(0, 12);
76
+ let appShortName;
77
+ if (shortName && shortName.length > 0 && shortName.length <= 12) {
78
+ appShortName = shortName;
79
+ } else {
80
+ const fallbackName = appName && appName.length > 0 ? appName : "My PWA";
81
+ appShortName = fallbackName.substring(0, 12);
82
+ }
83
+ if (!appShortName || appShortName.length === 0) {
84
+ appShortName = "PWA";
85
+ }
74
86
  let iconPaths = [];
75
87
  if (!skipIcons && iconSource) {
76
88
  const iconSourcePath = existsSync(iconSource) ? iconSource : join(result.projectPath, iconSource);
@@ -302,8 +314,19 @@ function previewCommand(options = {}) {
302
314
 
303
315
  // src/index.ts
304
316
  import { scanProject as scanProject2 } from "@julien-lin/universal-pwa-core";
317
+ var __filename = fileURLToPath(import.meta.url);
318
+ var __dirname = dirname(__filename);
319
+ var packageJsonPath = join3(__dirname, "../package.json");
320
+ var version = "0.0.0";
321
+ try {
322
+ const packageJsonContent = readFileSync(packageJsonPath, "utf-8");
323
+ const packageJson = JSON.parse(packageJsonContent);
324
+ version = packageJson.version || "0.0.0";
325
+ } catch {
326
+ version = "0.0.0";
327
+ }
305
328
  var program = new Command();
306
- program.name("universal-pwa").description("Transform any web project into a PWA with one click").version("0.0.0");
329
+ program.name("universal-pwa").description("Transform any web project into a PWA with one click").version(version);
307
330
  program.command("init").description("Initialize PWA in your project").option("-p, --project-path <path>", "Project path", process.cwd()).option("-n, --name <name>", "App name").option("-s, --short-name <shortName>", "App short name (max 12 chars)").option("-i, --icon-source <path>", "Source image for icons").option("-t, --theme-color <color>", "Theme color (hex)").option("-b, --background-color <color>", "Background color (hex)").option("--skip-icons", "Skip icon generation").option("--skip-service-worker", "Skip service worker generation").option("--skip-injection", "Skip HTML meta-tag injection").option("-o, --output-dir <dir>", "Output directory", "public").action(async (options) => {
308
331
  try {
309
332
  const result = await initCommand({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@julien-lin/universal-pwa-cli",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "CLI pour transformer n'importe quel projet web en PWA",
5
5
  "keywords": [
6
6
  "pwa",
@@ -44,7 +44,7 @@
44
44
  "glob": "^13.0.0",
45
45
  "pino": "^9.14.0",
46
46
  "zod": "^4.2.1",
47
- "@julien-lin/universal-pwa-core": "^1.1.1"
47
+ "@julien-lin/universal-pwa-core": "^1.1.3"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@vitest/coverage-v8": "^2.1.4",