create-ec-app 0.0.1 → 0.0.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webresource.d.ts","sourceRoot":"","sources":["../../src/creators/webresource.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,oBAAoB,GAAU,aAAa,MAAM,KAAG,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"webresource.d.ts","sourceRoot":"","sources":["../../src/creators/webresource.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,oBAAoB,GAAU,aAAa,MAAM,KAAG,OAAO,CAAC,IAAI,CAirB5E,CAAC"}
|
|
@@ -19,22 +19,38 @@ const runCommand = (command, spinnerMessage) => {
|
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
21
|
export const createWebResourceApp = async (projectName) => {
|
|
22
|
-
// Prompt for
|
|
23
|
-
const
|
|
24
|
-
{ name: "Default", value: "@progress/kendo-theme-default" },
|
|
25
|
-
{ name: "Bootstrap (v5)", value: "@progress/kendo-theme-bootstrap" },
|
|
26
|
-
{ name: "Material (v3)", value: "@progress/kendo-theme-material" },
|
|
27
|
-
{ name: "Fluent", value: "@progress/kendo-theme-fluent" },
|
|
28
|
-
{ name: "Classic", value: "@progress/kendo-theme-classic" },
|
|
29
|
-
];
|
|
30
|
-
const { kendoThemePackage } = await inquirer.prompt([
|
|
22
|
+
// Prompt for UI library choice
|
|
23
|
+
const { uiLibrary } = await inquirer.prompt([
|
|
31
24
|
{
|
|
32
25
|
type: "list",
|
|
33
|
-
name: "
|
|
34
|
-
message: "Which
|
|
35
|
-
choices:
|
|
26
|
+
name: "uiLibrary",
|
|
27
|
+
message: "Which UI library would you like to use?",
|
|
28
|
+
choices: [
|
|
29
|
+
{ name: "Kendo UI (React components with themes)", value: "kendo" },
|
|
30
|
+
{ name: "Shadcn/ui (Modern React components)", value: "shadcn" },
|
|
31
|
+
],
|
|
36
32
|
},
|
|
37
33
|
]);
|
|
34
|
+
let kendoThemePackage = "";
|
|
35
|
+
if (uiLibrary === "kendo") {
|
|
36
|
+
// Prompt for Kendo theme
|
|
37
|
+
const kendoThemes = [
|
|
38
|
+
{ name: "Default", value: "@progress/kendo-theme-default" },
|
|
39
|
+
{ name: "Bootstrap (v5)", value: "@progress/kendo-theme-bootstrap" },
|
|
40
|
+
{ name: "Material (v3)", value: "@progress/kendo-theme-material" },
|
|
41
|
+
{ name: "Fluent", value: "@progress/kendo-theme-fluent" },
|
|
42
|
+
{ name: "Classic", value: "@progress/kendo-theme-classic" },
|
|
43
|
+
];
|
|
44
|
+
const { kendoThemePackage: selectedTheme } = await inquirer.prompt([
|
|
45
|
+
{
|
|
46
|
+
type: "list",
|
|
47
|
+
name: "kendoThemePackage",
|
|
48
|
+
message: "Which Kendo UI theme would you like to install?",
|
|
49
|
+
choices: kendoThemes,
|
|
50
|
+
},
|
|
51
|
+
]);
|
|
52
|
+
kendoThemePackage = selectedTheme;
|
|
53
|
+
}
|
|
38
54
|
const projectDir = path.resolve(process.cwd(), projectName);
|
|
39
55
|
console.log(`\nScaffolding a new project in ${chalk.green(projectDir)}...\n`);
|
|
40
56
|
// Create React + Vite (TypeScript) project
|
|
@@ -47,22 +63,26 @@ export const createWebResourceApp = async (projectName) => {
|
|
|
47
63
|
packageJson.scripts["build:dev"] = "tsc -b && vite build --mode development";
|
|
48
64
|
fs.writeJsonSync(packageJsonPath, packageJson, { spaces: 2 });
|
|
49
65
|
ora("Updated package.json with Vite 7 overrides and custom build script").succeed();
|
|
50
|
-
// Install dependencies
|
|
51
|
-
|
|
52
|
-
"
|
|
53
|
-
"@
|
|
54
|
-
"tailwindcss@^4",
|
|
55
|
-
"@tailwindcss/vite@^4",
|
|
66
|
+
// Install dependencies based on UI library choice
|
|
67
|
+
let dependencies = [
|
|
68
|
+
"tailwindcss",
|
|
69
|
+
"@tailwindcss/vite",
|
|
56
70
|
"@tanstack/react-query",
|
|
57
71
|
"zustand",
|
|
58
72
|
"@types/xrm",
|
|
59
73
|
"@types/node",
|
|
60
|
-
kendoThemePackage,
|
|
61
74
|
];
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
const
|
|
75
|
+
if (uiLibrary === "kendo") {
|
|
76
|
+
dependencies.push("@progress/kendo-react-buttons", "@progress/kendo-licensing", kendoThemePackage);
|
|
77
|
+
}
|
|
78
|
+
const installMessage = uiLibrary === "kendo"
|
|
79
|
+
? `Installing dependencies (Kendo Theme: ${kendoThemePackage.split("/")[1]})...`
|
|
80
|
+
: "Installing dependencies (Shadcn/ui)...";
|
|
81
|
+
runCommand(`npm install ${dependencies.join(" ")}`, installMessage);
|
|
82
|
+
if (uiLibrary === "kendo") {
|
|
83
|
+
// Create kendo-tw-preset.js
|
|
84
|
+
const kendoPresetPath = path.join(projectDir, "kendo-tw-preset.js");
|
|
85
|
+
const kendoPresetContent = `module.exports = {
|
|
66
86
|
theme: {
|
|
67
87
|
extend: {
|
|
68
88
|
spacing: {
|
|
@@ -295,11 +315,11 @@ export const createWebResourceApp = async (projectName) => {
|
|
|
295
315
|
},
|
|
296
316
|
},
|
|
297
317
|
};`;
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
318
|
+
fs.writeFileSync(kendoPresetPath, kendoPresetContent, "utf8");
|
|
319
|
+
ora("Created kendo-tw-preset.js").succeed();
|
|
320
|
+
// Create tailwind.config.js with Kendo preset
|
|
321
|
+
const tailwindConfigPath = path.join(projectDir, "tailwind.config.js");
|
|
322
|
+
const tailwindConfigContent = `/** @type {import('tailwindcss').Config} */
|
|
303
323
|
|
|
304
324
|
import kendoTwPreset from "./kendo-tw-preset.js";
|
|
305
325
|
|
|
@@ -313,11 +333,81 @@ export default {
|
|
|
313
333
|
},
|
|
314
334
|
plugins: [],
|
|
315
335
|
};`;
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
336
|
+
fs.writeFileSync(tailwindConfigPath, tailwindConfigContent, "utf8");
|
|
337
|
+
ora("Created tailwind.config.js with Kendo preset").succeed();
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
// tsconfig.json
|
|
341
|
+
const tsconfigPath = path.join(projectDir, "tsconfig.json");
|
|
342
|
+
const tsConfigContent = `{
|
|
343
|
+
"files": [],
|
|
344
|
+
"references": [
|
|
345
|
+
{
|
|
346
|
+
"path": "./tsconfig.app.json"
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"path": "./tsconfig.node.json"
|
|
350
|
+
}
|
|
351
|
+
],
|
|
352
|
+
"compilerOptions": {
|
|
353
|
+
"baseUrl": ".",
|
|
354
|
+
"paths": {
|
|
355
|
+
"@/*": [
|
|
356
|
+
"./src/*"
|
|
357
|
+
]
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}`;
|
|
361
|
+
fs.writeFileSync(tsconfigPath, tsConfigContent, "utf8");
|
|
362
|
+
ora("Updated tsconfig.json with baseUrl and paths").succeed();
|
|
363
|
+
// tsconfig.app.json
|
|
364
|
+
const tsconfigAppPath = path.join(projectDir, "tsconfig.app.json");
|
|
365
|
+
const tsConfigAppContent = `{
|
|
366
|
+
"compilerOptions": {
|
|
367
|
+
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
|
368
|
+
"target": "ES2022",
|
|
369
|
+
"useDefineForClassFields": true,
|
|
370
|
+
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
371
|
+
"module": "ESNext",
|
|
372
|
+
"skipLibCheck": true,
|
|
373
|
+
|
|
374
|
+
/* Shadcn */
|
|
375
|
+
"baseUrl": ".",
|
|
376
|
+
"paths": {
|
|
377
|
+
"@/*": [
|
|
378
|
+
"./src/*"
|
|
379
|
+
]
|
|
380
|
+
},
|
|
381
|
+
|
|
382
|
+
/* Bundler mode */
|
|
383
|
+
"moduleResolution": "bundler",
|
|
384
|
+
"allowImportingTsExtensions": true,
|
|
385
|
+
"verbatimModuleSyntax": true,
|
|
386
|
+
"moduleDetection": "force",
|
|
387
|
+
"noEmit": true,
|
|
388
|
+
"jsx": "react-jsx",
|
|
389
|
+
|
|
390
|
+
/* Linting */
|
|
391
|
+
"strict": true,
|
|
392
|
+
"noUnusedLocals": true,
|
|
393
|
+
"noUnusedParameters": true,
|
|
394
|
+
"erasableSyntaxOnly": true,
|
|
395
|
+
"noFallthroughCasesInSwitch": true,
|
|
396
|
+
"noUncheckedSideEffectImports": true
|
|
397
|
+
},
|
|
398
|
+
"include": ["src"]
|
|
399
|
+
}
|
|
400
|
+
`;
|
|
401
|
+
fs.writeFileSync(tsconfigAppPath, tsConfigAppContent, "utf8");
|
|
402
|
+
ora("Created tsconfig.app.json").succeed();
|
|
403
|
+
// index.css before we do the install
|
|
404
|
+
// Update CSS entry point
|
|
405
|
+
const indexCssPath = path.join(projectDir, "src", "index.css");
|
|
406
|
+
fs.writeFileSync(indexCssPath, `@import "tailwindcss";`, "utf8");
|
|
407
|
+
ora("Updated CSS entry point").succeed();
|
|
408
|
+
// Update the vite.config.ts early to include the paths
|
|
409
|
+
const viteConfigPath = path.join(projectDir, "vite.config.ts");
|
|
410
|
+
const newViteConfigContent = `import path from "path";
|
|
321
411
|
import tailwindcss from "@tailwindcss/vite";
|
|
322
412
|
import { defineConfig } from "vite";
|
|
323
413
|
import react from "@vitejs/plugin-react";
|
|
@@ -357,19 +447,74 @@ export default defineConfig(({ command, mode }) => {
|
|
|
357
447
|
};
|
|
358
448
|
});
|
|
359
449
|
`;
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
450
|
+
fs.writeFileSync(viteConfigPath, newViteConfigContent, "utf8");
|
|
451
|
+
ora("Replaced vite.config.ts with custom build config").succeed();
|
|
452
|
+
// Initialize Shadcn/ui after basic setup
|
|
453
|
+
runCommand("npx shadcn@latest init --force --silent --yes --base-color neutral", "Initializing Shadcn/ui...");
|
|
454
|
+
// Install some basic Shadcn components
|
|
455
|
+
runCommand("npx shadcn@latest add --all", "Installing all Shadcn components...");
|
|
456
|
+
}
|
|
457
|
+
if (uiLibrary === "kendo") {
|
|
458
|
+
// Overwrite Vite config with advanced build options
|
|
459
|
+
const viteConfigPath = path.join(projectDir, "vite.config.ts");
|
|
460
|
+
const newViteConfigContent = `import path from "path";
|
|
461
|
+
import tailwindcss from "@tailwindcss/vite";
|
|
462
|
+
import { defineConfig } from "vite";
|
|
463
|
+
import react from "@vitejs/plugin-react";
|
|
464
|
+
|
|
465
|
+
export default defineConfig(({ command, mode }) => {
|
|
466
|
+
const isDev = mode === "development" || command === "serve";
|
|
467
|
+
|
|
468
|
+
return {
|
|
469
|
+
base: "./",
|
|
470
|
+
plugins: [react(), tailwindcss()],
|
|
471
|
+
resolve: {
|
|
472
|
+
alias: {
|
|
473
|
+
"@": path.resolve(__dirname, "./src"),
|
|
474
|
+
},
|
|
475
|
+
},
|
|
476
|
+
build: {
|
|
477
|
+
rollupOptions: {
|
|
478
|
+
external: ["../../token.json"],
|
|
479
|
+
output: {
|
|
480
|
+
manualChunks: undefined,
|
|
481
|
+
entryFileNames: "[name].js",
|
|
482
|
+
chunkFileNames: "[name].chunk.js",
|
|
483
|
+
assetFileNames: (assetInfo) => {
|
|
484
|
+
if (assetInfo.name?.endsWith(".css")) {
|
|
485
|
+
return "main.css";
|
|
486
|
+
}
|
|
487
|
+
return "[name].[ext]";
|
|
488
|
+
},
|
|
489
|
+
},
|
|
490
|
+
},
|
|
491
|
+
minify: !isDev,
|
|
492
|
+
mode: isDev ? "development" : "production",
|
|
493
|
+
assetsDir: "",
|
|
494
|
+
target: "es2015",
|
|
495
|
+
cssCodeSplit: false,
|
|
496
|
+
},
|
|
497
|
+
};
|
|
498
|
+
});
|
|
499
|
+
`;
|
|
500
|
+
fs.writeFileSync(viteConfigPath, newViteConfigContent, "utf8");
|
|
501
|
+
ora("Replaced vite.config.ts with custom build config").succeed();
|
|
502
|
+
}
|
|
503
|
+
if (uiLibrary === "kendo") {
|
|
504
|
+
// Update CSS entry point
|
|
505
|
+
const indexCssPath = path.join(projectDir, "src", "index.css");
|
|
506
|
+
fs.writeFileSync(indexCssPath, `@import "tailwindcss";`, "utf8");
|
|
507
|
+
ora("Updated CSS entry point").succeed();
|
|
508
|
+
}
|
|
366
509
|
// Clear App.css
|
|
367
510
|
const appCssPath = path.join(projectDir, "src", "App.css");
|
|
368
511
|
fs.writeFileSync(appCssPath, "", "utf8");
|
|
369
512
|
ora("Cleared App.css").succeed();
|
|
370
|
-
// Replace App.tsx with custom content
|
|
513
|
+
// Replace App.tsx with custom content based on UI library
|
|
371
514
|
const appTsxPath = path.join(projectDir, "src", "App.tsx");
|
|
372
|
-
|
|
515
|
+
let newAppTsxContent = "";
|
|
516
|
+
if (uiLibrary === "kendo") {
|
|
517
|
+
newAppTsxContent = `import "./App.css";
|
|
373
518
|
|
|
374
519
|
function App() {
|
|
375
520
|
return (
|
|
@@ -383,14 +528,35 @@ function App() {
|
|
|
383
528
|
|
|
384
529
|
export default App;
|
|
385
530
|
`;
|
|
531
|
+
}
|
|
532
|
+
else {
|
|
533
|
+
// Shadcn/ui version - template with Shadcn components
|
|
534
|
+
newAppTsxContent = `import "./App.css";
|
|
535
|
+
import { Button } from "@/components/ui/button";
|
|
536
|
+
|
|
537
|
+
function App() {
|
|
538
|
+
return (
|
|
539
|
+
<>
|
|
540
|
+
<div className="flex flex-col h-screen items-center justify-center">
|
|
541
|
+
<p>Hello, World!</p>
|
|
542
|
+
<Button>Click me</Button>
|
|
543
|
+
</div>
|
|
544
|
+
</>
|
|
545
|
+
);
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
export default App;
|
|
549
|
+
`;
|
|
550
|
+
}
|
|
386
551
|
fs.writeFileSync(appTsxPath, newAppTsxContent, "utf8");
|
|
387
|
-
ora(
|
|
552
|
+
ora(`Replaced App.tsx with ${uiLibrary} template`).succeed();
|
|
388
553
|
// Generate main.tsx from template
|
|
389
554
|
const mainTsxPath = path.join(projectDir, "src", "main.tsx");
|
|
555
|
+
const kendoImport = uiLibrary === "kendo" ? `import "${kendoThemePackage}/dist/all.css";` : "";
|
|
390
556
|
const newMainTsxContent = `import { StrictMode } from "react";
|
|
391
557
|
import { createRoot } from "react-dom/client";
|
|
392
558
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
393
|
-
|
|
559
|
+
${kendoImport}
|
|
394
560
|
import "./index.css";
|
|
395
561
|
import App from "./App.tsx";
|
|
396
562
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webresource.js","sourceRoot":"","sources":["../../src/creators/webresource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAOhC,qDAAqD;AACrD,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,cAAsB,EAAQ,EAAE;IACpE,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5C,IAAI,CAAC;QACJ,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,WAAmB,EAAiB,EAAE;IAChF,yBAAyB;
|
|
1
|
+
{"version":3,"file":"webresource.js","sourceRoot":"","sources":["../../src/creators/webresource.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16,8 +16,9 @@ const main = async () => {
|
|
|
16
16
|
type: "input",
|
|
17
17
|
name: "newProjectName",
|
|
18
18
|
message: "What is the name of your project?",
|
|
19
|
-
validate: (input) =>
|
|
20
|
-
|
|
19
|
+
validate: (input) => input === "." ||
|
|
20
|
+
/^([a-z0-9\-_])+$/.test(input) ||
|
|
21
|
+
'Project name may only include "." in order to use the parent directory name, lowercase letters, numbers, underscores, and hyphens.',
|
|
21
22
|
},
|
|
22
23
|
]);
|
|
23
24
|
projectName = newProjectName;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQvD,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC,CAAC;IAE3F,0CAA0C;IAC1C,IAAI,WAAW,GAAW,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAA6B;YAC5E;gBACC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,mCAAmC;gBAC5C,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAC3B,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC9B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED