nx-factory-cli 2.1.9 → 2.1.18
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/README.md +12 -12
- package/dist/commands/add-app.d.ts +1 -1
- package/dist/commands/add-app.d.ts.map +1 -1
- package/dist/commands/add-app.js +132 -63
- package/dist/commands/add-app.js.map +1 -1
- package/dist/commands/add-auth.d.ts.map +1 -1
- package/dist/commands/add-auth.js +114 -50
- package/dist/commands/add-auth.js.map +1 -1
- package/dist/commands/add-component.d.ts.map +1 -1
- package/dist/commands/add-component.js +78 -22
- package/dist/commands/add-component.js.map +1 -1
- package/dist/commands/add-lib.d.ts.map +1 -1
- package/dist/commands/add-lib.js +38 -31
- package/dist/commands/add-lib.js.map +1 -1
- package/dist/commands/add-storybook.d.ts.map +1 -1
- package/dist/commands/add-storybook.js +30 -15
- package/dist/commands/add-storybook.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +139 -46
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +267 -122
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +17 -10
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +37 -11
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/remove-component.d.ts.map +1 -1
- package/dist/commands/remove-component.js +24 -5
- package/dist/commands/remove-component.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +19 -6
- package/dist/commands/update.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +15 -0
- package/dist/config.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/resolve-root.js +1 -1
- package/dist/resolve-root.js.map +1 -1
- package/dist/setups/auth/base.d.ts +1 -2
- package/dist/setups/auth/base.d.ts.map +1 -1
- package/dist/setups/auth/base.js +7 -26
- package/dist/setups/auth/base.js.map +1 -1
- package/dist/setups/auth/types.d.ts +2 -1
- package/dist/setups/auth/types.d.ts.map +1 -1
- package/package.json +47 -43
|
@@ -2,29 +2,44 @@ import inquirer from "inquirer";
|
|
|
2
2
|
import path from "path";
|
|
3
3
|
import { pathExists } from "../files.js";
|
|
4
4
|
import { detectPackageManager, pmAdd, run } from "../exec.js";
|
|
5
|
-
import { loadConfig } from "../config.js";
|
|
6
|
-
import { requireMonorepoRoot, MonorepoRootNotFoundError } from "../resolve-root.js";
|
|
5
|
+
import { loadConfig, resolveScope, scopedPackageName } from "../config.js";
|
|
6
|
+
import { requireMonorepoRoot, MonorepoRootNotFoundError, } from "../resolve-root.js";
|
|
7
7
|
import { q, createStepRunner, printSection, printSuccess, printError, } from "../ui.js";
|
|
8
8
|
import { clerkScaffolder, betterAuthScaffolder, workosScaffolder, writeAuthPackageBase, } from "../setups/auth/index.js";
|
|
9
9
|
// ─── Provider menu ────────────────────────────────────────────────────────────
|
|
10
10
|
const PROVIDERS = [
|
|
11
|
-
{
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
{
|
|
12
|
+
value: "clerk",
|
|
13
|
+
name: "Clerk — hosted UI, zero-config, generous free tier",
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
value: "better-auth",
|
|
17
|
+
name: "Better Auth — open-source, self-hosted, SQLite / Postgres",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
value: "workos",
|
|
21
|
+
name: "WorkOS — enterprise SSO, SCIM, MFA, hosted AuthKit UI",
|
|
22
|
+
},
|
|
14
23
|
];
|
|
15
24
|
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
|
16
25
|
function getScaffolder(provider) {
|
|
17
26
|
switch (provider) {
|
|
18
|
-
case "clerk":
|
|
19
|
-
|
|
20
|
-
case "
|
|
27
|
+
case "clerk":
|
|
28
|
+
return clerkScaffolder;
|
|
29
|
+
case "better-auth":
|
|
30
|
+
return betterAuthScaffolder;
|
|
31
|
+
case "workos":
|
|
32
|
+
return workosScaffolder;
|
|
21
33
|
}
|
|
22
34
|
}
|
|
23
35
|
function providerDocs(provider) {
|
|
24
36
|
switch (provider) {
|
|
25
|
-
case "clerk":
|
|
26
|
-
|
|
27
|
-
case "
|
|
37
|
+
case "clerk":
|
|
38
|
+
return "https://clerk.com/docs";
|
|
39
|
+
case "better-auth":
|
|
40
|
+
return "https://www.better-auth.com/docs";
|
|
41
|
+
case "workos":
|
|
42
|
+
return "https://workos.com/docs/user-management";
|
|
28
43
|
}
|
|
29
44
|
return "";
|
|
30
45
|
}
|
|
@@ -36,7 +51,7 @@ async function listApps(root) {
|
|
|
36
51
|
const entries = await fs.readdir(appsDir, { withFileTypes: true });
|
|
37
52
|
return entries.filter((e) => e.isDirectory()).map((e) => e.name);
|
|
38
53
|
}
|
|
39
|
-
async function wireApps(root, apps, pm) {
|
|
54
|
+
async function wireApps(root, apps, pm, scope) {
|
|
40
55
|
const { default: fs } = await import("fs-extra");
|
|
41
56
|
const protocol = pm === "npm" ? "*" : "workspace:*";
|
|
42
57
|
for (const appName of apps) {
|
|
@@ -44,7 +59,10 @@ async function wireApps(root, apps, pm) {
|
|
|
44
59
|
if (!(await pathExists(pkgPath)))
|
|
45
60
|
continue;
|
|
46
61
|
const pkg = await fs.readJson(pkgPath);
|
|
47
|
-
pkg.dependencies = {
|
|
62
|
+
pkg.dependencies = {
|
|
63
|
+
...pkg.dependencies,
|
|
64
|
+
[scopedPackageName(scope, "auth")]: protocol,
|
|
65
|
+
};
|
|
48
66
|
await fs.writeJson(pkgPath, pkg, { spaces: 2 });
|
|
49
67
|
}
|
|
50
68
|
}
|
|
@@ -61,7 +79,7 @@ export async function addAuthCommand(options) {
|
|
|
61
79
|
title: "Could not find monorepo root",
|
|
62
80
|
detail: err.message,
|
|
63
81
|
recovery: [
|
|
64
|
-
{ label: "Initialise a new workspace:", cmd: "nx-factory init" },
|
|
82
|
+
{ label: "Initialise a new workspace:", cmd: "nx-factory-cli init" },
|
|
65
83
|
{ label: "Or navigate to your workspace root first.", cmd: "" },
|
|
66
84
|
],
|
|
67
85
|
});
|
|
@@ -70,7 +88,12 @@ export async function addAuthCommand(options) {
|
|
|
70
88
|
printError({
|
|
71
89
|
title: "Unexpected error resolving workspace root",
|
|
72
90
|
detail: String(err),
|
|
73
|
-
recovery: [
|
|
91
|
+
recovery: [
|
|
92
|
+
{
|
|
93
|
+
label: "Try running from your monorepo root:",
|
|
94
|
+
cmd: "cd <monorepo-root>",
|
|
95
|
+
},
|
|
96
|
+
],
|
|
74
97
|
});
|
|
75
98
|
}
|
|
76
99
|
process.exit(1);
|
|
@@ -83,12 +106,13 @@ export async function addAuthCommand(options) {
|
|
|
83
106
|
detail: "Remove or rename it before running add-auth again.",
|
|
84
107
|
recovery: [
|
|
85
108
|
{ label: "Remove:", cmd: "rm -rf packages/auth" },
|
|
86
|
-
{ label: "Then:", cmd: "nx-factory add-auth" },
|
|
109
|
+
{ label: "Then:", cmd: "nx-factory-cli add-auth" },
|
|
87
110
|
],
|
|
88
111
|
});
|
|
89
112
|
process.exit(1);
|
|
90
113
|
}
|
|
91
114
|
const cfg = await loadConfig();
|
|
115
|
+
const scope = resolveScope(cfg);
|
|
92
116
|
const detectedPm = await detectPackageManager(root);
|
|
93
117
|
const pm = detectedPm ?? cfg?.pkgManager ?? "pnpm";
|
|
94
118
|
const apps = await listApps(root);
|
|
@@ -99,36 +123,56 @@ export async function addAuthCommand(options) {
|
|
|
99
123
|
};
|
|
100
124
|
const answers = options.yes
|
|
101
125
|
? defaults
|
|
102
|
-
: await inquirer.prompt(
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
126
|
+
: await inquirer.prompt([
|
|
127
|
+
...(!options.provider
|
|
128
|
+
? [
|
|
129
|
+
{
|
|
130
|
+
type: "list",
|
|
131
|
+
name: "provider",
|
|
132
|
+
message: q("Auth provider", "all production-ready — pick based on your needs"),
|
|
133
|
+
choices: PROVIDERS.map((p) => ({
|
|
134
|
+
name: p.name,
|
|
135
|
+
value: p.value,
|
|
136
|
+
short: p.value,
|
|
137
|
+
})),
|
|
138
|
+
default: defaults.provider,
|
|
139
|
+
},
|
|
140
|
+
]
|
|
141
|
+
: []),
|
|
142
|
+
...(apps.length > 0
|
|
143
|
+
? [
|
|
144
|
+
{
|
|
145
|
+
type: "checkbox",
|
|
146
|
+
name: "selectedApps",
|
|
147
|
+
message: q(`Wire ${scopedPackageName(scope, "auth")} into which apps?`, "adds dep to package.json — run install after"),
|
|
148
|
+
choices: apps,
|
|
149
|
+
default: apps,
|
|
150
|
+
},
|
|
151
|
+
]
|
|
152
|
+
: []),
|
|
153
|
+
]);
|
|
118
154
|
const provider = (answers.provider ?? defaults.provider);
|
|
119
|
-
const selectedApps = (answers.selectedApps ??
|
|
155
|
+
const selectedApps = (answers.selectedApps ??
|
|
156
|
+
defaults.selectedApps);
|
|
120
157
|
const scaffolder = getScaffolder(provider);
|
|
121
158
|
// ── Dry run ────────────────────────────────────────────────────────────────
|
|
122
159
|
if (options.dryRun) {
|
|
123
160
|
printSection(`[dry run] Creating packages/auth — ${scaffolder.label}`);
|
|
124
161
|
const step = createStepRunner(4, true);
|
|
125
|
-
await step("Write package.json
|
|
162
|
+
await step("Write package.json and tsconfig.json", async () => { });
|
|
126
163
|
await step(`Scaffold ${scaffolder.label} ./files`, async () => { });
|
|
127
164
|
await step("Install provider npm packages", async () => { });
|
|
128
|
-
await step(selectedApps.length > 0
|
|
165
|
+
await step(selectedApps.length > 0
|
|
166
|
+
? `Wire into: ${selectedApps.join(", ")}`
|
|
167
|
+
: "No apps to wire", async () => { });
|
|
129
168
|
printSuccess({
|
|
130
169
|
title: "packages/auth ready (dry run — nothing written)",
|
|
131
|
-
commands: [
|
|
170
|
+
commands: [
|
|
171
|
+
{
|
|
172
|
+
cmd: `nx-factory-cli add-auth --provider ${provider}`,
|
|
173
|
+
comment: "run without --dry-run to apply",
|
|
174
|
+
},
|
|
175
|
+
],
|
|
132
176
|
});
|
|
133
177
|
return;
|
|
134
178
|
}
|
|
@@ -136,13 +180,14 @@ export async function addAuthCommand(options) {
|
|
|
136
180
|
printSection(`Creating packages/auth — ${scaffolder.label}`);
|
|
137
181
|
const step = createStepRunner(4);
|
|
138
182
|
await step("Write package base files", async () => {
|
|
139
|
-
await writeAuthPackageBase(authPkgDir, scaffolder,
|
|
183
|
+
await writeAuthPackageBase(authPkgDir, scaffolder, scope);
|
|
140
184
|
});
|
|
141
185
|
await step(`Scaffold ${scaffolder.label} source files`, async () => {
|
|
142
186
|
await scaffolder.scaffold(authPkgDir, {
|
|
143
187
|
provider,
|
|
144
188
|
workspaceRoot: root,
|
|
145
189
|
workspaceName: cfg?.workspaceName ?? "workspace",
|
|
190
|
+
scope,
|
|
146
191
|
pm,
|
|
147
192
|
});
|
|
148
193
|
});
|
|
@@ -157,36 +202,55 @@ export async function addAuthCommand(options) {
|
|
|
157
202
|
}
|
|
158
203
|
});
|
|
159
204
|
await step(selectedApps.length > 0
|
|
160
|
-
? `Add
|
|
205
|
+
? `Add ${scopedPackageName(scope, "auth")} to: ${selectedApps.join(", ")}`
|
|
161
206
|
: "Skip app wiring (no apps found)", async () => {
|
|
162
207
|
if (selectedApps.length > 0)
|
|
163
|
-
await wireApps(root, selectedApps, pm);
|
|
208
|
+
await wireApps(root, selectedApps, pm, scope);
|
|
164
209
|
});
|
|
165
210
|
// ── Success ────────────────────────────────────────────────────────────────
|
|
166
211
|
const nextSteps = [
|
|
167
212
|
{ cmd: `${pm} install`, comment: "install new deps across the workspace" },
|
|
168
|
-
{
|
|
169
|
-
|
|
213
|
+
{
|
|
214
|
+
cmd: "cat packages/auth/.env.example",
|
|
215
|
+
comment: "copy vars to your app's .env.local",
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
cmd: `${pm} nx build ${scopedPackageName(scope, "auth")}`,
|
|
219
|
+
comment: "build the auth package",
|
|
220
|
+
},
|
|
170
221
|
];
|
|
171
222
|
if (provider === "better-auth") {
|
|
172
|
-
nextSteps.push({
|
|
223
|
+
nextSteps.push({
|
|
224
|
+
cmd: "npx better-auth migrate",
|
|
225
|
+
comment: "create DB tables",
|
|
226
|
+
});
|
|
173
227
|
}
|
|
174
228
|
printSuccess({
|
|
175
229
|
title: `packages/auth created (${scaffolder.label})`,
|
|
176
230
|
commands: nextSteps,
|
|
177
231
|
tips: [
|
|
178
232
|
{ label: "Docs →", cmd: providerDocs(provider) },
|
|
179
|
-
{
|
|
233
|
+
{
|
|
234
|
+
label: "Next apps →",
|
|
235
|
+
cmd: `import { ... } from "${scopedPackageName(scope, "auth")}/next"`,
|
|
236
|
+
},
|
|
180
237
|
...(provider === "better-auth"
|
|
181
|
-
? [
|
|
238
|
+
? [
|
|
239
|
+
{
|
|
182
240
|
label: "Vite/Expo apps →",
|
|
183
|
-
cmd: `use
|
|
184
|
-
}
|
|
185
|
-
|
|
241
|
+
cmd: `use ${scopedPackageName(scope, "auth")}/client and set VITE_APP_URL/NEXT_PUBLIC_APP_URL to your auth host`,
|
|
242
|
+
},
|
|
243
|
+
]
|
|
244
|
+
: [
|
|
245
|
+
{
|
|
186
246
|
label: "Non-Next apps →",
|
|
187
|
-
cmd: `use
|
|
188
|
-
}
|
|
189
|
-
|
|
247
|
+
cmd: `use ${scopedPackageName(scope, "auth")}/client (+ provider app setup), ${scopedPackageName(scope, "auth")}/next is Next-only`,
|
|
248
|
+
},
|
|
249
|
+
]),
|
|
250
|
+
{
|
|
251
|
+
label: "Server import →",
|
|
252
|
+
cmd: `import { ... } from "${scopedPackageName(scope, "auth")}/server"`,
|
|
253
|
+
},
|
|
190
254
|
],
|
|
191
255
|
});
|
|
192
256
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-auth.js","sourceRoot":"","sources":["../../src/commands/add-auth.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"add-auth.js","sourceRoot":"","sources":["../../src/commands/add-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-component.d.ts","sourceRoot":"","sources":["../../src/commands/add-component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"add-component.d.ts","sourceRoot":"","sources":["../../src/commands/add-component.ts"],"names":[],"mappings":"AAyDA,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgF7E"}
|
|
@@ -1,28 +1,75 @@
|
|
|
1
1
|
import inquirer from "inquirer";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import { pathExists, writeFile } from "../files.js";
|
|
4
|
+
import { loadConfig, resolveScope, scopedPackageName } from "../config.js";
|
|
4
5
|
import { run, pmx, pmxArgs, detectPackageManager } from "../exec.js";
|
|
5
6
|
import { q, c, printSuccess, printError } from "../ui.js";
|
|
6
7
|
const ALL_SHADCN_COMPONENTS = [
|
|
7
|
-
"accordion",
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
8
|
+
"accordion",
|
|
9
|
+
"alert",
|
|
10
|
+
"alert-dialog",
|
|
11
|
+
"aspect-ratio",
|
|
12
|
+
"avatar",
|
|
13
|
+
"badge",
|
|
14
|
+
"breadcrumb",
|
|
15
|
+
"button",
|
|
16
|
+
"calendar",
|
|
17
|
+
"card",
|
|
18
|
+
"carousel",
|
|
19
|
+
"chart",
|
|
20
|
+
"checkbox",
|
|
21
|
+
"collapsible",
|
|
22
|
+
"command",
|
|
23
|
+
"context-menu",
|
|
24
|
+
"dialog",
|
|
25
|
+
"drawer",
|
|
26
|
+
"dropdown-menu",
|
|
27
|
+
"form",
|
|
28
|
+
"hover-card",
|
|
29
|
+
"input",
|
|
30
|
+
"input-otp",
|
|
31
|
+
"label",
|
|
32
|
+
"menubar",
|
|
33
|
+
"navigation-menu",
|
|
34
|
+
"pagination",
|
|
35
|
+
"popover",
|
|
36
|
+
"progress",
|
|
37
|
+
"radio-group",
|
|
38
|
+
"resizable",
|
|
39
|
+
"scroll-area",
|
|
40
|
+
"select",
|
|
41
|
+
"separator",
|
|
42
|
+
"sheet",
|
|
43
|
+
"sidebar",
|
|
44
|
+
"skeleton",
|
|
45
|
+
"slider",
|
|
46
|
+
"sonner",
|
|
47
|
+
"switch",
|
|
48
|
+
"table",
|
|
49
|
+
"tabs",
|
|
50
|
+
"textarea",
|
|
51
|
+
"toast",
|
|
52
|
+
"toggle",
|
|
53
|
+
"toggle-group",
|
|
54
|
+
"tooltip",
|
|
16
55
|
];
|
|
17
56
|
export async function addComponentCommand(components) {
|
|
18
|
-
const
|
|
57
|
+
const cfg = await loadConfig();
|
|
58
|
+
const scope = resolveScope(cfg);
|
|
59
|
+
const uiPkgDir = await detectUiPackageDir(cfg?.uiPackage);
|
|
19
60
|
if (!uiPkgDir) {
|
|
20
61
|
printError({
|
|
21
62
|
title: "UI package not found",
|
|
22
63
|
detail: "Run from the monorepo root or packages/ui directory.",
|
|
23
64
|
recovery: [
|
|
24
|
-
{
|
|
25
|
-
|
|
65
|
+
{
|
|
66
|
+
label: "From monorepo root:",
|
|
67
|
+
cmd: "nx-factory-cli add-component button",
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
label: "Or from the UI package:",
|
|
71
|
+
cmd: "cd packages/ui && nx-factory-cli add-component button",
|
|
72
|
+
},
|
|
26
73
|
],
|
|
27
74
|
});
|
|
28
75
|
process.exit(1);
|
|
@@ -40,15 +87,16 @@ export async function addComponentCommand(components) {
|
|
|
40
87
|
selectedComponents = answers.components;
|
|
41
88
|
}
|
|
42
89
|
const pm = (await detectPackageManager()) ?? "npm";
|
|
43
|
-
const pkgName = path.basename(uiPkgDir);
|
|
90
|
+
const pkgName = cfg?.uiPackage ?? path.basename(uiPkgDir);
|
|
91
|
+
const uiPackageName = scopedPackageName(scope, pkgName);
|
|
44
92
|
console.log(`\n ${c.dim("─".repeat(36))}`);
|
|
45
|
-
console.log(` ${c.dim(`Adding to
|
|
93
|
+
console.log(` ${c.dim(`Adding to ${uiPackageName}: ${selectedComponents.join(", ")}`)}`);
|
|
46
94
|
console.log(` ${c.dim("─".repeat(36))}\n`);
|
|
47
95
|
try {
|
|
48
96
|
await run(pmx(pm), pmxArgs(pm, "shadcn@latest", ["add", "--yes", ...selectedComponents]), { cwd: uiPkgDir });
|
|
49
|
-
await updateBarrelExports(uiPkgDir, selectedComponents);
|
|
97
|
+
await updateBarrelExports(uiPkgDir, selectedComponents, scope, pkgName);
|
|
50
98
|
const importCommands = selectedComponents.map((comp) => ({
|
|
51
|
-
cmd: `import { ${toComponentName(comp)} } from "
|
|
99
|
+
cmd: `import { ${toComponentName(comp)} } from "${uiPackageName}/components/ui/${comp}";`,
|
|
52
100
|
comment: "direct import (no barrel)",
|
|
53
101
|
}));
|
|
54
102
|
printSuccess({
|
|
@@ -69,7 +117,12 @@ export async function addComponentCommand(components) {
|
|
|
69
117
|
return;
|
|
70
118
|
}
|
|
71
119
|
}
|
|
72
|
-
async function detectUiPackageDir() {
|
|
120
|
+
async function detectUiPackageDir(uiPackage) {
|
|
121
|
+
const base = uiPackage ?? "ui";
|
|
122
|
+
const configured = path.join(process.cwd(), "packages", base);
|
|
123
|
+
if (await pathExists(path.join(configured, "components.json"))) {
|
|
124
|
+
return configured;
|
|
125
|
+
}
|
|
73
126
|
if (await pathExists(path.join(process.cwd(), "components.json"))) {
|
|
74
127
|
return process.cwd();
|
|
75
128
|
}
|
|
@@ -86,19 +139,22 @@ async function detectUiPackageDir() {
|
|
|
86
139
|
}
|
|
87
140
|
return null;
|
|
88
141
|
}
|
|
89
|
-
async function updateBarrelExports(uiPkgDir, components) {
|
|
142
|
+
async function updateBarrelExports(uiPkgDir, components, scope, pkgName) {
|
|
90
143
|
const indexTsxPath = path.join(uiPkgDir, "index.tsx");
|
|
91
144
|
const indexTsPath = path.join(uiPkgDir, "index.ts");
|
|
92
|
-
const indexPath = (await pathExists(indexTsxPath))
|
|
145
|
+
const indexPath = (await pathExists(indexTsxPath))
|
|
146
|
+
? indexTsxPath
|
|
147
|
+
: indexTsPath;
|
|
93
148
|
const { default: fs } = await import("fs-extra");
|
|
94
|
-
const
|
|
149
|
+
const uiPackageName = scopedPackageName(scope, pkgName);
|
|
95
150
|
let existing = "";
|
|
96
151
|
if (await pathExists(indexPath)) {
|
|
97
152
|
existing = await fs.readFile(indexPath, "utf-8");
|
|
98
153
|
}
|
|
99
154
|
const newExports = components
|
|
100
|
-
.filter((comp) => !existing.includes(
|
|
101
|
-
.
|
|
155
|
+
.filter((comp) => !existing.includes(`${uiPackageName}/components/ui/${comp}`) &&
|
|
156
|
+
!existing.includes(`./components/ui/${comp}`))
|
|
157
|
+
.map((comp) => `export * from "${uiPackageName}/components/ui/${comp}";`)
|
|
102
158
|
.join("\n");
|
|
103
159
|
if (newExports) {
|
|
104
160
|
if (existing && !existing.endsWith("\n"))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-component.js","sourceRoot":"","sources":["../../src/commands/add-component.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE1D,MAAM,qBAAqB,GAAG;
|
|
1
|
+
{"version":3,"file":"add-component.js","sourceRoot":"","sources":["../../src/commands/add-component.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-lib.d.ts","sourceRoot":"","sources":["../../src/commands/add-lib.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"add-lib.d.ts","sourceRoot":"","sources":["../../src/commands/add-lib.ts"],"names":[],"mappings":"AAkBA,UAAU,aAAa;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAsKzE"}
|