@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.
Files changed (85) hide show
  1. package/dev-server/featured/main.tsx +1 -1
  2. package/dev-server/preview/{preview.tsx → Preview.tsx} +1 -1
  3. package/dev-server/sheet/main.tsx +1 -1
  4. package/dist/cli.js +1 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/add.d.ts.map +1 -1
  7. package/dist/commands/add.js +84 -59
  8. package/dist/commands/add.js.map +1 -1
  9. package/dist/commands/build.d.ts.map +1 -1
  10. package/dist/commands/build.js +66 -84
  11. package/dist/commands/build.js.map +1 -1
  12. package/dist/commands/deploy.d.ts +15 -10
  13. package/dist/commands/deploy.d.ts.map +1 -1
  14. package/dist/commands/deploy.js +26 -199
  15. package/dist/commands/deploy.js.map +1 -1
  16. package/dist/commands/dev.d.ts.map +1 -1
  17. package/dist/commands/dev.js +124 -171
  18. package/dist/commands/dev.js.map +1 -1
  19. package/dist/lib/config/resolve-config-path.d.ts +19 -0
  20. package/dist/lib/config/resolve-config-path.d.ts.map +1 -0
  21. package/dist/lib/config/resolve-config-path.js +54 -0
  22. package/dist/lib/config/resolve-config-path.js.map +1 -0
  23. package/dist/lib/deploy/artifacts.d.ts +21 -0
  24. package/dist/lib/deploy/artifacts.d.ts.map +1 -0
  25. package/dist/lib/deploy/artifacts.js +35 -0
  26. package/dist/lib/deploy/artifacts.js.map +1 -0
  27. package/dist/lib/deploy/confirmation.d.ts +12 -0
  28. package/dist/lib/deploy/confirmation.d.ts.map +1 -0
  29. package/dist/lib/deploy/confirmation.js +30 -0
  30. package/dist/lib/deploy/confirmation.js.map +1 -0
  31. package/dist/lib/deploy/context.d.ts +44 -0
  32. package/dist/lib/deploy/context.d.ts.map +1 -0
  33. package/dist/lib/deploy/context.js +39 -0
  34. package/dist/lib/deploy/context.js.map +1 -0
  35. package/dist/lib/deploy/deploy-output.d.ts +10 -0
  36. package/dist/lib/deploy/deploy-output.d.ts.map +1 -0
  37. package/dist/lib/deploy/deploy-output.js +79 -0
  38. package/dist/lib/deploy/deploy-output.js.map +1 -0
  39. package/dist/lib/deploy/deploy-phases.d.ts +41 -0
  40. package/dist/lib/deploy/deploy-phases.d.ts.map +1 -0
  41. package/dist/lib/deploy/deploy-phases.js +116 -0
  42. package/dist/lib/deploy/deploy-phases.js.map +1 -0
  43. package/dist/lib/deploy/deploy-utils.d.ts +53 -0
  44. package/dist/lib/deploy/deploy-utils.d.ts.map +1 -0
  45. package/dist/lib/deploy/deploy-utils.js +149 -0
  46. package/dist/lib/deploy/deploy-utils.js.map +1 -0
  47. package/dist/lib/deploy/execution.d.ts +24 -0
  48. package/dist/lib/deploy/execution.d.ts.map +1 -0
  49. package/dist/lib/deploy/execution.js +29 -0
  50. package/dist/lib/deploy/execution.js.map +1 -0
  51. package/dist/lib/deploy/output.d.ts +16 -0
  52. package/dist/lib/deploy/output.d.ts.map +1 -0
  53. package/dist/lib/deploy/output.js +115 -0
  54. package/dist/lib/deploy/output.js.map +1 -0
  55. package/dist/lib/deploy/pack-project.js +2 -2
  56. package/dist/lib/deploy/pack-project.js.map +1 -1
  57. package/dist/lib/deploy/preflight.d.ts +9 -0
  58. package/dist/lib/deploy/preflight.d.ts.map +1 -0
  59. package/dist/lib/deploy/preflight.js +59 -0
  60. package/dist/lib/deploy/preflight.js.map +1 -0
  61. package/dist/lib/deploy/validation.d.ts.map +1 -1
  62. package/dist/lib/deploy/validation.js +6 -8
  63. package/dist/lib/deploy/validation.js.map +1 -1
  64. package/dist/lib/utils/constants.d.ts +42 -0
  65. package/dist/lib/utils/constants.d.ts.map +1 -0
  66. package/dist/lib/utils/constants.js +42 -0
  67. package/dist/lib/utils/constants.js.map +1 -0
  68. package/dist/lib/utils/errors.d.ts +49 -0
  69. package/dist/lib/utils/errors.d.ts.map +1 -0
  70. package/dist/lib/utils/errors.js +70 -0
  71. package/dist/lib/utils/errors.js.map +1 -0
  72. package/dist/lib/utils/formatters.d.ts +34 -0
  73. package/dist/lib/utils/formatters.d.ts.map +1 -0
  74. package/dist/lib/utils/formatters.js +59 -0
  75. package/dist/lib/utils/formatters.js.map +1 -0
  76. package/dist/lib/utils/output.d.ts +46 -0
  77. package/dist/lib/utils/output.d.ts.map +1 -0
  78. package/dist/lib/utils/output.js +66 -0
  79. package/dist/lib/utils/output.js.map +1 -0
  80. package/dist/sdk/use-open-popup.d.ts +23 -0
  81. package/dist/sdk/use-open-popup.d.ts.map +1 -0
  82. package/dist/sdk/use-open-popup.js +29 -0
  83. package/dist/sdk/use-open-popup.js.map +1 -0
  84. package/package.json +3 -28
  85. package/runtime/index.html +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-phases.js","sourceRoot":"","sources":["../../../src/lib/deploy/deploy-phases.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Resolves the path to linkapp.config.ts in a project.
3
+ */
4
+ export declare function resolveConfigPath(projectPath: string): string;
5
+ /**
6
+ * Extracts the LinkApp ID from a configuration file.
7
+ */
8
+ export declare function getLinkAppIdFromConfig(configPath: string): Promise<string>;
9
+ export declare function writeLine(message?: string): void;
10
+ export declare function writeSection(title: string, length?: number): void;
11
+ export declare function writeSeparator(length?: number): void;
12
+ export declare const DISPLAY: {
13
+ readonly FILE_PREVIEW_LIMIT: 8;
14
+ readonly SEPARATOR_LENGTH: 50;
15
+ };
16
+ export declare const TIMESTAMP: {
17
+ readonly SECONDS_TO_MS_THRESHOLD: 10000000000;
18
+ };
19
+ export declare const URLS: {
20
+ readonly buildStatus: (linkTypeId: string, buildId: string) => string;
21
+ readonly adminCreateLink: {
22
+ readonly production: (linkTypeId: string) => string;
23
+ readonly qa: (linkTypeId: string) => string;
24
+ };
25
+ };
26
+ export declare function formatTimestamp(timestamp: number | undefined): string | null;
27
+ export declare function formatElapsedTime(ms: number): string;
28
+ export declare function displayFileList(files: string[], title: string): void;
29
+ export declare function pluralize(count: number, singular: string, plural?: string): string;
30
+ export declare class DeploymentError extends Error {
31
+ readonly exitCode: number;
32
+ userMessage?: string;
33
+ constructor(message: string, exitCode?: number, userMessage?: string);
34
+ }
35
+ export declare class AuthenticationError extends DeploymentError {
36
+ readonly environment: 'production' | 'qa';
37
+ constructor(environment: 'production' | 'qa');
38
+ }
39
+ export declare class ValidationError extends DeploymentError {
40
+ constructor(message: string, details?: string[]);
41
+ }
42
+ export declare class DeploymentCancelledError extends DeploymentError {
43
+ constructor();
44
+ }
45
+ export interface APIError {
46
+ statusCode: number;
47
+ messages: string[];
48
+ responseData?: {
49
+ error?: string;
50
+ };
51
+ }
52
+ export declare function isAPIError(error: unknown): error is APIError;
53
+ //# sourceMappingURL=deploy-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/deploy/deploy-utils.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAU7D;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0BhF;AAMD,wBAAgB,SAAS,CAAC,OAAO,SAAK,GAAG,IAAI,CAE5C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,IAAI,CAI7D;AAED,wBAAgB,cAAc,CAAC,MAAM,SAAK,GAAG,IAAI,CAEhD;AAMD,eAAO,MAAM,OAAO;;;CAGV,CAAA;AAEV,eAAO,MAAM,SAAS;;CAEZ,CAAA;AAEV,eAAO,MAAM,IAAI;uCACW,MAAM,WAAW,MAAM;;0CAGtB,MAAM;kCAEd,MAAM;;CAGjB,CAAA;AAMV,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAO5E;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAYpE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAGlF;AAMD,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAgB,QAAQ,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;gBAEf,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAI,EAAE,WAAW,CAAC,EAAE,MAAM;CAQhE;AAED,qBAAa,mBAAoB,SAAQ,eAAe;aAC1B,WAAW,EAAE,YAAY,GAAG,IAAI;gBAAhC,WAAW,EAAE,YAAY,GAAG,IAAI;CAK7D;AAED,qBAAa,eAAgB,SAAQ,eAAe;gBACtC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE;CAOhD;AAED,qBAAa,wBAAyB,SAAQ,eAAe;;CAK5D;AAED,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,YAAY,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAClC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAQ5D"}
@@ -0,0 +1,149 @@
1
+ import pc from 'picocolors';
2
+ import { existsSync } from 'node:fs';
3
+ import { join } from 'node:path';
4
+ // ============================================================================
5
+ // CONFIG PATH RESOLUTION
6
+ // ============================================================================
7
+ /**
8
+ * Resolves the path to linkapp.config.ts in a project.
9
+ */
10
+ export function resolveConfigPath(projectPath) {
11
+ const rootConfigPath = join(projectPath, 'linkapp.config.ts');
12
+ const nestedConfigPath = join(projectPath, '.config', 'linkapp.config.ts');
13
+ if (existsSync(rootConfigPath))
14
+ return rootConfigPath;
15
+ if (existsSync(nestedConfigPath))
16
+ return nestedConfigPath;
17
+ throw new Error('Configuration file not found. Expected linkapp.config.ts in project root or .config directory.');
18
+ }
19
+ /**
20
+ * Extracts the LinkApp ID from a configuration file.
21
+ */
22
+ export async function getLinkAppIdFromConfig(configPath) {
23
+ const { createJiti } = await import('jiti');
24
+ const jiti = createJiti(import.meta.url, {
25
+ interopDefault: true,
26
+ moduleCache: false,
27
+ });
28
+ try {
29
+ const config = jiti(configPath);
30
+ if (!config?.manifest?.name) {
31
+ throw new Error('manifest.name is required in linkapp.config.ts');
32
+ }
33
+ return config.manifest.name
34
+ .toLowerCase()
35
+ .replace(/[^a-z0-9]+/g, '-')
36
+ .replace(/^-+|-+$/g, '');
37
+ }
38
+ catch (error) {
39
+ if (error instanceof Error && error.message.includes('manifest.name is required')) {
40
+ throw error;
41
+ }
42
+ throw new Error(`Failed to load linkapp.config.ts: ${error instanceof Error ? error.message : String(error)}`);
43
+ }
44
+ }
45
+ // ============================================================================
46
+ // OUTPUT UTILITIES
47
+ // ============================================================================
48
+ export function writeLine(message = '') {
49
+ process.stdout.write(`${message}\n`);
50
+ }
51
+ export function writeSection(title, length = 50) {
52
+ writeLine(pc.bold(pc.cyan(`\n→ ${title}`)));
53
+ writeLine(pc.dim('─'.repeat(length)));
54
+ writeLine();
55
+ }
56
+ export function writeSeparator(length = 50) {
57
+ writeLine(pc.dim('─'.repeat(length)));
58
+ }
59
+ // ============================================================================
60
+ // CONSTANTS
61
+ // ============================================================================
62
+ export const DISPLAY = {
63
+ FILE_PREVIEW_LIMIT: 8,
64
+ SEPARATOR_LENGTH: 50,
65
+ };
66
+ export const TIMESTAMP = {
67
+ SECONDS_TO_MS_THRESHOLD: 10000000000,
68
+ };
69
+ export const URLS = {
70
+ buildStatus: (linkTypeId, buildId) => `https://linkapp-ci.replit.app/?linkTypeId=${linkTypeId}&buildId=${buildId}`,
71
+ adminCreateLink: {
72
+ production: (linkTypeId) => `https://linktr.ee/admin?action=create-link&linkType=${linkTypeId}`,
73
+ qa: (linkTypeId) => `https://qa.linktr.ee/admin?action=create-link&linkType=${linkTypeId}`,
74
+ },
75
+ };
76
+ // ============================================================================
77
+ // FORMATTERS
78
+ // ============================================================================
79
+ export function formatTimestamp(timestamp) {
80
+ if (!timestamp)
81
+ return null;
82
+ const timestampMs = timestamp < TIMESTAMP.SECONDS_TO_MS_THRESHOLD ? timestamp * 1000 : timestamp;
83
+ return new Date(timestampMs).toLocaleString();
84
+ }
85
+ export function formatElapsedTime(ms) {
86
+ return `${(ms / 1000).toFixed(1)}s`;
87
+ }
88
+ export function displayFileList(files, title) {
89
+ writeLine();
90
+ writeLine(pc.bold(title));
91
+ const filesToShow = files.slice(0, DISPLAY.FILE_PREVIEW_LIMIT);
92
+ for (const file of filesToShow) {
93
+ writeLine(pc.dim(` • ${file}`));
94
+ }
95
+ if (files.length > DISPLAY.FILE_PREVIEW_LIMIT) {
96
+ writeLine(pc.dim(` • ... and ${files.length - DISPLAY.FILE_PREVIEW_LIMIT} more files`));
97
+ }
98
+ }
99
+ export function pluralize(count, singular, plural) {
100
+ const word = count === 1 ? singular : plural ?? `${singular}s`;
101
+ return `${count} ${word}`;
102
+ }
103
+ // ============================================================================
104
+ // ERRORS
105
+ // ============================================================================
106
+ export class DeploymentError extends Error {
107
+ exitCode;
108
+ userMessage;
109
+ constructor(message, exitCode = 1, userMessage) {
110
+ super(message);
111
+ this.name = 'DeploymentError';
112
+ this.exitCode = exitCode;
113
+ if (userMessage !== undefined) {
114
+ this.userMessage = userMessage;
115
+ }
116
+ }
117
+ }
118
+ export class AuthenticationError extends DeploymentError {
119
+ environment;
120
+ constructor(environment) {
121
+ const envFlag = environment === 'qa' ? ' --qa' : '';
122
+ super('Not authenticated', 1, `Run: npx @linktr.ee/linkapp login${envFlag}`);
123
+ this.environment = environment;
124
+ this.name = 'AuthenticationError';
125
+ }
126
+ }
127
+ export class ValidationError extends DeploymentError {
128
+ constructor(message, details) {
129
+ super(message, 1);
130
+ this.name = 'ValidationError';
131
+ if (details) {
132
+ this.userMessage = details.join('\n');
133
+ }
134
+ }
135
+ }
136
+ export class DeploymentCancelledError extends DeploymentError {
137
+ constructor() {
138
+ super('Deployment cancelled by user', 0);
139
+ this.name = 'DeploymentCancelledError';
140
+ }
141
+ }
142
+ export function isAPIError(error) {
143
+ return (error !== null &&
144
+ typeof error === 'object' &&
145
+ 'statusCode' in error &&
146
+ 'messages' in error &&
147
+ Array.isArray(error.messages));
148
+ }
149
+ //# sourceMappingURL=deploy-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-utils.js","sourceRoot":"","sources":["../../../src/lib/deploy/deploy-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { DeploymentContext } from './context.js';
2
+ import type { ArtifactPreparationResult } from './artifacts.js';
3
+ /**
4
+ * Upload result from the LinkTypes API
5
+ */
6
+ export interface UploadResult {
7
+ linkType: {
8
+ linkTypeId: string;
9
+ status: string;
10
+ updatedTimestamp?: number;
11
+ };
12
+ build?: {
13
+ id: string;
14
+ };
15
+ }
16
+ /**
17
+ * Executes the deployment by uploading assets to the LinkTypes API.
18
+ *
19
+ * @param context - Deployment context
20
+ * @param artifacts - Prepared artifacts
21
+ * @returns Upload result from API
22
+ */
23
+ export declare function executeDeployment(context: DeploymentContext, artifacts: ArtifactPreparationResult): Promise<UploadResult>;
24
+ //# sourceMappingURL=execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../../src/lib/deploy/execution.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAE/D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAA;QAClB,MAAM,EAAE,MAAM,CAAA;QACd,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAC1B,CAAA;IACD,KAAK,CAAC,EAAE;QACN,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;CACF;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,yBAAyB,GACnC,OAAO,CAAC,YAAY,CAAC,CAoBvB"}
@@ -0,0 +1,29 @@
1
+ import * as p from '@clack/prompts';
2
+ import { uploadAssets } from './upload.js';
3
+ import { formatElapsedTime } from '../utils/formatters.js';
4
+ import { writeLine } from '../utils/output.js';
5
+ /**
6
+ * Executes the deployment by uploading assets to the LinkTypes API.
7
+ *
8
+ * @param context - Deployment context
9
+ * @param artifacts - Prepared artifacts
10
+ * @returns Upload result from API
11
+ */
12
+ export async function executeDeployment(context, artifacts) {
13
+ writeLine();
14
+ const uploadStart = Date.now();
15
+ const s = p.spinner();
16
+ s.start('Uploading assets');
17
+ const result = await uploadAssets({
18
+ projectPath: context.projectPath,
19
+ apiUrl: artifacts.apiUrl,
20
+ linkAppId: context.linkAppId,
21
+ accessToken: context.accessToken,
22
+ isUpdate: artifacts.exists,
23
+ forceUpdate: context.options.force,
24
+ });
25
+ const uploadTime = formatElapsedTime(Date.now() - uploadStart);
26
+ s.stop(`Assets uploaded (${uploadTime})`);
27
+ return result;
28
+ }
29
+ //# sourceMappingURL=execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/lib/deploy/execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAkB9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA0B,EAC1B,SAAoC;IAEpC,SAAS,EAAE,CAAA;IACX,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;IAErB,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAE3B,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,QAAQ,EAAE,SAAS,CAAC,MAAM;QAC1B,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK;KACnC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,CAAA;IAC9D,CAAC,CAAC,IAAI,CAAC,oBAAoB,UAAU,GAAG,CAAC,CAAA;IAEzC,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { DeploymentContext } from './context.js';
2
+ import type { UploadResult } from './execution.js';
3
+ /**
4
+ * Displays the successful deployment results including details and next steps.
5
+ *
6
+ * @param context - Deployment context
7
+ * @param result - Upload result from API
8
+ */
9
+ export declare function displayDeploymentSuccess(context: DeploymentContext, result: UploadResult): void;
10
+ /**
11
+ * Displays deployment error information.
12
+ *
13
+ * @param error - Error that occurred during deployment
14
+ */
15
+ export declare function displayDeploymentError(error: unknown): void;
16
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/lib/deploy/output.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,YAAY,GACnB,IAAI,CAmBN;AAuCD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAiC3D"}
@@ -0,0 +1,115 @@
1
+ import pc from 'picocolors';
2
+ import { writeLine, writeSeparator, writeSuccess, writeError, writeWarning, writeLabelValue, } from '../utils/output.js';
3
+ import { formatElapsedTime, formatTimestamp } from '../utils/formatters.js';
4
+ import { isAPIError, DeploymentCancelledError, AuthenticationError, } from '../utils/errors.js';
5
+ import { URLS } from '../utils/constants.js';
6
+ /**
7
+ * Displays the successful deployment results including details and next steps.
8
+ *
9
+ * @param context - Deployment context
10
+ * @param result - Upload result from API
11
+ */
12
+ export function displayDeploymentSuccess(context, result) {
13
+ const totalTime = formatElapsedTime(Date.now() - context.startTime);
14
+ writeLine();
15
+ writeSeparator();
16
+ writeSuccess('\nDeployment successful!');
17
+ writeIndented(`Completed in ${totalTime}`);
18
+ writeLine();
19
+ writeLine(pc.bold('Details:'));
20
+ writeLabelValue('ID', result.linkType.linkTypeId);
21
+ writeLabelValue('Status', result.linkType.status);
22
+ const timestamp = formatTimestamp(result.linkType.updatedTimestamp);
23
+ if (timestamp) {
24
+ writeLabelValue('Updated', timestamp);
25
+ }
26
+ displayNextSteps(context, result);
27
+ }
28
+ /**
29
+ * Displays next steps after successful deployment.
30
+ *
31
+ * @param context - Deployment context
32
+ * @param result - Upload result from API
33
+ */
34
+ function displayNextSteps(context, result) {
35
+ writeLine();
36
+ writeLine(pc.bold('Next steps:'));
37
+ // Step 1: Build is happening
38
+ if (result.build?.id) {
39
+ const buildUrl = URLS.buildStatus(result.linkType.linkTypeId, result.build.id);
40
+ writeLine(pc.cyan(' 1. Building your LinkApp (this may take a few minutes):'));
41
+ writeIndented(buildUrl, 5);
42
+ writeLine();
43
+ }
44
+ // Step 2: Add to page (only after build completes)
45
+ const createUrl = context.env === 'qa'
46
+ ? URLS.adminCreateLink.qa(result.linkType.linkTypeId)
47
+ : URLS.adminCreateLink.production(result.linkType.linkTypeId);
48
+ writeLine(pc.cyan(' 2. Once the build completes, add it to your page:'));
49
+ writeIndented(createUrl, 5);
50
+ writeLine();
51
+ }
52
+ /**
53
+ * Helper function to write indented text with dimmed styling.
54
+ */
55
+ function writeIndented(text, indent = 2) {
56
+ writeLine(pc.dim(' '.repeat(indent) + text));
57
+ }
58
+ /**
59
+ * Displays deployment error information.
60
+ *
61
+ * @param error - Error that occurred during deployment
62
+ */
63
+ export function displayDeploymentError(error) {
64
+ writeLine();
65
+ writeSeparator();
66
+ writeError('\nDeployment failed');
67
+ writeLine();
68
+ // Handle specific error types
69
+ if (error instanceof DeploymentCancelledError) {
70
+ writeWarning('Deployment cancelled');
71
+ writeLine();
72
+ return;
73
+ }
74
+ if (error instanceof AuthenticationError) {
75
+ writeIndented(error.userMessage ?? error.message);
76
+ writeLine();
77
+ return;
78
+ }
79
+ // Handle API errors with detailed information
80
+ if (isAPIError(error)) {
81
+ displayAPIError(error);
82
+ return;
83
+ }
84
+ // Handle generic errors
85
+ if (error instanceof Error) {
86
+ writeIndented(error.message);
87
+ }
88
+ else {
89
+ writeIndented(String(error));
90
+ }
91
+ writeLine();
92
+ }
93
+ /**
94
+ * Displays detailed API error information.
95
+ *
96
+ * @param error - API error with status and messages
97
+ */
98
+ function displayAPIError(error) {
99
+ writeLine(pc.bold('Error Details:'));
100
+ writeLine(pc.red(` Status: ${error.statusCode}`));
101
+ if (error.messages.length > 0) {
102
+ writeLine();
103
+ writeLine(pc.bold(' Validation Errors:'));
104
+ for (const msg of error.messages) {
105
+ writeLine(pc.red(` • ${msg}`));
106
+ }
107
+ }
108
+ if (error.responseData?.error) {
109
+ writeLine();
110
+ writeLine(pc.bold(' Error Type:'));
111
+ writeLine(pc.red(` ${error.responseData.error}`));
112
+ }
113
+ writeLine();
114
+ }
115
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/lib/deploy/output.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,8 @@ export async function packProject(options = {}) {
18
18
  { source: join(linkappDir, 'settings.json'), dest: 'settings.json', required: false },
19
19
  { source: join(linkappDir, 'url_match_rules.json'), dest: 'url_match_rules.json', required: false },
20
20
  ];
21
- // Icon file from app directory
22
- const iconSource = join(projectPath, 'app', 'icon.svg');
21
+ // Icon file from dist directory (copied during build from app/icon.svg)
22
+ const iconSource = join(projectPath, 'dist', 'icon.svg');
23
23
  const packedFiles = [];
24
24
  // Validate required files exist
25
25
  for (const file of requiredFiles) {
@@ -1 +1 @@
1
- {"version":3,"file":"pack-project.js","sourceRoot":"","sources":["../../../src/lib/deploy/pack-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pack-project.js","sourceRoot":"","sources":["../../../src/lib/deploy/pack-project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { DeploymentContext } from './context.js';
2
+ /**
3
+ * Runs all preflight checks before deployment.
4
+ * Includes building the project and validating its structure.
5
+ *
6
+ * @param context - Deployment context
7
+ */
8
+ export declare function runPreflightChecks(context: DeploymentContext): Promise<void>;
9
+ //# sourceMappingURL=preflight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../../../src/lib/deploy/preflight.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAiDrD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMlF"}
@@ -0,0 +1,59 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import pc from 'picocolors';
4
+ import { buildCommand } from '../../commands/build.js';
5
+ import { validateProject, printValidationResults } from './validation.js';
6
+ import { ValidationError } from '../utils/errors.js';
7
+ import { writeLine, writeIndented } from '../utils/output.js';
8
+ import { formatElapsedTime } from '../utils/formatters.js';
9
+ /**
10
+ * Ensures the project has been built before deployment.
11
+ * Runs the build command if dist/ directory doesn't exist.
12
+ *
13
+ * @param context - Deployment context
14
+ */
15
+ async function ensureProjectBuilt(context) {
16
+ if (context.options.skipBuild) {
17
+ return;
18
+ }
19
+ const distPath = join(context.projectPath, 'dist');
20
+ if (existsSync(distPath)) {
21
+ return;
22
+ }
23
+ writeLine(pc.bold('Building project...'));
24
+ const buildStart = Date.now();
25
+ await buildCommand({ sourcemap: false });
26
+ const buildTime = formatElapsedTime(Date.now() - buildStart);
27
+ writeIndented(`Completed in ${buildTime}`);
28
+ writeLine();
29
+ }
30
+ /**
31
+ * Validates the project structure and configuration.
32
+ * Checks for required files, valid config, and proper setup.
33
+ *
34
+ * @param context - Deployment context
35
+ * @throws ValidationError if validation fails
36
+ */
37
+ async function validateProjectStructure(_context) {
38
+ writeLine(pc.bold('Pre-deployment checks'));
39
+ const validationResult = await validateProject();
40
+ printValidationResults(validationResult);
41
+ if (!validationResult.success) {
42
+ writeLine();
43
+ throw new ValidationError('Validation failed');
44
+ }
45
+ writeLine();
46
+ }
47
+ /**
48
+ * Runs all preflight checks before deployment.
49
+ * Includes building the project and validating its structure.
50
+ *
51
+ * @param context - Deployment context
52
+ */
53
+ export async function runPreflightChecks(context) {
54
+ await ensureProjectBuilt(context);
55
+ if (!context.options.skipChecks) {
56
+ await validateProjectStructure(context);
57
+ }
58
+ }
59
+ //# sourceMappingURL=preflight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../../src/lib/deploy/preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG1D;;;;;GAKG;AACH,KAAK,UAAU,kBAAkB,CAAC,OAA0B;IAC1D,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC9B,OAAM;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IAClD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,OAAM;IACR,CAAC;IAED,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAA;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAE7B,MAAM,YAAY,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;IAExC,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,CAAA;IAC5D,aAAa,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAA;IAC1C,SAAS,EAAE,CAAA;AACb,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,wBAAwB,CAAC,QAA2B;IACjE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAA;IAE3C,MAAM,gBAAgB,GAAG,MAAM,eAAe,EAAE,CAAA;IAChD,sBAAsB,CAAC,gBAAgB,CAAC,CAAA;IAExC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC9B,SAAS,EAAE,CAAA;QACX,MAAM,IAAI,eAAe,CAAC,mBAAmB,CAAC,CAAA;IAChD,CAAC;IAED,SAAS,EAAE,CAAA;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAA0B;IACjE,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAEjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAChC,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/lib/deploy/validation.ts"],"names":[],"mappings":"AASA,UAAU,gBAAgB;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,wBAAsB,eAAe,CAAC,WAAW,GAAE,MAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgDpG;AA6CD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAqBrE"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/lib/deploy/validation.ts"],"names":[],"mappings":"AAMA,UAAU,gBAAgB;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,wBAAsB,eAAe,CAAC,WAAW,GAAE,MAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8CpG;AA6CD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAqBrE"}
@@ -2,20 +2,18 @@ import { existsSync, statSync, readdirSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  import { spawn } from 'node:child_process';
4
4
  import pc from 'picocolors';
5
- const writeLine = (message = '') => {
6
- process.stdout.write(`${message}\n`);
7
- };
5
+ import { resolveConfigPath, writeLine } from './deploy-utils.js';
8
6
  export async function validateProject(projectPath = process.cwd()) {
9
7
  const result = {
10
8
  success: true,
11
9
  errors: [],
12
10
  warnings: [],
13
11
  };
14
- // Check config file exists (check root first, then .config for backward compatibility)
15
- const rootConfigPath = join(projectPath, 'linkapp.config.ts');
16
- const nestedConfigPath = join(projectPath, '.config', 'linkapp.config.ts');
17
- const configPath = existsSync(rootConfigPath) ? rootConfigPath : nestedConfigPath;
18
- if (!existsSync(configPath)) {
12
+ // Check config file exists (use shared resolver)
13
+ try {
14
+ resolveConfigPath(projectPath);
15
+ }
16
+ catch {
19
17
  result.errors.push('Config file missing: linkapp.config.ts');
20
18
  result.success = false;
21
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/lib/deploy/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,MAAM,SAAS,GAAG,CAAC,OAAO,GAAG,EAAE,EAAQ,EAAE;IACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAA;AACtC,CAAC,CAAA;AAQD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IACvE,MAAM,MAAM,GAAqB;QAC/B,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;KACb,CAAA;IAED,uFAAuF;IACvF,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAA;IAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAA;IAC1E,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAA;IAEjF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;QAC5D,MAAM,CAAC,OAAO,GAAG,KAAK,CAAA;IACxB,CAAC;IACD,gGAAgG;IAEhG,mEAAmE;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IAC1C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,uGAAuG,CAAC,CAAA;IAC/H,CAAC;SAAM,CAAC;QACN,uBAAuB;QACvB,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;QACrC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;QACzF,CAAC;aAAM,IAAI,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;YACtC,mBAAmB;YACnB,MAAM,MAAM,GAAG,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YACpD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,MAAM,0BAA0B,CAAC,CAAA;QACjF,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;IACzD,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IAChD,CAAC;IAED,4BAA4B;IAC5B,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAA;IACvD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;QACrF,MAAM,CAAC,OAAO,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,KAAK,UAAU,YAAY,CAAC,WAAmB;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE;YAChD,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,IAAI;SACZ,CAAC,CAAA;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,sDAAsD;YACtD,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,IAAI,SAAS,GAAG,CAAC,CAAA;IAEjB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;QAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAEhC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAA;YACnC,CAAC;iBAAM,CAAC;gBACN,SAAS,IAAI,KAAK,CAAC,IAAI,CAAA;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB;IAClB,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAwB;IAC7D,2BAA2B;IAC3B,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAChD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAA;IACzD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/lib/deploy/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAQhE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IACvE,MAAM,MAAM,GAAqB;QAC/B,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;KACb,CAAA;IAED,iDAAiD;IACjD,IAAI,CAAC;QACH,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;QAC5D,MAAM,CAAC,OAAO,GAAG,KAAK,CAAA;IACxB,CAAC;IACD,gGAAgG;IAEhG,mEAAmE;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IAC1C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,uGAAuG,CAAC,CAAA;IAC/H,CAAC;SAAM,CAAC;QACN,uBAAuB;QACvB,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;QACrC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;QACzF,CAAC;aAAM,IAAI,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;YACtC,mBAAmB;YACnB,MAAM,MAAM,GAAG,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YACpD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,MAAM,0BAA0B,CAAC,CAAA;QACjF,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;IACzD,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IAChD,CAAC;IAED,4BAA4B;IAC5B,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAA;IACvD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;QACrF,MAAM,CAAC,OAAO,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,KAAK,UAAU,YAAY,CAAC,WAAmB;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE;YAChD,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,IAAI;SACZ,CAAC,CAAA;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,sDAAsD;YACtD,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IACjC,IAAI,SAAS,GAAG,CAAC,CAAA;IAEjB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;QAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAEhC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAA;YACnC,CAAC;iBAAM,CAAC;gBACN,SAAS,IAAI,KAAK,CAAC,IAAI,CAAA;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB;IAClB,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAwB;IAC7D,2BAA2B;IAC3B,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAChD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAA;IACzD,CAAC;AACH,CAAC"}