@linktr.ee/linkapp 0.0.37 ā 0.0.39
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/dev-server/featured/main.tsx +1 -1
- package/dev-server/preview/{preview.tsx ā Preview.tsx} +1 -1
- package/dev-server/sheet/main.tsx +1 -1
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +84 -59
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +66 -84
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/deploy.d.ts +15 -10
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +26 -199
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +124 -171
- package/dist/commands/dev.js.map +1 -1
- package/dist/lib/config/resolve-config-path.d.ts +19 -0
- package/dist/lib/config/resolve-config-path.d.ts.map +1 -0
- package/dist/lib/config/resolve-config-path.js +54 -0
- package/dist/lib/config/resolve-config-path.js.map +1 -0
- package/dist/lib/deploy/artifacts.d.ts +21 -0
- package/dist/lib/deploy/artifacts.d.ts.map +1 -0
- package/dist/lib/deploy/artifacts.js +35 -0
- package/dist/lib/deploy/artifacts.js.map +1 -0
- package/dist/lib/deploy/confirmation.d.ts +12 -0
- package/dist/lib/deploy/confirmation.d.ts.map +1 -0
- package/dist/lib/deploy/confirmation.js +30 -0
- package/dist/lib/deploy/confirmation.js.map +1 -0
- package/dist/lib/deploy/context.d.ts +44 -0
- package/dist/lib/deploy/context.d.ts.map +1 -0
- package/dist/lib/deploy/context.js +39 -0
- package/dist/lib/deploy/context.js.map +1 -0
- package/dist/lib/deploy/deploy-output.d.ts +10 -0
- package/dist/lib/deploy/deploy-output.d.ts.map +1 -0
- package/dist/lib/deploy/deploy-output.js +79 -0
- package/dist/lib/deploy/deploy-output.js.map +1 -0
- package/dist/lib/deploy/deploy-phases.d.ts +41 -0
- package/dist/lib/deploy/deploy-phases.d.ts.map +1 -0
- package/dist/lib/deploy/deploy-phases.js +116 -0
- package/dist/lib/deploy/deploy-phases.js.map +1 -0
- package/dist/lib/deploy/deploy-utils.d.ts +53 -0
- package/dist/lib/deploy/deploy-utils.d.ts.map +1 -0
- package/dist/lib/deploy/deploy-utils.js +149 -0
- package/dist/lib/deploy/deploy-utils.js.map +1 -0
- package/dist/lib/deploy/execution.d.ts +24 -0
- package/dist/lib/deploy/execution.d.ts.map +1 -0
- package/dist/lib/deploy/execution.js +29 -0
- package/dist/lib/deploy/execution.js.map +1 -0
- package/dist/lib/deploy/output.d.ts +16 -0
- package/dist/lib/deploy/output.d.ts.map +1 -0
- package/dist/lib/deploy/output.js +115 -0
- package/dist/lib/deploy/output.js.map +1 -0
- package/dist/lib/deploy/pack-project.js +2 -2
- package/dist/lib/deploy/pack-project.js.map +1 -1
- package/dist/lib/deploy/preflight.d.ts +9 -0
- package/dist/lib/deploy/preflight.d.ts.map +1 -0
- package/dist/lib/deploy/preflight.js +59 -0
- package/dist/lib/deploy/preflight.js.map +1 -0
- package/dist/lib/deploy/validation.d.ts.map +1 -1
- package/dist/lib/deploy/validation.js +6 -8
- package/dist/lib/deploy/validation.js.map +1 -1
- package/dist/lib/utils/constants.d.ts +42 -0
- package/dist/lib/utils/constants.d.ts.map +1 -0
- package/dist/lib/utils/constants.js +42 -0
- package/dist/lib/utils/constants.js.map +1 -0
- package/dist/lib/utils/errors.d.ts +49 -0
- package/dist/lib/utils/errors.d.ts.map +1 -0
- package/dist/lib/utils/errors.js +70 -0
- package/dist/lib/utils/errors.js.map +1 -0
- package/dist/lib/utils/formatters.d.ts +34 -0
- package/dist/lib/utils/formatters.d.ts.map +1 -0
- package/dist/lib/utils/formatters.js +59 -0
- package/dist/lib/utils/formatters.js.map +1 -0
- package/dist/lib/utils/output.d.ts +46 -0
- package/dist/lib/utils/output.d.ts.map +1 -0
- package/dist/lib/utils/output.js +66 -0
- package/dist/lib/utils/output.js.map +1 -0
- package/dist/sdk/use-open-popup.d.ts +23 -0
- package/dist/sdk/use-open-popup.d.ts.map +1 -0
- package/dist/sdk/use-open-popup.js +29 -0
- package/dist/sdk/use-open-popup.js.map +1 -0
- package/package.json +3 -28
- package/runtime/index.html +0 -1
|
@@ -20,7 +20,7 @@ declare global {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
// Preview props injected by dev server via
|
|
23
|
+
// Preview props injected by dev server via define
|
|
24
24
|
declare const __PREVIEW_PROPS__: Record<string, unknown>;
|
|
25
25
|
|
|
26
26
|
// Extract just the variables from THEME_PRESETS for theme lookups
|
|
@@ -55,7 +55,7 @@ export default function Preview() {
|
|
|
55
55
|
return saved || undefined;
|
|
56
56
|
});
|
|
57
57
|
|
|
58
|
-
// Chin configuration
|
|
58
|
+
// Chin configuration from build-time constants
|
|
59
59
|
const chinPosition = __SETTINGS_CONFIG__?.featured_chin_position;
|
|
60
60
|
const chinTitle = __PREVIEW_PROPS__?.linkTitle as string | undefined;
|
|
61
61
|
const isOverlay =
|
|
@@ -12,7 +12,7 @@ declare global {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
// Preview props injected by dev server via
|
|
15
|
+
// Preview props injected by dev server via define
|
|
16
16
|
declare const __PREVIEW_PROPS__: Record<string, unknown>;
|
|
17
17
|
|
|
18
18
|
// Extract just the variables from THEME_PRESETS for theme lookups
|
package/dist/cli.js
CHANGED
|
@@ -29,6 +29,7 @@ cli
|
|
|
29
29
|
.command('deploy', 'Deploy LinkApp to Linktree')
|
|
30
30
|
.option('--qa', 'Deploy to QA environment instead of production')
|
|
31
31
|
.option('--skip-confirm', 'Skip deployment confirmation prompt')
|
|
32
|
+
.option('--force', 'Force deployment even if LinkApp is published')
|
|
32
33
|
.action(deployCommand);
|
|
33
34
|
// Add command
|
|
34
35
|
cli
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAE7E,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAA;AAE1B,eAAe;AACf,MAAM,OAAO,GAAG,OAAO,CAAA;AAEvB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;AAE3B,cAAc;AACd,GAAG;KACA,OAAO,CAAC,KAAK,EAAE,uCAAuC,CAAC;KACvD,MAAM,CAAC,eAAe,EAAE,qCAAqC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KACjF,MAAM,CAAC,UAAU,CAAC,CAAA;AAErB,gBAAgB;AAChB,GAAG;KACA,OAAO,CAAC,OAAO,EAAE,8BAA8B,CAAC;KAChD,MAAM,CAAC,WAAW,EAAE,6DAA6D,CAAC;KAClF,MAAM,CAAC,WAAW,EAAE,4CAA4C,CAAC;KACjE,MAAM,CAAC,aAAa,EAAE,0CAA0C,CAAC;KACjE,MAAM,CAAC,YAAY,EAAE,iEAAiE,CAAC;KACvF,MAAM,CAAC,YAAY,CAAC,CAAA;AAEvB,iBAAiB;AACjB,GAAG;KACA,OAAO,CAAC,QAAQ,EAAE,4BAA4B,CAAC;KAC/C,MAAM,CAAC,MAAM,EAAE,gDAAgD,CAAC;KAChE,MAAM,CAAC,gBAAgB,EAAE,qCAAqC,CAAC;KAC/D,MAAM,CAAC,aAAa,CAAC,CAAA;AAExB,cAAc;AACd,GAAG;KACA,OAAO,CAAC,iBAAiB,EAAE,mCAAmC,CAAC;KAC/D,MAAM,CAAC,OAAO,EAAE,2BAA2B,CAAC;KAC5C,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;KACjD,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;KACjD,MAAM,CAAC,UAAU,CAAC,CAAA;AAErB,gBAAgB;AAChB,GAAG;KACA,OAAO,CAAC,OAAO,EAAE,4BAA4B,CAAC;KAC9C,MAAM,CAAC,MAAM,EAAE,+CAA+C,CAAC;KAC/D,MAAM,CAAC,YAAY,CAAC,CAAA;AAEvB,iBAAiB;AACjB,GAAG;KACA,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC;KACzC,MAAM,CAAC,MAAM,EAAE,kDAAkD,CAAC;KAClE,MAAM,CAAC,aAAa,CAAC,CAAA;AAExB,uBAAuB;AACvB,GAAG,CAAC,OAAO,CAAC,4BAA4B,EAAE,oCAAoC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAA;AAEhH,gBAAgB;AAChB,GAAG,CAAC,KAAK,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAE7E,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAA;AAE1B,eAAe;AACf,MAAM,OAAO,GAAG,OAAO,CAAA;AAEvB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;AAE3B,cAAc;AACd,GAAG;KACA,OAAO,CAAC,KAAK,EAAE,uCAAuC,CAAC;KACvD,MAAM,CAAC,eAAe,EAAE,qCAAqC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KACjF,MAAM,CAAC,UAAU,CAAC,CAAA;AAErB,gBAAgB;AAChB,GAAG;KACA,OAAO,CAAC,OAAO,EAAE,8BAA8B,CAAC;KAChD,MAAM,CAAC,WAAW,EAAE,6DAA6D,CAAC;KAClF,MAAM,CAAC,WAAW,EAAE,4CAA4C,CAAC;KACjE,MAAM,CAAC,aAAa,EAAE,0CAA0C,CAAC;KACjE,MAAM,CAAC,YAAY,EAAE,iEAAiE,CAAC;KACvF,MAAM,CAAC,YAAY,CAAC,CAAA;AAEvB,iBAAiB;AACjB,GAAG;KACA,OAAO,CAAC,QAAQ,EAAE,4BAA4B,CAAC;KAC/C,MAAM,CAAC,MAAM,EAAE,gDAAgD,CAAC;KAChE,MAAM,CAAC,gBAAgB,EAAE,qCAAqC,CAAC;KAC/D,MAAM,CAAC,SAAS,EAAE,+CAA+C,CAAC;KAClE,MAAM,CAAC,aAAa,CAAC,CAAA;AAExB,cAAc;AACd,GAAG;KACA,OAAO,CAAC,iBAAiB,EAAE,mCAAmC,CAAC;KAC/D,MAAM,CAAC,OAAO,EAAE,2BAA2B,CAAC;KAC5C,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;KACjD,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;KACjD,MAAM,CAAC,UAAU,CAAC,CAAA;AAErB,gBAAgB;AAChB,GAAG;KACA,OAAO,CAAC,OAAO,EAAE,4BAA4B,CAAC;KAC9C,MAAM,CAAC,MAAM,EAAE,+CAA+C,CAAC;KAC/D,MAAM,CAAC,YAAY,CAAC,CAAA;AAEvB,iBAAiB;AACjB,GAAG;KACA,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC;KACzC,MAAM,CAAC,MAAM,EAAE,kDAAkD,CAAC;KAClE,MAAM,CAAC,aAAa,CAAC,CAAA;AAExB,uBAAuB;AACvB,GAAG,CAAC,OAAO,CAAC,4BAA4B,EAAE,oCAAoC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAA;AAEhH,gBAAgB;AAChB,GAAG,CAAC,KAAK,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAOA,UAAU,UAAU;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAuBD,wBAAsB,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB5F"}
|
package/dist/commands/add.js
CHANGED
|
@@ -1,78 +1,103 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import * as p from "@clack/prompts";
|
|
5
|
+
import pc from "picocolors";
|
|
6
|
+
// Constants
|
|
7
|
+
const DEFAULT_REGISTRY = process.env.LINKAPP_REGISTRY_URL ||
|
|
8
|
+
"https://create-linkapp-registry.vercel.app/r";
|
|
9
|
+
const AVAILABLE_COMPONENTS = ["button", "container", "embed", "skeleton", "switch"];
|
|
10
|
+
// Utilities
|
|
11
|
+
const writeLine = (message = "") => {
|
|
7
12
|
process.stdout.write(`${message}\n`);
|
|
8
13
|
};
|
|
9
|
-
|
|
10
|
-
|
|
14
|
+
const exitWithError = (message, hint) => {
|
|
15
|
+
writeLine(pc.red(`ā ${message}`));
|
|
16
|
+
if (hint) {
|
|
17
|
+
writeLine(pc.dim(hint));
|
|
18
|
+
}
|
|
19
|
+
process.exit(1);
|
|
20
|
+
};
|
|
21
|
+
// Main command
|
|
11
22
|
export async function addCommand(component, options = {}) {
|
|
12
|
-
writeLine(pc.cyan(
|
|
23
|
+
writeLine(pc.cyan("š¦ Adding components from LinkApp registry..."));
|
|
13
24
|
writeLine();
|
|
14
25
|
try {
|
|
15
|
-
//
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
writeLine(pc.red('ā components.json not found'));
|
|
20
|
-
writeLine(pc.dim('Please run this command from a LinkApp project root'));
|
|
21
|
-
process.exit(1);
|
|
22
|
-
}
|
|
23
|
-
// Determine the registry URL (priority: CLI flag > env var > default)
|
|
26
|
+
// Validate inputs first (fail fast)
|
|
27
|
+
validateComponent(component);
|
|
28
|
+
validateProjectStructure();
|
|
29
|
+
// Resolve component URL
|
|
24
30
|
const registryUrl = options.registry || DEFAULT_REGISTRY;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
writeLine(pc.dim(' ⢠switch'));
|
|
33
|
-
writeLine();
|
|
34
|
-
writeLine(pc.dim('Example: linkapp add button'));
|
|
35
|
-
process.exit(1);
|
|
36
|
-
}
|
|
37
|
-
// Check if it's a full URL or just a component name
|
|
38
|
-
if (component.startsWith('http://') || component.startsWith('https://')) {
|
|
39
|
-
componentUrl = component;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
componentUrl = `${registryUrl}/${component}.json`;
|
|
43
|
-
}
|
|
44
|
-
writeLine(pc.dim(`Installing from: ${componentUrl}`));
|
|
31
|
+
const componentUrl = resolveComponentUrl(component, registryUrl);
|
|
32
|
+
// Install component
|
|
33
|
+
await installComponent(component, componentUrl, options);
|
|
34
|
+
// Show success message
|
|
35
|
+
showSuccessMessage(component);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
45
38
|
writeLine();
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
s.start(`Installing ${component}`);
|
|
56
|
-
await runShadcnCommand(args);
|
|
57
|
-
s.stop(pc.green(`ā Successfully installed ${component}`));
|
|
39
|
+
writeLine(pc.red("ā Failed to add component:"));
|
|
40
|
+
writeLine(pc.dim(` ${error instanceof Error ? error.message : error}`));
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Validation functions
|
|
45
|
+
function validateComponent(component) {
|
|
46
|
+
if (!component) {
|
|
47
|
+
writeLine(pc.red("ā Please specify a component name"));
|
|
58
48
|
writeLine();
|
|
59
|
-
writeLine(pc.dim(
|
|
60
|
-
|
|
49
|
+
writeLine(pc.dim("Available components:"));
|
|
50
|
+
for (const comp of AVAILABLE_COMPONENTS) {
|
|
51
|
+
writeLine(pc.dim(` ⢠${comp}`));
|
|
52
|
+
}
|
|
61
53
|
writeLine();
|
|
62
|
-
|
|
63
|
-
catch (error) {
|
|
64
|
-
console.error(pc.red('\\nā Failed to add component:'), error);
|
|
54
|
+
writeLine(pc.dim("Example: linkapp add button"));
|
|
65
55
|
process.exit(1);
|
|
66
56
|
}
|
|
67
57
|
}
|
|
58
|
+
function validateProjectStructure() {
|
|
59
|
+
const componentsJsonPath = join(process.cwd(), "components.json");
|
|
60
|
+
if (!existsSync(componentsJsonPath)) {
|
|
61
|
+
exitWithError("components.json not found", "Please run this command from a LinkApp project root");
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Helper functions
|
|
65
|
+
function resolveComponentUrl(component, registryUrl) {
|
|
66
|
+
// Check if it's a full URL or just a component name
|
|
67
|
+
if (component.startsWith("http://") || component.startsWith("https://")) {
|
|
68
|
+
return component;
|
|
69
|
+
}
|
|
70
|
+
return `${registryUrl}/${component}.json`;
|
|
71
|
+
}
|
|
72
|
+
async function installComponent(component, componentUrl, options) {
|
|
73
|
+
writeLine(pc.dim(`Installing from: ${componentUrl}`));
|
|
74
|
+
writeLine();
|
|
75
|
+
// Build shadcn CLI arguments
|
|
76
|
+
const args = ["add", componentUrl];
|
|
77
|
+
if (options.yes)
|
|
78
|
+
args.push("--yes");
|
|
79
|
+
if (options.overwrite)
|
|
80
|
+
args.push("--overwrite");
|
|
81
|
+
// Run installation
|
|
82
|
+
const s = p.spinner();
|
|
83
|
+
s.start(`Installing ${component}`);
|
|
84
|
+
await runShadcnCommand(args);
|
|
85
|
+
s.stop(pc.green(`ā Successfully installed ${component}`));
|
|
86
|
+
}
|
|
87
|
+
function showSuccessMessage(component) {
|
|
88
|
+
writeLine();
|
|
89
|
+
writeLine(pc.dim("You can now import and use the component:"));
|
|
90
|
+
writeLine(pc.dim(` import { ${capitalize(component)} } from '@/components/ui/${component}'`));
|
|
91
|
+
writeLine();
|
|
92
|
+
}
|
|
68
93
|
async function runShadcnCommand(args) {
|
|
69
94
|
return new Promise((resolve, reject) => {
|
|
70
|
-
const child = spawn(
|
|
95
|
+
const child = spawn("npx", ["shadcn@latest", ...args], {
|
|
71
96
|
cwd: process.cwd(),
|
|
72
|
-
stdio:
|
|
97
|
+
stdio: "inherit",
|
|
73
98
|
shell: true,
|
|
74
99
|
});
|
|
75
|
-
child.on(
|
|
100
|
+
child.on("close", (code) => {
|
|
76
101
|
if (code === 0) {
|
|
77
102
|
resolve();
|
|
78
103
|
}
|
|
@@ -80,7 +105,7 @@ async function runShadcnCommand(args) {
|
|
|
80
105
|
reject(new Error(`shadcn command failed with code ${code}`));
|
|
81
106
|
}
|
|
82
107
|
});
|
|
83
|
-
child.on(
|
|
108
|
+
child.on("error", (error) => {
|
|
84
109
|
reject(error);
|
|
85
110
|
});
|
|
86
111
|
});
|
package/dist/commands/add.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AASA,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAmDD,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,iBAoFvD"}
|
package/dist/commands/build.js
CHANGED
|
@@ -1,18 +1,56 @@
|
|
|
1
1
|
import pc from 'picocolors';
|
|
2
2
|
import { createRsbuild } from '@rsbuild/core';
|
|
3
3
|
import { createRsbuildConfig } from '../lib/rsbuild/config-factory.js';
|
|
4
|
-
import { existsSync, statSync, readdirSync, readFileSync } from 'node:fs';
|
|
4
|
+
import { existsSync, statSync, readdirSync, readFileSync, copyFileSync } from 'node:fs';
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
import { gzipSync, brotliCompressSync, constants } from 'node:zlib';
|
|
7
|
-
const writeLine = (message = '') => {
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
const writeLine = (message = '') => process.stdout.write(`${message}\n`);
|
|
8
|
+
function getDirSize(dirPath) {
|
|
9
|
+
let totalSize = 0;
|
|
10
|
+
for (const file of readdirSync(dirPath)) {
|
|
11
|
+
const filePath = join(dirPath, file);
|
|
12
|
+
const stats = statSync(filePath);
|
|
13
|
+
totalSize += stats.isDirectory() ? getDirSize(filePath) : stats.size;
|
|
14
|
+
}
|
|
15
|
+
return totalSize;
|
|
16
|
+
}
|
|
17
|
+
function collectAssetDetails(stats) {
|
|
18
|
+
if (!stats)
|
|
19
|
+
return [];
|
|
20
|
+
const collectFromStats = (single) => {
|
|
21
|
+
const json = single.toJson({ assets: true, modules: false, chunks: false });
|
|
22
|
+
const assets = Array.isArray(json.assets) ? json.assets : [];
|
|
23
|
+
return assets
|
|
24
|
+
.filter((asset) => asset.emitted && asset.name && asset.size !== undefined)
|
|
25
|
+
.map((asset) => ({ name: asset.name, size: asset.size }))
|
|
26
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
27
|
+
};
|
|
28
|
+
if ('stats' in stats && Array.isArray(stats.stats)) {
|
|
29
|
+
return stats.stats.flatMap(collectFromStats).sort((a, b) => a.name.localeCompare(b.name));
|
|
30
|
+
}
|
|
31
|
+
return collectFromStats(stats);
|
|
32
|
+
}
|
|
33
|
+
function getCompressionSizes(assetPath) {
|
|
34
|
+
try {
|
|
35
|
+
const content = readFileSync(assetPath);
|
|
36
|
+
const gzipped = gzipSync(content);
|
|
37
|
+
const brotli = brotliCompressSync(content, {
|
|
38
|
+
params: { [constants.BROTLI_PARAM_QUALITY]: 11 },
|
|
39
|
+
});
|
|
40
|
+
return {
|
|
41
|
+
gzipKB: (gzipped.length / 1024).toFixed(1),
|
|
42
|
+
brotliKB: (brotli.length / 1024).toFixed(1),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
10
49
|
export async function buildCommand(options) {
|
|
11
50
|
writeLine(pc.cyan('šļø Building for production...'));
|
|
12
51
|
writeLine();
|
|
13
52
|
const startTime = Date.now();
|
|
14
53
|
try {
|
|
15
|
-
// Use profile flag, fall back to analyze for backward compatibility
|
|
16
54
|
const enableProfiling = options.profile || options.analyze || false;
|
|
17
55
|
const config = createRsbuildConfig({
|
|
18
56
|
mode: 'production',
|
|
@@ -20,40 +58,33 @@ export async function buildCommand(options) {
|
|
|
20
58
|
profile: enableProfiling,
|
|
21
59
|
compress: options.compress || false,
|
|
22
60
|
});
|
|
23
|
-
// Run Rsbuild build
|
|
24
61
|
const rsbuild = await createRsbuild({ rsbuildConfig: config });
|
|
25
62
|
const buildResult = await rsbuild.build();
|
|
26
|
-
|
|
27
|
-
const
|
|
63
|
+
// Copy app/icon.svg to dist/icon.svg for deployment
|
|
64
|
+
const iconSource = join(process.cwd(), 'app', 'icon.svg');
|
|
65
|
+
const iconDest = join(process.cwd(), 'dist', 'icon.svg');
|
|
66
|
+
if (existsSync(iconSource)) {
|
|
67
|
+
copyFileSync(iconSource, iconDest);
|
|
68
|
+
}
|
|
69
|
+
const duration = ((Date.now() - startTime) / 1000).toFixed(2);
|
|
28
70
|
writeLine();
|
|
29
71
|
writeLine(pc.green(`ā Build completed in ${duration}s`));
|
|
30
72
|
writeLine();
|
|
31
73
|
const assetDetails = collectAssetDetails(buildResult?.stats);
|
|
32
74
|
if (assetDetails.length > 0) {
|
|
33
|
-
writeLine(pc.bold('Build output:'));
|
|
34
|
-
// Calculate compression estimates for main assets
|
|
35
75
|
const distPath = join(process.cwd(), 'dist');
|
|
36
|
-
|
|
37
|
-
const cssAssets = assetDetails.filter(a => a.name.endsWith('.css'));
|
|
76
|
+
writeLine(pc.bold('Build output:'));
|
|
38
77
|
for (const asset of assetDetails) {
|
|
39
78
|
const sizeKB = (asset.size / 1024).toFixed(1);
|
|
79
|
+
const isCompressible = asset.name.endsWith('.js') || asset.name.endsWith('.css');
|
|
40
80
|
const assetPath = join(distPath, asset.name);
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const content = readFileSync(assetPath);
|
|
45
|
-
const gzipped = gzipSync(content);
|
|
46
|
-
const brotli = brotliCompressSync(content, {
|
|
47
|
-
params: {
|
|
48
|
-
[constants.BROTLI_PARAM_QUALITY]: 11,
|
|
49
|
-
},
|
|
50
|
-
});
|
|
51
|
-
const gzipKB = (gzipped.length / 1024).toFixed(1);
|
|
52
|
-
const brotliKB = (brotli.length / 1024).toFixed(1);
|
|
81
|
+
if (isCompressible && existsSync(assetPath)) {
|
|
82
|
+
const sizes = getCompressionSizes(assetPath);
|
|
83
|
+
if (sizes) {
|
|
53
84
|
writeLine(pc.dim(` ${asset.name}`));
|
|
54
|
-
writeLine(pc.dim(` ${sizeKB} KB (raw) ā ${gzipKB} KB (gzip) ā ${brotliKB} KB (brotli)`));
|
|
85
|
+
writeLine(pc.dim(` ${sizeKB} KB (raw) ā ${sizes.gzipKB} KB (gzip) ā ${sizes.brotliKB} KB (brotli)`));
|
|
55
86
|
}
|
|
56
|
-
|
|
87
|
+
else {
|
|
57
88
|
writeLine(pc.dim(` ${asset.name} ${sizeKB} KB`));
|
|
58
89
|
}
|
|
59
90
|
}
|
|
@@ -62,27 +93,23 @@ export async function buildCommand(options) {
|
|
|
62
93
|
}
|
|
63
94
|
}
|
|
64
95
|
writeLine();
|
|
65
|
-
|
|
96
|
+
const jsAssets = assetDetails.filter(a => a.name.endsWith('.js'));
|
|
97
|
+
const cssAssets = assetDetails.filter(a => a.name.endsWith('.css'));
|
|
66
98
|
const totalJS = jsAssets.reduce((sum, a) => sum + a.size, 0);
|
|
67
99
|
const totalCSS = cssAssets.reduce((sum, a) => sum + a.size, 0);
|
|
68
100
|
if (totalJS > 0 || totalCSS > 0) {
|
|
69
101
|
writeLine(pc.bold('Bundle size summary:'));
|
|
70
|
-
if (totalJS > 0)
|
|
102
|
+
if (totalJS > 0)
|
|
71
103
|
writeLine(pc.dim(` JavaScript: ${(totalJS / 1024).toFixed(1)} KB`));
|
|
72
|
-
|
|
73
|
-
if (totalCSS > 0) {
|
|
104
|
+
if (totalCSS > 0)
|
|
74
105
|
writeLine(pc.dim(` CSS: ${(totalCSS / 1024).toFixed(1)} KB`));
|
|
75
|
-
}
|
|
76
106
|
writeLine();
|
|
77
107
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const sizeKB = (totalSize / 1024).toFixed(1);
|
|
84
|
-
writeLine(pc.dim(`Total dist size: ${sizeKB} KB`));
|
|
85
|
-
writeLine();
|
|
108
|
+
if (existsSync(distPath)) {
|
|
109
|
+
const totalSize = getDirSize(distPath);
|
|
110
|
+
writeLine(pc.dim(`Total dist size: ${(totalSize / 1024).toFixed(1)} KB`));
|
|
111
|
+
writeLine();
|
|
112
|
+
}
|
|
86
113
|
}
|
|
87
114
|
if (enableProfiling) {
|
|
88
115
|
writeLine(pc.cyan('\nš Bundle analysis:'));
|
|
@@ -96,49 +123,4 @@ export async function buildCommand(options) {
|
|
|
96
123
|
process.exit(1);
|
|
97
124
|
}
|
|
98
125
|
}
|
|
99
|
-
function collectAssetDetails(stats) {
|
|
100
|
-
if (!stats) {
|
|
101
|
-
return [];
|
|
102
|
-
}
|
|
103
|
-
const collectFromStats = (single) => {
|
|
104
|
-
const json = single.toJson({
|
|
105
|
-
assets: true,
|
|
106
|
-
modules: false,
|
|
107
|
-
chunks: false,
|
|
108
|
-
chunkModules: false,
|
|
109
|
-
entrypoints: false,
|
|
110
|
-
children: false,
|
|
111
|
-
});
|
|
112
|
-
const assets = Array.isArray(json.assets) ? json.assets : [];
|
|
113
|
-
return assets
|
|
114
|
-
.filter((asset) => asset.emitted && asset.name && asset.size !== undefined)
|
|
115
|
-
.map((asset) => ({
|
|
116
|
-
name: asset.name,
|
|
117
|
-
size: asset.size,
|
|
118
|
-
}))
|
|
119
|
-
.sort((a, b) => a.name.localeCompare(b.name));
|
|
120
|
-
};
|
|
121
|
-
if (isMultiStats(stats)) {
|
|
122
|
-
return stats.stats.flatMap(collectFromStats).sort((a, b) => a.name.localeCompare(b.name));
|
|
123
|
-
}
|
|
124
|
-
return collectFromStats(stats);
|
|
125
|
-
}
|
|
126
|
-
function isMultiStats(stats) {
|
|
127
|
-
return 'stats' in stats && Array.isArray(stats.stats);
|
|
128
|
-
}
|
|
129
|
-
function getDirSize(dirPath) {
|
|
130
|
-
let totalSize = 0;
|
|
131
|
-
const files = readdirSync(dirPath);
|
|
132
|
-
for (const file of files) {
|
|
133
|
-
const filePath = join(dirPath, file);
|
|
134
|
-
const stats = statSync(filePath);
|
|
135
|
-
if (stats.isDirectory()) {
|
|
136
|
-
totalSize += getDirSize(filePath);
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
totalSize += stats.size;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
return totalSize;
|
|
143
|
-
}
|
|
144
126
|
//# sourceMappingURL=build.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,aAAa,EAAe,MAAM,eAAe,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { type DeployOptions } from '../lib/deploy/deploy-phases.js';
|
|
2
|
+
export type { DeployOptions };
|
|
3
|
+
/**
|
|
4
|
+
* Deploy command - builds and uploads a LinkApp to the Linktree platform.
|
|
5
|
+
*
|
|
6
|
+
* This command orchestrates the entire deployment process:
|
|
7
|
+
* 1. Initialize deployment context (auth, config, LinkApp ID)
|
|
8
|
+
* 2. Run preflight checks (build, validation)
|
|
9
|
+
* 3. Prepare artifacts (manifests, packed files)
|
|
10
|
+
* 4. Confirm deployment with user
|
|
11
|
+
* 5. Execute deployment (upload to API)
|
|
12
|
+
* 6. Display results
|
|
13
|
+
*
|
|
14
|
+
* @param options - Deployment options
|
|
15
|
+
*/
|
|
10
16
|
export declare function deployCommand(options: DeployOptions): Promise<void>;
|
|
11
|
-
export {};
|
|
12
17
|
//# sourceMappingURL=deploy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,gCAAgC,CAAA;AAOvC,YAAY,EAAE,aAAa,EAAE,CAAA;AAE7B;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBzE"}
|