@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 +26 -2
- package/dist/index.js +25 -2
- package/package.json +2 -2
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
|
-
|
|
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(
|
|
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
|
-
|
|
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(
|
|
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.
|
|
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.
|
|
47
|
+
"@julien-lin/universal-pwa-core": "^1.1.3"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@vitest/coverage-v8": "^2.1.4",
|