create-ec-app 1.1.0 → 1.3.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.
Files changed (80) hide show
  1. package/README.md +77 -0
  2. package/dist/index.js +304 -78
  3. package/dist/index.js.map +1 -1
  4. package/dist/pcf.d.ts.map +1 -1
  5. package/dist/pcf.js +82 -0
  6. package/dist/pcf.js.map +1 -1
  7. package/package.json +3 -1
  8. package/scripts/check-generated-css-scope.mjs +61 -0
  9. package/templates/base/package-lock.json +713 -1466
  10. package/templates/base/package.json +19 -19
  11. package/templates/base/src/App.tsx +1 -1
  12. package/templates/base/src/index.css +4 -1
  13. package/templates/base/src/main.tsx +4 -1
  14. package/templates/base/src/runtime/EcAppShell.tsx +29 -0
  15. package/templates/base/tsconfig.app.json +0 -1
  16. package/templates/base/tsconfig.json +1 -2
  17. package/templates/pcf/base/README.md +13 -0
  18. package/templates/pcf/base/index.ts +9 -3
  19. package/templates/pcf/base/package-lock.json +7290 -0
  20. package/templates/pcf/base/package.json +3 -3
  21. package/templates/targets/power-pages/src/App.patch.tsx +1 -1
  22. package/templates/targets/swa/package.patch.json +1 -1
  23. package/templates/ui/kendo/package.patch.json +2 -2
  24. package/templates/ui/kendo/src/main.patch.tsx +4 -1
  25. package/templates/ui/shadcn-ui/components.json +5 -2
  26. package/templates/ui/shadcn-ui/package.patch.json +3 -41
  27. package/templates/ui/shadcn-ui/src/index.patch.css +26 -9
  28. package/templates/ui/shadcn-ui/src/components/ui/accordion.tsx +0 -64
  29. package/templates/ui/shadcn-ui/src/components/ui/alert-dialog.tsx +0 -155
  30. package/templates/ui/shadcn-ui/src/components/ui/alert.tsx +0 -66
  31. package/templates/ui/shadcn-ui/src/components/ui/aspect-ratio.tsx +0 -11
  32. package/templates/ui/shadcn-ui/src/components/ui/avatar.tsx +0 -51
  33. package/templates/ui/shadcn-ui/src/components/ui/badge.tsx +0 -46
  34. package/templates/ui/shadcn-ui/src/components/ui/breadcrumb.tsx +0 -109
  35. package/templates/ui/shadcn-ui/src/components/ui/button-group.tsx +0 -83
  36. package/templates/ui/shadcn-ui/src/components/ui/button.tsx +0 -60
  37. package/templates/ui/shadcn-ui/src/components/ui/calendar.tsx +0 -216
  38. package/templates/ui/shadcn-ui/src/components/ui/card.tsx +0 -92
  39. package/templates/ui/shadcn-ui/src/components/ui/carousel.tsx +0 -239
  40. package/templates/ui/shadcn-ui/src/components/ui/chart.tsx +0 -357
  41. package/templates/ui/shadcn-ui/src/components/ui/checkbox.tsx +0 -32
  42. package/templates/ui/shadcn-ui/src/components/ui/collapsible.tsx +0 -31
  43. package/templates/ui/shadcn-ui/src/components/ui/command.tsx +0 -182
  44. package/templates/ui/shadcn-ui/src/components/ui/context-menu.tsx +0 -252
  45. package/templates/ui/shadcn-ui/src/components/ui/dialog.tsx +0 -141
  46. package/templates/ui/shadcn-ui/src/components/ui/drawer.tsx +0 -135
  47. package/templates/ui/shadcn-ui/src/components/ui/dropdown-menu.tsx +0 -255
  48. package/templates/ui/shadcn-ui/src/components/ui/empty.tsx +0 -104
  49. package/templates/ui/shadcn-ui/src/components/ui/field.tsx +0 -246
  50. package/templates/ui/shadcn-ui/src/components/ui/form.tsx +0 -167
  51. package/templates/ui/shadcn-ui/src/components/ui/hover-card.tsx +0 -44
  52. package/templates/ui/shadcn-ui/src/components/ui/input-group.tsx +0 -170
  53. package/templates/ui/shadcn-ui/src/components/ui/input-otp.tsx +0 -75
  54. package/templates/ui/shadcn-ui/src/components/ui/input.tsx +0 -21
  55. package/templates/ui/shadcn-ui/src/components/ui/item.tsx +0 -193
  56. package/templates/ui/shadcn-ui/src/components/ui/kbd.tsx +0 -28
  57. package/templates/ui/shadcn-ui/src/components/ui/label.tsx +0 -24
  58. package/templates/ui/shadcn-ui/src/components/ui/menubar.tsx +0 -274
  59. package/templates/ui/shadcn-ui/src/components/ui/navigation-menu.tsx +0 -168
  60. package/templates/ui/shadcn-ui/src/components/ui/pagination.tsx +0 -127
  61. package/templates/ui/shadcn-ui/src/components/ui/popover.tsx +0 -48
  62. package/templates/ui/shadcn-ui/src/components/ui/progress.tsx +0 -29
  63. package/templates/ui/shadcn-ui/src/components/ui/radio-group.tsx +0 -45
  64. package/templates/ui/shadcn-ui/src/components/ui/resizable.tsx +0 -54
  65. package/templates/ui/shadcn-ui/src/components/ui/scroll-area.tsx +0 -58
  66. package/templates/ui/shadcn-ui/src/components/ui/select.tsx +0 -185
  67. package/templates/ui/shadcn-ui/src/components/ui/separator.tsx +0 -28
  68. package/templates/ui/shadcn-ui/src/components/ui/sheet.tsx +0 -137
  69. package/templates/ui/shadcn-ui/src/components/ui/sidebar.tsx +0 -726
  70. package/templates/ui/shadcn-ui/src/components/ui/skeleton.tsx +0 -13
  71. package/templates/ui/shadcn-ui/src/components/ui/slider.tsx +0 -63
  72. package/templates/ui/shadcn-ui/src/components/ui/sonner.tsx +0 -38
  73. package/templates/ui/shadcn-ui/src/components/ui/spinner.tsx +0 -16
  74. package/templates/ui/shadcn-ui/src/components/ui/switch.tsx +0 -31
  75. package/templates/ui/shadcn-ui/src/components/ui/table.tsx +0 -114
  76. package/templates/ui/shadcn-ui/src/components/ui/tabs.tsx +0 -66
  77. package/templates/ui/shadcn-ui/src/components/ui/textarea.tsx +0 -18
  78. package/templates/ui/shadcn-ui/src/components/ui/toggle-group.tsx +0 -81
  79. package/templates/ui/shadcn-ui/src/components/ui/toggle.tsx +0 -45
  80. package/templates/ui/shadcn-ui/src/components/ui/tooltip.tsx +0 -61
package/README.md ADDED
@@ -0,0 +1,77 @@
1
+ # create-ec-app
2
+
3
+ CLI for scaffolding Enterprisecloud React apps from layered templates.
4
+
5
+ ## Scaffold An App
6
+
7
+ ```bash
8
+ npm run dev -- --project-name my-app --target webresource --ui shadcn-ui --no-install
9
+ ```
10
+
11
+ Targets include `webresource`, `power-pages`, and `swa`. UI layers include `shadcn-ui` and `kendo`.
12
+
13
+ ## shadcn/ui Generation
14
+
15
+ The shadcn template does not vendor generated component files. During scaffolding, the CLI copies the base and UI templates, replaces tokens such as `{{APP_NAME}}`, then runs:
16
+
17
+ ```bash
18
+ npx shadcn@latest add --all --yes --overwrite
19
+ ```
20
+
21
+ This keeps generated components aligned with the latest shadcn registry. The template `components.json` sets the Tailwind prefix to `ec`, which makes shadcn emit classes such as `ec:flex`.
22
+
23
+ After generation, the CLI applies small compatibility fixes for app embedding:
24
+
25
+ - Radix/Base UI portals render into the app-local portal root from `EcAppShell`.
26
+ - shadcn theme selectors are scoped to `.ec-app[data-ec-app-id="<app-name>"]`.
27
+ - Known generated selector issues are normalized so builds stay clean with current Vite/Tailwind.
28
+
29
+ ## Style Scoping
30
+
31
+ Every generated app is wrapped by `EcAppShell`:
32
+
33
+ ```tsx
34
+ <div className="ec-app" data-ec-app-id="my-app" data-ec-app-root="">
35
+ ```
36
+
37
+ Tailwind utilities are prefixed, and shadcn theme tokens are scoped by `data-ec-app-id`. This allows multiple generated apps, including nested parent/child apps with different themes, to coexist without overriding each other's theme variables.
38
+
39
+ ## Template Updates
40
+
41
+ To refresh template dependency ranges and lockfiles:
42
+
43
+ ```bash
44
+ bash update-templates.sh
45
+ ```
46
+
47
+ The script updates `package.patch.json` files, template `package.json` files, installs dependencies to refresh lockfiles, then removes template `node_modules` directories.
48
+
49
+ ## Generate A PCF Control
50
+
51
+ After creating a webresource app, build it first so `dist/main.css` exists:
52
+
53
+ ```bash
54
+ cd my-app
55
+ npm run build
56
+ ```
57
+
58
+ Then run the CLI from the app's parent folder:
59
+
60
+ ```bash
61
+ npm run dev -- --pcf-dir ./my-app
62
+ ```
63
+
64
+ This creates a PCF wrapper under the webresource project, reuses the app's built CSS, and keeps the generated app wrapped in `EcAppShell` so scoped styles and app-local portals continue to work inside the PCF host.
65
+
66
+ ## Verification
67
+
68
+ Useful checks before shipping template changes:
69
+
70
+ ```bash
71
+ npm run build
72
+ npm audit --audit-level=moderate --prefix templates/base
73
+ npm audit --audit-level=moderate --prefix templates/pcf/base
74
+ node scripts/check-generated-css-scope.mjs <generated-app-path>
75
+ ```
76
+
77
+ For shadcn changes, also generate a fresh app, run `npm run build`, and verify a nested parent/child fixture if the scoping model changed.
package/dist/index.js CHANGED
@@ -20,62 +20,33 @@ async function main() {
20
20
  return;
21
21
  }
22
22
  intro("Create EC App");
23
- const name = await text({
24
- message: "Project name",
25
- placeholder: "my-app",
26
- validate(value) {
27
- if (value.length === 0)
28
- return "Project name cannot be empty";
29
- if (value.toLocaleLowerCase() !== value)
30
- return "Project name must be lowercase";
31
- if (/\s/.test(value))
32
- return "Project name cannot contain spaces";
33
- if (/[^a-z0-9-_]/.test(value))
34
- return "Project name can only contain letters, numbers, hyphens, and underscores";
35
- },
36
- });
37
- if (isCancel(name)) {
38
- cancel("Operation cancelled.");
39
- process.exit(0);
40
- }
41
- const projectName = String(name).trim();
42
- log.step(`Creating project: ${projectName}`);
43
- const target = await select({
44
- message: "What are you building?",
45
- options: [
46
- { label: "Web Resource", value: "webresource" },
47
- { label: "Portal (WIP)", value: "portal" },
48
- { label: "Static Web App", value: "swa" },
49
- { label: "Power Pages", value: "power-pages" },
50
- ],
51
- });
52
- if (isCancel(target)) {
53
- cancel("Operation cancelled.");
54
- process.exit(0);
55
- }
56
- log.step(`Selected target: ${target}`);
57
- const uiType = await select({
58
- message: "What UI library do you want to use?",
59
- options: [
60
- { label: "Kendo UI", value: "kendo" },
61
- { label: "Shadcn/UI", value: "shadcn-ui" },
62
- ],
63
- });
64
- if (isCancel(uiType)) {
65
- cancel("Operation cancelled.");
66
- process.exit(0);
67
- }
68
- const shouldRunNpmInstall = await select({
69
- message: "Do you want to install dependencies?",
70
- options: [
71
- { label: "Yes", value: { run: true } },
72
- { label: "No", value: { run: false } },
73
- ],
74
- });
75
- if (isCancel(shouldRunNpmInstall)) {
76
- cancel("Operation cancelled.");
77
- process.exit(0);
23
+ const options = await resolveScaffoldOptions(cliArgs);
24
+ log.step(`Creating project: ${options.projectName}`);
25
+ log.step(`Selected target: ${options.target}`);
26
+ await scaffoldProject(options);
27
+ outro(`Scaffolded ${options.projectName} as ${options.target} with ${options.uiType}. Next steps: 'git remote origin add <url>'`);
28
+ }
29
+ async function resolveScaffoldOptions(cliArgs) {
30
+ const projectName = (cliArgs.projectName ?? (await promptProjectName())).trim();
31
+ const projectNameError = validateProjectName(projectName);
32
+ if (projectNameError) {
33
+ throw new Error(projectNameError);
78
34
  }
35
+ const target = cliArgs.target ?? (await promptTarget());
36
+ const uiType = cliArgs.uiType ?? (await promptUiType());
37
+ const shouldPromptForInstall = cliArgs.install === undefined &&
38
+ (!cliArgs.projectName || !cliArgs.target || !cliArgs.uiType);
39
+ const install = shouldPromptForInstall
40
+ ? await promptInstallDependencies()
41
+ : cliArgs.install ?? false;
42
+ return {
43
+ install,
44
+ projectName: projectName.trim(),
45
+ target,
46
+ uiType,
47
+ };
48
+ }
49
+ async function scaffoldProject({ install, projectName, target, uiType, }) {
79
50
  const projectDir = path.join(process.cwd(), projectName);
80
51
  const templatesRoot = path.join(__dirname, "..", "templates");
81
52
  const baseDir = path.join(templatesRoot, "base");
@@ -93,12 +64,13 @@ async function main() {
93
64
  TARGET: target,
94
65
  UI: uiType,
95
66
  });
67
+ const dependenciesInstalledByUiGenerator = uiType === "shadcn-ui" ? await generateShadcnUi(projectDir) : false;
96
68
  //WARN: This is a special case fix for having AuthContext in Kendo for Power Pages
97
69
  if (target === "power-pages" && uiType === "kendo") {
98
70
  const mainTsxPath = path.join(projectDir, "src", "main.tsx");
99
71
  await fs.writeFile(mainTsxPath, POWER_PAGES_KENDO_MAIN_TSX, "utf-8");
100
72
  }
101
- if (shouldRunNpmInstall.run) {
73
+ if (install && !dependenciesInstalledByUiGenerator) {
102
74
  const s = spinner();
103
75
  s.start("Running npm install...");
104
76
  const { execSync } = await import("node:child_process");
@@ -119,47 +91,298 @@ async function main() {
119
91
  stdio: "ignore",
120
92
  });
121
93
  sGit.stop("Git repository initialized.");
122
- outro(`Scaffolded ${projectName} as ${target} with ${uiType}. Next steps: 'git remote origin add <url>'`);
94
+ }
95
+ async function generateShadcnUi(projectDir) {
96
+ const s = spinner();
97
+ s.start("Generating shadcn/ui components...");
98
+ try {
99
+ execSync("npx shadcn@latest add --all --yes --overwrite", {
100
+ cwd: projectDir,
101
+ stdio: "inherit",
102
+ });
103
+ s.stop("shadcn/ui components generated.");
104
+ }
105
+ catch (error) {
106
+ s.stop("shadcn/ui component generation failed.");
107
+ throw error;
108
+ }
109
+ await localizeShadcnPortals(projectDir);
110
+ return true;
111
+ }
112
+ async function localizeShadcnPortals(projectDir) {
113
+ const componentsDir = path.join(projectDir, "src", "components", "ui");
114
+ if (!(await fs.pathExists(componentsDir))) {
115
+ return;
116
+ }
117
+ const entries = await fs.readdir(componentsDir, { withFileTypes: true });
118
+ for (const entry of entries) {
119
+ if (!entry.isFile() || !entry.name.endsWith(".tsx")) {
120
+ continue;
121
+ }
122
+ const filePath = path.join(componentsDir, entry.name);
123
+ const source = await fs.readFile(filePath, "utf8");
124
+ const updated = withGeneratedShadcnCompatibility(withEcPortalContainers(source, filePath));
125
+ if (updated !== source) {
126
+ await fs.writeFile(filePath, updated, "utf8");
127
+ }
128
+ }
129
+ }
130
+ function withEcPortalContainers(source, filePath) {
131
+ const withPortalContainers = source.replace(/<([A-Za-z][A-Za-z0-9]*Primitive)\.Portal\b(?![^>]*\bcontainer=)/g, "<$1.Portal container={portalContainer ?? undefined}");
132
+ if (withPortalContainers === source) {
133
+ return source;
134
+ }
135
+ return addEcPortalImport(addEcPortalHookDeclarations(withPortalContainers, filePath));
136
+ }
137
+ function withGeneratedShadcnCompatibility(source) {
138
+ const withChartAttributeSelectors = source
139
+ .replace(/\[stroke=#ccc\]/g, "[stroke='#ccc']")
140
+ .replace(/\[stroke=#fff\]/g, "[stroke='#fff']")
141
+ .replace(/"cn-input-otp flex items-center has-disabled:opacity-50"/g, '"cn-input-otp ec:flex ec:items-center ec:has-disabled:opacity-50"')
142
+ .replace(/String\.raw`rtl:/g, "String.raw`ec:rtl:");
143
+ if (!withChartAttributeSelectors.includes('from "react-day-picker"')) {
144
+ return withChartAttributeSelectors;
145
+ }
146
+ return withChartAttributeSelectors.replace(/(\n\s*)table:/g, "$1month_grid:");
147
+ }
148
+ function addEcPortalImport(source) {
149
+ if (source.includes('from "@/runtime/EcAppShell"')) {
150
+ return source;
151
+ }
152
+ const importPattern = /import[\s\S]*?from\s+["'][^"']+["'];?\n|import\s+["'][^"']+["'];?\n/g;
153
+ let insertAt = 0;
154
+ for (const match of source.matchAll(importPattern)) {
155
+ insertAt = (match.index ?? 0) + match[0].length;
156
+ }
157
+ const importLine = 'import { useEcPortalContainer } from "@/runtime/EcAppShell"\n';
158
+ return `${source.slice(0, insertAt)}${importLine}${source.slice(insertAt)}`;
159
+ }
160
+ function addEcPortalHookDeclarations(source, filePath) {
161
+ const lines = source.split("\n");
162
+ const hookBodyLines = new Set();
163
+ for (let index = 0; index < lines.length; index += 1) {
164
+ if (!lines[index]?.includes("container={portalContainer ?? undefined}")) {
165
+ continue;
166
+ }
167
+ const bodyLine = findContainingFunctionBodyLine(lines, index);
168
+ if (bodyLine === undefined) {
169
+ throw new Error(`Could not locate a function body for a shadcn Portal in ${filePath}.`);
170
+ }
171
+ hookBodyLines.add(bodyLine);
172
+ }
173
+ for (const bodyLine of [...hookBodyLines].sort((a, b) => b - a)) {
174
+ if (lines[bodyLine + 1]?.includes("const portalContainer")) {
175
+ continue;
176
+ }
177
+ const indent = lines[bodyLine]?.match(/^(\s*)/)?.[1] ?? "";
178
+ lines.splice(bodyLine + 1, 0, `${indent} const portalContainer = useEcPortalContainer()`);
179
+ }
180
+ return lines.join("\n");
181
+ }
182
+ function findContainingFunctionBodyLine(lines, portalLine) {
183
+ for (let index = portalLine; index >= 0; index -= 1) {
184
+ if (!/^\s*function\s+\w+/.test(lines[index] ?? "")) {
185
+ continue;
186
+ }
187
+ for (let bodyLine = index; bodyLine <= portalLine; bodyLine += 1) {
188
+ if (/\)\s*\{\s*$/.test(lines[bodyLine] ?? "")) {
189
+ return bodyLine;
190
+ }
191
+ }
192
+ }
193
+ return undefined;
123
194
  }
124
195
  main().catch((err) => {
125
196
  console.error(err);
126
197
  process.exit(1);
127
198
  });
199
+ async function promptProjectName() {
200
+ const name = await text({
201
+ message: "Project name",
202
+ placeholder: "my-app",
203
+ validate: validateProjectName,
204
+ });
205
+ if (isCancel(name)) {
206
+ cancel("Operation cancelled.");
207
+ process.exit(0);
208
+ }
209
+ return String(name).trim();
210
+ }
211
+ async function promptTarget() {
212
+ const target = await select({
213
+ message: "What are you building?",
214
+ options: [
215
+ { label: "Web Resource", value: "webresource" },
216
+ { label: "Portal (WIP)", value: "portal" },
217
+ { label: "Static Web App", value: "swa" },
218
+ { label: "Power Pages", value: "power-pages" },
219
+ ],
220
+ });
221
+ if (isCancel(target)) {
222
+ cancel("Operation cancelled.");
223
+ process.exit(0);
224
+ }
225
+ return target;
226
+ }
227
+ async function promptUiType() {
228
+ const uiType = await select({
229
+ message: "What UI library do you want to use?",
230
+ options: [
231
+ { label: "Kendo UI", value: "kendo" },
232
+ { label: "Shadcn/UI", value: "shadcn-ui" },
233
+ ],
234
+ });
235
+ if (isCancel(uiType)) {
236
+ cancel("Operation cancelled.");
237
+ process.exit(0);
238
+ }
239
+ return uiType;
240
+ }
241
+ async function promptInstallDependencies() {
242
+ const shouldRunNpmInstall = await select({
243
+ message: "Do you want to install dependencies?",
244
+ options: [
245
+ { label: "Yes", value: { run: true } },
246
+ { label: "No", value: { run: false } },
247
+ ],
248
+ });
249
+ if (isCancel(shouldRunNpmInstall)) {
250
+ cancel("Operation cancelled.");
251
+ process.exit(0);
252
+ }
253
+ return shouldRunNpmInstall.run;
254
+ }
255
+ function validateProjectName(value) {
256
+ if (value.length === 0)
257
+ return "Project name cannot be empty";
258
+ if (value.toLocaleLowerCase() !== value)
259
+ return "Project name must be lowercase";
260
+ if (/\s/.test(value))
261
+ return "Project name cannot contain spaces";
262
+ if (/[^a-z0-9-_]/.test(value))
263
+ return "Project name can only contain letters, numbers, hyphens, and underscores";
264
+ return undefined;
265
+ }
128
266
  function parseCliArgs(argv) {
129
267
  const read = (name) => {
268
+ const equalsPrefix = `${name}=`;
269
+ const equalsValue = argv.find((arg) => arg.startsWith(equalsPrefix));
270
+ if (equalsValue) {
271
+ return equalsValue.slice(equalsPrefix.length);
272
+ }
130
273
  const index = argv.indexOf(name);
131
- return index >= 0 ? argv[index + 1] : undefined;
274
+ const value = index >= 0 ? argv[index + 1] : undefined;
275
+ return value && !value.startsWith("--") ? value : undefined;
132
276
  };
133
277
  const readAll = (name) => {
134
278
  const values = [];
279
+ const equalsPrefix = `${name}=`;
135
280
  for (let index = 0; index < argv.length; index += 1) {
136
- if (argv[index] === name && argv[index + 1]) {
281
+ const arg = argv[index];
282
+ if (arg?.startsWith(equalsPrefix)) {
283
+ values.push(arg.slice(equalsPrefix.length));
284
+ }
285
+ if (arg === name &&
286
+ argv[index + 1] &&
287
+ !argv[index + 1]?.startsWith("--")) {
137
288
  values.push(argv[index + 1]);
138
289
  }
139
290
  }
140
291
  return values;
141
292
  };
142
- const readNumber = (name) => {
143
- const value = read(name);
144
- if (!value)
145
- return undefined;
146
- const parsed = Number(value);
147
- return Number.isFinite(parsed) ? parsed : undefined;
148
- };
293
+ const has = (name) => argv.includes(name);
294
+ const target = readTarget(argv);
295
+ const uiType = readUiType(argv);
296
+ const layers = readAll("--layer");
297
+ if (has("--install") && has("--no-install")) {
298
+ throw new Error("Use only one dependency option: --install or --no-install.");
299
+ }
300
+ const install = has("--install") ? true : has("--no-install") ? false : undefined;
149
301
  return {
150
- pcfDir: read("--pcf-dir"),
151
- controlConstructor: read("--constructor"),
152
- description: read("--description"),
153
- displayName: read("--display-name"),
154
- dist: read("--dist"),
155
- layers: readAll("--layer"),
156
- namespace: read("--namespace"),
157
- output: read("--output"),
158
- packageName: read("--package-name"),
159
- template: read("--template"),
160
- version: read("--version"),
302
+ ...defined("pcfDir", read("--pcf-dir")),
303
+ ...defined("controlConstructor", read("--constructor")),
304
+ ...defined("description", read("--description")),
305
+ ...defined("displayName", read("--display-name")),
306
+ ...defined("dist", read("--dist")),
307
+ ...(layers.length > 0 ? { layers } : {}),
308
+ ...defined("namespace", read("--namespace")),
309
+ ...defined("output", read("--output")),
310
+ ...defined("packageName", read("--package-name")),
311
+ ...defined("template", read("--template")),
312
+ ...defined("version", read("--version")),
313
+ ...defined("projectName", read("--project-name") ?? read("--name")),
314
+ ...defined("target", target),
315
+ ...defined("uiType", uiType),
316
+ ...defined("install", install),
161
317
  };
162
318
  }
319
+ function defined(key, value) {
320
+ return value === undefined ? {} : { [key]: value };
321
+ }
322
+ function readTarget(argv) {
323
+ const targetFlags = [
324
+ ["--webresource", "webresource"],
325
+ ["--portal", "portal"],
326
+ ["--power-pages", "power-pages"],
327
+ ["--swa", "swa"],
328
+ ];
329
+ const selected = targetFlags.filter(([flag]) => argv.includes(flag));
330
+ const targetValue = readStringOption(argv, "--target");
331
+ if (selected.length > 1 || (selected.length === 1 && targetValue)) {
332
+ throw new Error("Use only one target option: --webresource, --portal, --power-pages, --swa, or --target.");
333
+ }
334
+ if (selected.length === 1) {
335
+ return selected[0]?.[1];
336
+ }
337
+ if (!targetValue) {
338
+ return undefined;
339
+ }
340
+ if (isAppTarget(targetValue)) {
341
+ return targetValue;
342
+ }
343
+ throw new Error(`Unsupported target "${targetValue}". Use webresource, portal, power-pages, or swa.`);
344
+ }
345
+ function readUiType(argv) {
346
+ const uiFlags = [
347
+ ["--kendo", "kendo"],
348
+ ["--shadcn", "shadcn-ui"],
349
+ ["--shadcn-ui", "shadcn-ui"],
350
+ ];
351
+ const selected = uiFlags.filter(([flag]) => argv.includes(flag));
352
+ const uiValue = readStringOption(argv, "--ui");
353
+ if (selected.length > 1 || (selected.length === 1 && uiValue)) {
354
+ throw new Error("Use only one UI option: --kendo, --shadcn, --shadcn-ui, or --ui.");
355
+ }
356
+ if (selected.length === 1) {
357
+ return selected[0]?.[1];
358
+ }
359
+ if (!uiValue) {
360
+ return undefined;
361
+ }
362
+ if (isUiTarget(uiValue)) {
363
+ return uiValue;
364
+ }
365
+ if (uiValue === "shadcn") {
366
+ return "shadcn-ui";
367
+ }
368
+ throw new Error(`Unsupported UI "${uiValue}". Use kendo, shadcn, or shadcn-ui.`);
369
+ }
370
+ function readStringOption(argv, name) {
371
+ const equalsPrefix = `${name}=`;
372
+ const equalsValue = argv.find((arg) => arg.startsWith(equalsPrefix));
373
+ if (equalsValue) {
374
+ return equalsValue.slice(equalsPrefix.length);
375
+ }
376
+ const index = argv.indexOf(name);
377
+ const value = index >= 0 ? argv[index + 1] : undefined;
378
+ return value && !value.startsWith("--") ? value : undefined;
379
+ }
380
+ function isAppTarget(value) {
381
+ return ["webresource", "portal", "power-pages", "swa"].includes(value);
382
+ }
383
+ function isUiTarget(value) {
384
+ return ["kendo", "shadcn-ui"].includes(value);
385
+ }
163
386
  function stripUndefined(value) {
164
387
  const entries = Object.entries(value).filter(([, entryValue]) => entryValue !== undefined);
165
388
  return Object.fromEntries(entries);
@@ -171,6 +394,7 @@ import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
171
394
  import "@progress/kendo-theme-fluent/dist/all.css";
172
395
  import "./index.css";
173
396
  import App from "./App.tsx";
397
+ import { EcAppShell } from "./runtime/EcAppShell.tsx";
174
398
 
175
399
  import { AuthProvider } from "./context/AuthContext.tsx";
176
400
 
@@ -193,7 +417,9 @@ root.render(
193
417
  <StrictMode>
194
418
  <AuthProvider>
195
419
  <QueryClientProvider client={queryClient}>
196
- <App />
420
+ <EcAppShell>
421
+ <App />
422
+ </EcAppShell>
197
423
  </QueryClientProvider>
198
424
  </AuthProvider>
199
425
  </StrictMode>
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/pcf.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pcf.d.ts","sourceRoot":"","sources":["../src/pcf.ts"],"names":[],"mappings":"AAyBA,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAsB,kCAAkC,CACvD,OAAO,EAAE,aAAa,GACpB,OAAO,CAAC;IACV,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC,CA0FD"}
1
+ {"version":3,"file":"pcf.d.ts","sourceRoot":"","sources":["../src/pcf.ts"],"names":[],"mappings":"AA0DA,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAsB,kCAAkC,CACvD,OAAO,EAAE,aAAa,GACpB,OAAO,CAAC;IACV,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC,CAkGD"}