@flowershow/publish 1.1.2 → 1.2.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.
- package/LICENSE +661 -0
- package/dist/cli.js +43 -41
- package/dist/cli.js.map +1 -1
- package/dist/lib/api-client.d.ts +3 -3
- package/dist/lib/api-client.js +25 -25
- package/dist/lib/auth.js +28 -28
- package/dist/lib/commands/auth-login.d.ts.map +1 -1
- package/dist/lib/commands/auth-login.js +30 -27
- package/dist/lib/commands/auth-login.js.map +1 -1
- package/dist/lib/commands/auth-logout.d.ts.map +1 -1
- package/dist/lib/commands/auth-logout.js +17 -14
- package/dist/lib/commands/auth-logout.js.map +1 -1
- package/dist/lib/commands/auth-status.d.ts.map +1 -1
- package/dist/lib/commands/auth-status.js +22 -19
- package/dist/lib/commands/auth-status.js.map +1 -1
- package/dist/lib/commands/delete.js +22 -22
- package/dist/lib/commands/delete.js.map +1 -1
- package/dist/lib/commands/list.d.ts.map +1 -1
- package/dist/lib/commands/list.js +18 -18
- package/dist/lib/commands/list.js.map +1 -1
- package/dist/lib/commands/publish.d.ts.map +1 -1
- package/dist/lib/commands/publish.js +31 -31
- package/dist/lib/commands/publish.js.map +1 -1
- package/dist/lib/commands/sync.js +35 -35
- package/dist/lib/const.d.ts +1 -2
- package/dist/lib/const.d.ts.map +1 -1
- package/dist/lib/const.js +5 -5
- package/dist/lib/const.js.map +1 -1
- package/dist/lib/files.js +33 -33
- package/dist/lib/telemetry.d.ts.map +1 -1
- package/dist/lib/telemetry.js +14 -14
- package/dist/lib/telemetry.js.map +1 -1
- package/dist/lib/utils.d.ts +2 -3
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +15 -19
- package/dist/lib/utils.js.map +1 -1
- package/dist/package.json +1 -1
- package/package.json +1 -1
package/dist/lib/const.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../lib/const.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAEvB,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,8BAA8B,CAAC;AAC7E,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../lib/const.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAEvB,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,8BAA8B,CAAC;AAC7E,MAAM,CAAC,MAAM,eAAe,GAC1B,OAAO,CAAC,GAAG,CAAC,eAAe;IAC3B,iDAAiD,CAAC;AACpD,MAAM,CAAC,MAAM,YAAY,GACvB,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,0BAA0B,CAAC"}
|
package/dist/lib/files.js
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { readFileSync, statSync, readdirSync, existsSync } from
|
|
2
|
-
import { join, basename, extname, relative, sep } from
|
|
3
|
-
import { createHash } from
|
|
4
|
-
import ignore from
|
|
1
|
+
import { readFileSync, statSync, readdirSync, existsSync } from 'fs';
|
|
2
|
+
import { join, basename, extname, relative, sep } from 'path';
|
|
3
|
+
import { createHash } from 'crypto';
|
|
4
|
+
import ignore from 'ignore';
|
|
5
5
|
const DEFAULT_IGNORE_PATTERNS = [
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
6
|
+
'.git/',
|
|
7
|
+
'.gitignore',
|
|
8
|
+
'node_modules/',
|
|
9
|
+
'.DS_Store',
|
|
10
|
+
'Thumbs.db',
|
|
11
|
+
'.env',
|
|
12
|
+
'.env.*',
|
|
13
|
+
'!.env.example',
|
|
14
|
+
'*.log',
|
|
15
|
+
'.cache/',
|
|
16
|
+
'dist/',
|
|
17
|
+
'build/',
|
|
18
|
+
'.next/',
|
|
19
|
+
'.vercel/',
|
|
20
|
+
'.turbo/',
|
|
21
|
+
'coverage/',
|
|
22
|
+
'.nyc_output/',
|
|
23
23
|
];
|
|
24
24
|
function loadGitignore(baseDir) {
|
|
25
25
|
const ig = ignore();
|
|
26
26
|
ig.add(DEFAULT_IGNORE_PATTERNS);
|
|
27
|
-
const gitignorePath = join(baseDir,
|
|
27
|
+
const gitignorePath = join(baseDir, '.gitignore');
|
|
28
28
|
if (existsSync(gitignorePath)) {
|
|
29
29
|
try {
|
|
30
|
-
const gitignoreContent = readFileSync(gitignorePath,
|
|
30
|
+
const gitignoreContent = readFileSync(gitignorePath, 'utf-8');
|
|
31
31
|
ig.add(gitignoreContent);
|
|
32
32
|
}
|
|
33
33
|
catch (error) {
|
|
@@ -37,18 +37,18 @@ function loadGitignore(baseDir) {
|
|
|
37
37
|
return ig;
|
|
38
38
|
}
|
|
39
39
|
function shouldIncludeFile(filePath, ig) {
|
|
40
|
-
const normalizedPath = filePath.split(sep).join(
|
|
40
|
+
const normalizedPath = filePath.split(sep).join('/');
|
|
41
41
|
return !ig.ignores(normalizedPath);
|
|
42
42
|
}
|
|
43
43
|
function calculateSha(content) {
|
|
44
|
-
return createHash(
|
|
44
|
+
return createHash('sha1').update(content).digest('hex');
|
|
45
45
|
}
|
|
46
46
|
function getExtension(filePath) {
|
|
47
47
|
const ext = extname(filePath);
|
|
48
|
-
return ext ? ext.slice(1).toLowerCase() :
|
|
48
|
+
return ext ? ext.slice(1).toLowerCase() : '';
|
|
49
49
|
}
|
|
50
50
|
function normalizePath(path) {
|
|
51
|
-
return path.split(sep).join(
|
|
51
|
+
return path.split(sep).join('/');
|
|
52
52
|
}
|
|
53
53
|
function scanDirectory(dirPath, baseDir = dirPath) {
|
|
54
54
|
const files = [];
|
|
@@ -75,7 +75,7 @@ function scanDirectory(dirPath, baseDir = dirPath) {
|
|
|
75
75
|
export function discoverFiles(inputPaths) {
|
|
76
76
|
const paths = Array.isArray(inputPaths) ? inputPaths : [inputPaths];
|
|
77
77
|
if (paths.length === 0) {
|
|
78
|
-
throw new Error(
|
|
78
|
+
throw new Error('No paths provided');
|
|
79
79
|
}
|
|
80
80
|
const allFiles = [];
|
|
81
81
|
let projectName = null;
|
|
@@ -134,21 +134,21 @@ export function discoverFiles(inputPaths) {
|
|
|
134
134
|
}
|
|
135
135
|
export function getProjectName(files) {
|
|
136
136
|
if (files.length === 0) {
|
|
137
|
-
throw new Error(
|
|
137
|
+
throw new Error('No files discovered');
|
|
138
138
|
}
|
|
139
139
|
const projectName = files[0]?.projectName;
|
|
140
140
|
if (!projectName) {
|
|
141
|
-
throw new Error(
|
|
141
|
+
throw new Error('Project name not found in files');
|
|
142
142
|
}
|
|
143
143
|
return projectName;
|
|
144
144
|
}
|
|
145
145
|
export function validateFiles(files) {
|
|
146
146
|
if (files.length === 0) {
|
|
147
|
-
throw new Error(
|
|
147
|
+
throw new Error('No files found to publish');
|
|
148
148
|
}
|
|
149
|
-
const hasMarkdownOrHtml = files.some((f) => [
|
|
149
|
+
const hasMarkdownOrHtml = files.some((f) => ['md', 'mdx', 'html'].includes(f.extension));
|
|
150
150
|
if (!hasMarkdownOrHtml) {
|
|
151
|
-
console.warn(
|
|
151
|
+
console.warn('Warning: No markdown or html files found. The site will be empty.');
|
|
152
152
|
}
|
|
153
153
|
return true;
|
|
154
154
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../lib/telemetry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../lib/telemetry.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,WAAW,QAAsB,CAAC;AA8C/C,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAiBD,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,IAAI,CAKN;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAKpD"}
|
package/dist/lib/telemetry.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { homedir } from
|
|
2
|
-
import { join } from
|
|
3
|
-
import { readFileSync, writeFileSync, existsSync, mkdirSync
|
|
4
|
-
import { randomUUID } from
|
|
5
|
-
import { PostHog } from
|
|
6
|
-
import packageJson from
|
|
7
|
-
import { POSTHOG_API_KEY, POSTHOG_HOST } from
|
|
1
|
+
import { homedir } from 'os';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs';
|
|
4
|
+
import { randomUUID } from 'crypto';
|
|
5
|
+
import { PostHog } from 'posthog-node';
|
|
6
|
+
import packageJson from '../package.json' with { type: 'json' };
|
|
7
|
+
import { POSTHOG_API_KEY, POSTHOG_HOST } from './const.js';
|
|
8
8
|
export const CLI_VERSION = packageJson.version;
|
|
9
|
-
const CONFIG_DIR = join(homedir(),
|
|
10
|
-
const CONFIG_FILE = join(CONFIG_DIR,
|
|
9
|
+
const CONFIG_DIR = join(homedir(), '.flowershow');
|
|
10
|
+
const CONFIG_FILE = join(CONFIG_DIR, 'config.json');
|
|
11
11
|
function readConfig() {
|
|
12
12
|
if (!existsSync(CONFIG_FILE))
|
|
13
13
|
return {};
|
|
14
14
|
try {
|
|
15
|
-
return JSON.parse(readFileSync(CONFIG_FILE,
|
|
15
|
+
return JSON.parse(readFileSync(CONFIG_FILE, 'utf-8'));
|
|
16
16
|
}
|
|
17
17
|
catch {
|
|
18
18
|
return {};
|
|
@@ -22,7 +22,7 @@ function writeConfig(config) {
|
|
|
22
22
|
if (!existsSync(CONFIG_DIR)) {
|
|
23
23
|
mkdirSync(CONFIG_DIR, { recursive: true });
|
|
24
24
|
}
|
|
25
|
-
writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2),
|
|
25
|
+
writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), 'utf-8');
|
|
26
26
|
}
|
|
27
27
|
function getOrCreateDistinctId() {
|
|
28
28
|
const config = readConfig();
|
|
@@ -36,12 +36,12 @@ function showNoticeIfNeeded() {
|
|
|
36
36
|
const config = readConfig();
|
|
37
37
|
if (config.telemetryNoticeShown)
|
|
38
38
|
return;
|
|
39
|
-
console.log(
|
|
40
|
-
console.log(
|
|
39
|
+
console.log('\nTelemetry Notice: Flowershow CLI collects anonymous usage data to improve the product.');
|
|
40
|
+
console.log('To opt out, set the FLOWERSHOW_TELEMETRY_DISABLED=1 environment variable.\n');
|
|
41
41
|
writeConfig({ ...config, telemetryNoticeShown: true });
|
|
42
42
|
}
|
|
43
43
|
export function isEnabled() {
|
|
44
|
-
return !process.env[
|
|
44
|
+
return !process.env['FLOWERSHOW_TELEMETRY_DISABLED'];
|
|
45
45
|
}
|
|
46
46
|
let _client = null;
|
|
47
47
|
function getClient() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../lib/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../lib/telemetry.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/utils.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
interface BlobStatus {
|
|
2
2
|
id: string;
|
|
3
3
|
path: string;
|
|
4
|
-
syncStatus:
|
|
4
|
+
syncStatus: 'UPLOADING' | 'PROCESSING' | 'SUCCESS' | 'ERROR';
|
|
5
5
|
syncError: string | null;
|
|
6
6
|
extension: string | null;
|
|
7
7
|
}
|
|
@@ -13,10 +13,9 @@ interface SyncResult {
|
|
|
13
13
|
}
|
|
14
14
|
export declare function sleep(ms: number): Promise<void>;
|
|
15
15
|
export declare function formatDate(date: string | Date): string;
|
|
16
|
-
export declare function getSiteUrl(projectName: string, username: string): string;
|
|
17
16
|
export declare function getDashboardUrl(siteId: string): string;
|
|
18
17
|
export declare function waitForSync(siteId: string, maxWaitSeconds?: number): Promise<SyncResult>;
|
|
19
|
-
export declare function displayPublishSuccess(
|
|
18
|
+
export declare function displayPublishSuccess(url: string): void;
|
|
20
19
|
export declare function displayError(message: string): void;
|
|
21
20
|
export declare function displayWarning(message: string): void;
|
|
22
21
|
export declare function displayInfo(message: string): void;
|
package/dist/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAKA,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;IAC7D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAcD,UAAU,UAAU;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAKD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAEtD;AAKD,wBAAgB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAKA,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;IAC7D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAcD,UAAU,UAAU;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAKD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAEtD;AAKD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAMD,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,cAAc,GAAE,MAAY,GAC3B,OAAO,CAAC,UAAU,CAAC,CA4FrB;AAKD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEvD;AAKD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAKD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEpD;AAKD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjD"}
|
package/dist/lib/utils.js
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
import chalk from
|
|
2
|
-
import cliProgress from
|
|
3
|
-
import { getSiteStatus } from
|
|
4
|
-
import { API_URL
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import cliProgress from 'cli-progress';
|
|
3
|
+
import { getSiteStatus } from './api-client.js';
|
|
4
|
+
import { API_URL } from './const.js';
|
|
5
5
|
export function sleep(ms) {
|
|
6
6
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
7
7
|
}
|
|
8
8
|
export function formatDate(date) {
|
|
9
9
|
return new Date(date).toLocaleString();
|
|
10
10
|
}
|
|
11
|
-
export function getSiteUrl(projectName, username) {
|
|
12
|
-
return `${APP_URL}/@${username}/${projectName}`;
|
|
13
|
-
}
|
|
14
11
|
export function getDashboardUrl(siteId) {
|
|
15
12
|
return `${API_URL}/site/${siteId}/settings`;
|
|
16
13
|
}
|
|
@@ -28,17 +25,17 @@ export async function waitForSync(siteId, maxWaitSeconds = 180) {
|
|
|
28
25
|
}
|
|
29
26
|
return { success: true, blobs: [] };
|
|
30
27
|
}
|
|
31
|
-
const pending = blobs.filter((b) => b.syncStatus ===
|
|
32
|
-
const errors = blobs.filter((b) => b.syncStatus ===
|
|
33
|
-
const success = blobs.filter((b) => b.syncStatus ===
|
|
28
|
+
const pending = blobs.filter((b) => b.syncStatus === 'UPLOADING' || b.syncStatus === 'PROCESSING');
|
|
29
|
+
const errors = blobs.filter((b) => b.syncStatus === 'ERROR');
|
|
30
|
+
const success = blobs.filter((b) => b.syncStatus === 'SUCCESS');
|
|
34
31
|
if (!progressBar && blobs.length > 0) {
|
|
35
32
|
totalFiles = blobs.length;
|
|
36
33
|
progressBar = new cliProgress.SingleBar({
|
|
37
|
-
format:
|
|
38
|
-
chalk.cyan(
|
|
39
|
-
|
|
40
|
-
barCompleteChar:
|
|
41
|
-
barIncompleteChar:
|
|
34
|
+
format: 'Processing |' +
|
|
35
|
+
chalk.cyan('{bar}') +
|
|
36
|
+
'| {percentage}% | {value}/{total} files',
|
|
37
|
+
barCompleteChar: '\u2588',
|
|
38
|
+
barIncompleteChar: '\u2591',
|
|
42
39
|
hideCursor: true,
|
|
43
40
|
}, cliProgress.Presets.shades_classic);
|
|
44
41
|
progressBar.start(totalFiles, success.length);
|
|
@@ -53,7 +50,7 @@ export async function waitForSync(siteId, maxWaitSeconds = 180) {
|
|
|
53
50
|
if (errors.length > 0) {
|
|
54
51
|
console.log(chalk.yellow(`\n⚠️ ${errors.length} file(s) had errors:`));
|
|
55
52
|
for (const blob of errors) {
|
|
56
|
-
console.log(chalk.yellow(` - ${blob.path}: ${blob.syncError ||
|
|
53
|
+
console.log(chalk.yellow(` - ${blob.path}: ${blob.syncError || 'Unknown error'}`));
|
|
57
54
|
}
|
|
58
55
|
return { success: false, blobs, errors };
|
|
59
56
|
}
|
|
@@ -67,15 +64,14 @@ export async function waitForSync(siteId, maxWaitSeconds = 180) {
|
|
|
67
64
|
}
|
|
68
65
|
const statusData = await getSiteStatus(siteId);
|
|
69
66
|
const blobs = statusData.blobs || [];
|
|
70
|
-
const pending = blobs.filter((b) => b.syncStatus ===
|
|
67
|
+
const pending = blobs.filter((b) => b.syncStatus === 'UPLOADING' || b.syncStatus === 'PROCESSING');
|
|
71
68
|
console.log(chalk.yellow(`\n⚠️ Timeout: ${pending.length} file(s) still processing`));
|
|
72
69
|
for (const blob of pending) {
|
|
73
70
|
console.log(chalk.yellow(` - ${blob.path}`));
|
|
74
71
|
}
|
|
75
72
|
return { success: false, blobs, timeout: true };
|
|
76
73
|
}
|
|
77
|
-
export function displayPublishSuccess(
|
|
78
|
-
const url = getSiteUrl(projectName, username);
|
|
74
|
+
export function displayPublishSuccess(url) {
|
|
79
75
|
console.log(chalk.cyan(`\n💐 Visit your site at: ${url}\n`));
|
|
80
76
|
}
|
|
81
77
|
export function displayError(message) {
|
package/dist/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED