@take-out/cli 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/LICENSE +21 -0
- package/README.md +274 -0
- package/cli.mjs +3 -0
- package/dist/cjs/cli.cjs +71 -0
- package/dist/cjs/cli.js +70 -0
- package/dist/cjs/cli.js.map +6 -0
- package/dist/cjs/cli.native.js +79 -0
- package/dist/cjs/cli.native.js.map +6 -0
- package/dist/cjs/commands/changed.cjs +212 -0
- package/dist/cjs/commands/changed.js +214 -0
- package/dist/cjs/commands/changed.js.map +6 -0
- package/dist/cjs/commands/changed.native.js +289 -0
- package/dist/cjs/commands/changed.native.js.map +6 -0
- package/dist/cjs/commands/docs.cjs +388 -0
- package/dist/cjs/commands/docs.js +313 -0
- package/dist/cjs/commands/docs.js.map +6 -0
- package/dist/cjs/commands/docs.native.js +476 -0
- package/dist/cjs/commands/docs.native.js.map +6 -0
- package/dist/cjs/commands/env-setup.cjs +90 -0
- package/dist/cjs/commands/env-setup.js +78 -0
- package/dist/cjs/commands/env-setup.js.map +6 -0
- package/dist/cjs/commands/env-setup.native.js +85 -0
- package/dist/cjs/commands/env-setup.native.js.map +6 -0
- package/dist/cjs/commands/onboard.cjs +479 -0
- package/dist/cjs/commands/onboard.js +631 -0
- package/dist/cjs/commands/onboard.js.map +6 -0
- package/dist/cjs/commands/onboard.native.js +608 -0
- package/dist/cjs/commands/onboard.native.js.map +6 -0
- package/dist/cjs/commands/run.cjs +148 -0
- package/dist/cjs/commands/run.js +116 -0
- package/dist/cjs/commands/run.js.map +6 -0
- package/dist/cjs/commands/run.native.js +140 -0
- package/dist/cjs/commands/run.native.js.map +6 -0
- package/dist/cjs/commands/script.cjs +379 -0
- package/dist/cjs/commands/script.js +339 -0
- package/dist/cjs/commands/script.js.map +6 -0
- package/dist/cjs/commands/script.native.js +449 -0
- package/dist/cjs/commands/script.native.js.map +6 -0
- package/dist/cjs/commands/sync.cjs +190 -0
- package/dist/cjs/commands/sync.js +168 -0
- package/dist/cjs/commands/sync.js.map +6 -0
- package/dist/cjs/commands/sync.native.js +211 -0
- package/dist/cjs/commands/sync.native.js.map +6 -0
- package/dist/cjs/constants/ascii.cjs +36 -0
- package/dist/cjs/constants/ascii.js +30 -0
- package/dist/cjs/constants/ascii.js.map +6 -0
- package/dist/cjs/constants/ascii.native.js +36 -0
- package/dist/cjs/constants/ascii.native.js.map +6 -0
- package/dist/cjs/index.cjs +64 -0
- package/dist/cjs/index.js +55 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/index.native.js +94 -0
- package/dist/cjs/index.native.js.map +6 -0
- package/dist/cjs/types.cjs +16 -0
- package/dist/cjs/types.js +14 -0
- package/dist/cjs/types.js.map +6 -0
- package/dist/cjs/types.native.js +15 -0
- package/dist/cjs/types.native.js.map +6 -0
- package/dist/cjs/utils/env-categories.cjs +272 -0
- package/dist/cjs/utils/env-categories.js +296 -0
- package/dist/cjs/utils/env-categories.js.map +6 -0
- package/dist/cjs/utils/env-categories.native.js +317 -0
- package/dist/cjs/utils/env-categories.native.js.map +6 -0
- package/dist/cjs/utils/env-setup.cjs +181 -0
- package/dist/cjs/utils/env-setup.js +190 -0
- package/dist/cjs/utils/env-setup.js.map +6 -0
- package/dist/cjs/utils/env-setup.native.js +264 -0
- package/dist/cjs/utils/env-setup.native.js.map +6 -0
- package/dist/cjs/utils/env.cjs +118 -0
- package/dist/cjs/utils/env.js +97 -0
- package/dist/cjs/utils/env.js.map +6 -0
- package/dist/cjs/utils/env.native.js +128 -0
- package/dist/cjs/utils/env.native.js.map +6 -0
- package/dist/cjs/utils/files.cjs +215 -0
- package/dist/cjs/utils/files.js +164 -0
- package/dist/cjs/utils/files.js.map +6 -0
- package/dist/cjs/utils/files.native.js +266 -0
- package/dist/cjs/utils/files.native.js.map +6 -0
- package/dist/cjs/utils/parallel-runner.cjs +99 -0
- package/dist/cjs/utils/parallel-runner.js +84 -0
- package/dist/cjs/utils/parallel-runner.js.map +6 -0
- package/dist/cjs/utils/parallel-runner.native.js +123 -0
- package/dist/cjs/utils/parallel-runner.native.js.map +6 -0
- package/dist/cjs/utils/ports.cjs +101 -0
- package/dist/cjs/utils/ports.js +81 -0
- package/dist/cjs/utils/ports.js.map +6 -0
- package/dist/cjs/utils/ports.native.js +130 -0
- package/dist/cjs/utils/ports.native.js.map +6 -0
- package/dist/cjs/utils/prerequisites.cjs +119 -0
- package/dist/cjs/utils/prerequisites.js +107 -0
- package/dist/cjs/utils/prerequisites.js.map +6 -0
- package/dist/cjs/utils/prerequisites.native.js +127 -0
- package/dist/cjs/utils/prerequisites.native.js.map +6 -0
- package/dist/cjs/utils/prompts.cjs +161 -0
- package/dist/cjs/utils/prompts.js +162 -0
- package/dist/cjs/utils/prompts.js.map +6 -0
- package/dist/cjs/utils/prompts.native.js +179 -0
- package/dist/cjs/utils/prompts.native.js.map +6 -0
- package/dist/cjs/utils/script-listing.cjs +113 -0
- package/dist/cjs/utils/script-listing.js +108 -0
- package/dist/cjs/utils/script-listing.js.map +6 -0
- package/dist/cjs/utils/script-listing.native.js +174 -0
- package/dist/cjs/utils/script-listing.native.js.map +6 -0
- package/dist/cjs/utils/sync.cjs +85 -0
- package/dist/cjs/utils/sync.js +70 -0
- package/dist/cjs/utils/sync.js.map +6 -0
- package/dist/cjs/utils/sync.native.js +84 -0
- package/dist/cjs/utils/sync.native.js.map +6 -0
- package/dist/cjs/utils/welcome.cjs +50 -0
- package/dist/cjs/utils/welcome.js +42 -0
- package/dist/cjs/utils/welcome.js.map +6 -0
- package/dist/cjs/utils/welcome.native.js +47 -0
- package/dist/cjs/utils/welcome.native.js.map +6 -0
- package/dist/esm/cli.js +79 -0
- package/dist/esm/cli.js.map +6 -0
- package/dist/esm/cli.mjs +71 -0
- package/dist/esm/cli.mjs.map +1 -0
- package/dist/esm/cli.native.js +69 -0
- package/dist/esm/cli.native.js.map +1 -0
- package/dist/esm/commands/changed.js +194 -0
- package/dist/esm/commands/changed.js.map +6 -0
- package/dist/esm/commands/changed.mjs +178 -0
- package/dist/esm/commands/changed.mjs.map +1 -0
- package/dist/esm/commands/changed.native.js +273 -0
- package/dist/esm/commands/changed.native.js.map +1 -0
- package/dist/esm/commands/docs.js +306 -0
- package/dist/esm/commands/docs.js.map +6 -0
- package/dist/esm/commands/docs.mjs +353 -0
- package/dist/esm/commands/docs.mjs.map +1 -0
- package/dist/esm/commands/docs.native.js +516 -0
- package/dist/esm/commands/docs.native.js.map +1 -0
- package/dist/esm/commands/env-setup.js +56 -0
- package/dist/esm/commands/env-setup.js.map +6 -0
- package/dist/esm/commands/env-setup.mjs +56 -0
- package/dist/esm/commands/env-setup.mjs.map +1 -0
- package/dist/esm/commands/env-setup.native.js +59 -0
- package/dist/esm/commands/env-setup.native.js.map +1 -0
- package/dist/esm/commands/onboard.js +645 -0
- package/dist/esm/commands/onboard.js.map +6 -0
- package/dist/esm/commands/onboard.mjs +445 -0
- package/dist/esm/commands/onboard.mjs.map +1 -0
- package/dist/esm/commands/onboard.native.js +584 -0
- package/dist/esm/commands/onboard.native.js.map +1 -0
- package/dist/esm/commands/run.js +95 -0
- package/dist/esm/commands/run.js.map +6 -0
- package/dist/esm/commands/run.mjs +114 -0
- package/dist/esm/commands/run.mjs.map +1 -0
- package/dist/esm/commands/run.native.js +133 -0
- package/dist/esm/commands/run.native.js.map +1 -0
- package/dist/esm/commands/script.js +338 -0
- package/dist/esm/commands/script.js.map +6 -0
- package/dist/esm/commands/script.mjs +336 -0
- package/dist/esm/commands/script.mjs.map +1 -0
- package/dist/esm/commands/script.native.js +445 -0
- package/dist/esm/commands/script.native.js.map +1 -0
- package/dist/esm/commands/sync.js +158 -0
- package/dist/esm/commands/sync.js.map +6 -0
- package/dist/esm/commands/sync.mjs +155 -0
- package/dist/esm/commands/sync.mjs.map +1 -0
- package/dist/esm/commands/sync.native.js +173 -0
- package/dist/esm/commands/sync.native.js.map +1 -0
- package/dist/esm/constants/ascii.js +14 -0
- package/dist/esm/constants/ascii.js.map +6 -0
- package/dist/esm/constants/ascii.mjs +12 -0
- package/dist/esm/constants/ascii.mjs.map +1 -0
- package/dist/esm/constants/ascii.native.js +12 -0
- package/dist/esm/constants/ascii.native.js.map +1 -0
- package/dist/esm/index.js +83 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/index.mjs +7 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +7 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +6 -0
- package/dist/esm/types.mjs +2 -0
- package/dist/esm/types.mjs.map +1 -0
- package/dist/esm/types.native.js +2 -0
- package/dist/esm/types.native.js.map +1 -0
- package/dist/esm/utils/env-categories.js +272 -0
- package/dist/esm/utils/env-categories.js.map +6 -0
- package/dist/esm/utils/env-categories.mjs +233 -0
- package/dist/esm/utils/env-categories.mjs.map +1 -0
- package/dist/esm/utils/env-categories.native.js +246 -0
- package/dist/esm/utils/env-categories.native.js.map +1 -0
- package/dist/esm/utils/env-setup.js +173 -0
- package/dist/esm/utils/env-setup.js.map +6 -0
- package/dist/esm/utils/env-setup.mjs +146 -0
- package/dist/esm/utils/env-setup.mjs.map +1 -0
- package/dist/esm/utils/env-setup.native.js +243 -0
- package/dist/esm/utils/env-setup.native.js.map +1 -0
- package/dist/esm/utils/env.js +83 -0
- package/dist/esm/utils/env.js.map +6 -0
- package/dist/esm/utils/env.mjs +90 -0
- package/dist/esm/utils/env.mjs.map +1 -0
- package/dist/esm/utils/env.native.js +99 -0
- package/dist/esm/utils/env.native.js.map +1 -0
- package/dist/esm/utils/files.js +150 -0
- package/dist/esm/utils/files.js.map +6 -0
- package/dist/esm/utils/files.mjs +187 -0
- package/dist/esm/utils/files.mjs.map +1 -0
- package/dist/esm/utils/files.native.js +247 -0
- package/dist/esm/utils/files.native.js.map +1 -0
- package/dist/esm/utils/parallel-runner.js +69 -0
- package/dist/esm/utils/parallel-runner.js.map +6 -0
- package/dist/esm/utils/parallel-runner.mjs +76 -0
- package/dist/esm/utils/parallel-runner.mjs.map +1 -0
- package/dist/esm/utils/parallel-runner.native.js +109 -0
- package/dist/esm/utils/parallel-runner.native.js.map +1 -0
- package/dist/esm/utils/ports.js +65 -0
- package/dist/esm/utils/ports.js.map +6 -0
- package/dist/esm/utils/ports.mjs +74 -0
- package/dist/esm/utils/ports.mjs.map +1 -0
- package/dist/esm/utils/ports.native.js +93 -0
- package/dist/esm/utils/ports.native.js.map +1 -0
- package/dist/esm/utils/prerequisites.js +91 -0
- package/dist/esm/utils/prerequisites.js.map +6 -0
- package/dist/esm/utils/prerequisites.mjs +91 -0
- package/dist/esm/utils/prerequisites.mjs.map +1 -0
- package/dist/esm/utils/prerequisites.native.js +97 -0
- package/dist/esm/utils/prerequisites.native.js.map +1 -0
- package/dist/esm/utils/prompts.js +139 -0
- package/dist/esm/utils/prompts.js.map +6 -0
- package/dist/esm/utils/prompts.mjs +112 -0
- package/dist/esm/utils/prompts.mjs.map +1 -0
- package/dist/esm/utils/prompts.native.js +115 -0
- package/dist/esm/utils/prompts.native.js.map +1 -0
- package/dist/esm/utils/script-listing.js +91 -0
- package/dist/esm/utils/script-listing.js.map +6 -0
- package/dist/esm/utils/script-listing.mjs +76 -0
- package/dist/esm/utils/script-listing.mjs.map +1 -0
- package/dist/esm/utils/script-listing.native.js +151 -0
- package/dist/esm/utils/script-listing.native.js.map +1 -0
- package/dist/esm/utils/sync.js +50 -0
- package/dist/esm/utils/sync.js.map +6 -0
- package/dist/esm/utils/sync.mjs +48 -0
- package/dist/esm/utils/sync.mjs.map +1 -0
- package/dist/esm/utils/sync.native.js +53 -0
- package/dist/esm/utils/sync.native.js.map +1 -0
- package/dist/esm/utils/welcome.js +21 -0
- package/dist/esm/utils/welcome.js.map +6 -0
- package/dist/esm/utils/welcome.mjs +15 -0
- package/dist/esm/utils/welcome.mjs.map +1 -0
- package/dist/esm/utils/welcome.native.js +18 -0
- package/dist/esm/utils/welcome.native.js.map +1 -0
- package/docs/aggregates.md +579 -0
- package/docs/cloudflare-dev-tunnel.md +41 -0
- package/docs/database.md +203 -0
- package/docs/docs.md +8 -0
- package/docs/emitters.md +562 -0
- package/docs/hot-updater.md +223 -0
- package/docs/native-hot-update.md +252 -0
- package/docs/one-components.md +234 -0
- package/docs/one-hooks.md +570 -0
- package/docs/one-routes.md +660 -0
- package/docs/package-json.md +115 -0
- package/docs/react-native-navigation-flow.md +184 -0
- package/docs/scripts.md +147 -0
- package/docs/sync-prompt.md +208 -0
- package/docs/tamagui.md +478 -0
- package/docs/testing-integration.md +564 -0
- package/docs/triggers.md +450 -0
- package/docs/zero.md +719 -0
- package/package.json +76 -0
- package/scripts/seed.ts +209 -0
- package/src/cli.ts +147 -0
- package/src/commands/changed.ts +313 -0
- package/src/commands/docs.ts +582 -0
- package/src/commands/env-setup.ts +69 -0
- package/src/commands/onboard.ts +1391 -0
- package/src/commands/run.ts +173 -0
- package/src/commands/script.ts +587 -0
- package/src/commands/sync.ts +305 -0
- package/src/constants/ascii.ts +17 -0
- package/src/index.ts +63 -0
- package/src/types.ts +59 -0
- package/src/utils/env-categories.ts +245 -0
- package/src/utils/env-setup.ts +338 -0
- package/src/utils/env.ts +127 -0
- package/src/utils/files.ts +302 -0
- package/src/utils/parallel-runner.ts +129 -0
- package/src/utils/ports.ts +77 -0
- package/src/utils/prerequisites.ts +137 -0
- package/src/utils/prompts.ts +197 -0
- package/src/utils/script-listing.ts +214 -0
- package/src/utils/sync.ts +101 -0
- package/src/withOpSqliteStatic.cjs +51 -0
- package/types/cli.d.ts +7 -0
- package/types/cli.d.ts.map +1 -0
- package/types/commands/changed.d.ts +14 -0
- package/types/commands/changed.d.ts.map +1 -0
- package/types/commands/docs.d.ts +5 -0
- package/types/commands/docs.d.ts.map +1 -0
- package/types/commands/env-setup.d.ts +25 -0
- package/types/commands/env-setup.d.ts.map +1 -0
- package/types/commands/onboard.d.ts +16 -0
- package/types/commands/onboard.d.ts.map +1 -0
- package/types/commands/run.d.ts +8 -0
- package/types/commands/run.d.ts.map +1 -0
- package/types/commands/script.d.ts +28 -0
- package/types/commands/script.d.ts.map +1 -0
- package/types/commands/sync.d.ts +5 -0
- package/types/commands/sync.d.ts.map +1 -0
- package/types/constants/ascii.d.ts +6 -0
- package/types/constants/ascii.d.ts.map +1 -0
- package/types/index.d.ts +12 -0
- package/types/index.d.ts.map +1 -0
- package/types/types.d.ts +54 -0
- package/types/types.d.ts.map +1 -0
- package/types/utils/env-categories.d.ts +8 -0
- package/types/utils/env-categories.d.ts.map +1 -0
- package/types/utils/env-setup.d.ts +10 -0
- package/types/utils/env-setup.d.ts.map +1 -0
- package/types/utils/env.d.ts +19 -0
- package/types/utils/env.d.ts.map +1 -0
- package/types/utils/files.d.ts +47 -0
- package/types/utils/files.d.ts.map +1 -0
- package/types/utils/parallel-runner.d.ts +15 -0
- package/types/utils/parallel-runner.d.ts.map +1 -0
- package/types/utils/ports.d.ts +16 -0
- package/types/utils/ports.d.ts.map +1 -0
- package/types/utils/prerequisites.d.ts +11 -0
- package/types/utils/prerequisites.d.ts.map +1 -0
- package/types/utils/prompts.d.ts +30 -0
- package/types/utils/prompts.d.ts.map +1 -0
- package/types/utils/script-listing.d.ts +7 -0
- package/types/utils/script-listing.d.ts.map +1 -0
- package/types/utils/sync.d.ts +16 -0
- package/types/utils/sync.d.ts.map +1 -0
- package/types/utils/welcome.d.ts +6 -0
- package/types/utils/welcome.d.ts.map +1 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { existsSync, statSync } from "node:fs";
|
|
2
|
+
import { join, relative } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import pc from "picocolors";
|
|
5
|
+
import {
|
|
6
|
+
discoverScripts,
|
|
7
|
+
getLocalScriptsDir,
|
|
8
|
+
getScriptMetadata
|
|
9
|
+
} from "../commands/script";
|
|
10
|
+
function findScriptsPackageRoot() {
|
|
11
|
+
try {
|
|
12
|
+
const resolved = import.meta.resolve("@take-out/scripts/package.json"), packageJsonPath = fileURLToPath(new URL(resolved)), packageRoot = join(packageJsonPath, ".."), srcPath = join(packageRoot, "src");
|
|
13
|
+
if (existsSync(srcPath))
|
|
14
|
+
return srcPath;
|
|
15
|
+
} catch {
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
function formatScriptList(title, scripts, showDescriptions = !1) {
|
|
20
|
+
if (scripts.size === 0) return;
|
|
21
|
+
console.info(), console.info(pc.bold(pc.cyan(title))), console.info();
|
|
22
|
+
const categories = /* @__PURE__ */ new Map(), rootScripts = [];
|
|
23
|
+
for (const [name, path] of scripts)
|
|
24
|
+
if (name.includes("/")) {
|
|
25
|
+
const parts = name.split("/");
|
|
26
|
+
if (parts.length > 0 && parts[0]) {
|
|
27
|
+
const category = parts[0];
|
|
28
|
+
categories.has(category) || categories.set(category, []), categories.get(category).push([name, path]);
|
|
29
|
+
}
|
|
30
|
+
} else
|
|
31
|
+
rootScripts.push([name, path]);
|
|
32
|
+
for (const [name, path] of rootScripts) {
|
|
33
|
+
let line = ` ${pc.green(name)}`;
|
|
34
|
+
if (showDescriptions) {
|
|
35
|
+
const metadata = getScriptMetadata(path);
|
|
36
|
+
metadata.description && (line += pc.dim(` - ${metadata.description}`));
|
|
37
|
+
}
|
|
38
|
+
console.info(line);
|
|
39
|
+
}
|
|
40
|
+
for (const [category, categoryScripts] of categories) {
|
|
41
|
+
console.info(), console.info(` ${pc.yellow(category)}/`);
|
|
42
|
+
for (const [name, path] of categoryScripts) {
|
|
43
|
+
const shortName = name.startsWith(`${category}/`) ? name.substring(category.length + 1) : name;
|
|
44
|
+
let line = ` ${pc.green(shortName)}`;
|
|
45
|
+
if (showDescriptions) {
|
|
46
|
+
const metadata = getScriptMetadata(path);
|
|
47
|
+
metadata.description && (line += pc.dim(` - ${metadata.description}`));
|
|
48
|
+
}
|
|
49
|
+
console.info(line);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function listAllScripts(includeCommands = !0) {
|
|
54
|
+
console.info(), console.info(pc.bold(pc.cyan("Takeout CLI - Project Scripts & Commands"))), console.info(), console.info(pc.dim(" Manage scripts, run tasks, and configure your project")), console.info(), includeCommands && (console.info(pc.bold(pc.cyan("\u{1F6E0}\uFE0F Built-in Commands"))), console.info(), console.info(` ${pc.green("onboard")} - Setup wizard for new projects`), console.info(` ${pc.green("docs")} - View documentation`), console.info(` ${pc.green("env:setup")} - Setup environment variables`), console.info(` ${pc.green("run")} - Run scripts in parallel`), console.info(` ${pc.green("script")} - Manage and run scripts`), console.info(` ${pc.green("sync")} - Sync fork with upstream Takeout`), console.info(` ${pc.green("changed")} - Show changes since last sync`), console.info(` ${pc.green("completion")} - Shell completion setup`));
|
|
55
|
+
const localScripts = discoverScripts(getLocalScriptsDir()), builtInDir = findScriptsPackageRoot(), builtInScripts = builtInDir ? discoverScripts(builtInDir) : /* @__PURE__ */ new Map();
|
|
56
|
+
localScripts.size > 0 && formatScriptList("\u{1F4C1} Local Scripts", localScripts, !0), builtInScripts.size > 0 && formatScriptList("\u{1F4E6} Built-in Scripts", builtInScripts, !0), localScripts.size === 0 && builtInScripts.size === 0 && (console.info(), console.info(pc.yellow("No scripts found")), console.info(), console.info(
|
|
57
|
+
pc.dim(`Create scripts in ${relative(process.cwd(), getLocalScriptsDir())}/`)
|
|
58
|
+
), console.info(pc.dim("Or install @take-out/scripts package for built-in scripts"))), console.info(), console.info(pc.bold("Usage:")), console.info(
|
|
59
|
+
` ${pc.cyan("tko <command>")} ${pc.dim("Run a built-in command")}`
|
|
60
|
+
), console.info(
|
|
61
|
+
` ${pc.cyan("tko <script-name>")} ${pc.dim("Execute a script (use / for nested, e.g., tko web/build)")}`
|
|
62
|
+
), console.info(` ${pc.cyan("tko script new <path>")} ${pc.dim("Create a new script")}`), console.info(), console.info(pc.bold("Examples:")), console.info(
|
|
63
|
+
` ${pc.cyan("tko upgrade/tamagui")} ${pc.dim("Upgrade Tamagui packages")}`
|
|
64
|
+
), console.info(` ${pc.cyan("tko web/build")} ${pc.dim("Build web platform")}`), console.info(
|
|
65
|
+
` ${pc.cyan("tko check/types")} ${pc.dim("Run TypeScript type checking")}`
|
|
66
|
+
), console.info();
|
|
67
|
+
}
|
|
68
|
+
function listCategoryScripts(categoryName) {
|
|
69
|
+
const localDir = getLocalScriptsDir(), categoryPath = join(localDir, categoryName);
|
|
70
|
+
if (existsSync(categoryPath) && statSync(categoryPath).isDirectory()) {
|
|
71
|
+
const categoryScripts = discoverScripts(categoryPath);
|
|
72
|
+
if (categoryScripts.size > 0) {
|
|
73
|
+
console.info(), console.info(pc.bold(pc.cyan(`\u{1F4C1} ${categoryName} Scripts`))), console.info();
|
|
74
|
+
for (const [name, path] of categoryScripts) {
|
|
75
|
+
const shortName = name.replace(`${categoryName}/`, ""), metadata = getScriptMetadata(path);
|
|
76
|
+
let line = ` ${pc.green(shortName)}`;
|
|
77
|
+
metadata.description && (line += pc.dim(` - ${metadata.description}`)), metadata.args && metadata.args.length > 0 && (line += pc.dim(` [${metadata.args.join(", ")}]`)), console.info(line);
|
|
78
|
+
}
|
|
79
|
+
console.info(), console.info(pc.dim(`Run: tko ${categoryName}/<name> [args...] to execute`)), console.info();
|
|
80
|
+
} else
|
|
81
|
+
console.info(), console.info(pc.yellow(`No scripts found in ${categoryName}/`)), console.info();
|
|
82
|
+
return !0;
|
|
83
|
+
}
|
|
84
|
+
return !1;
|
|
85
|
+
}
|
|
86
|
+
export {
|
|
87
|
+
formatScriptList,
|
|
88
|
+
listAllScripts,
|
|
89
|
+
listCategoryScripts
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=script-listing.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/script-listing.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { existsSync, statSync } from "node:fs";
|
|
2
|
+
import { join, relative } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import pc from "picocolors";
|
|
5
|
+
import { discoverScripts, getLocalScriptsDir, getScriptMetadata } from "../commands/script.mjs";
|
|
6
|
+
function findScriptsPackageRoot() {
|
|
7
|
+
try {
|
|
8
|
+
const resolved = import.meta.resolve("@take-out/scripts/package.json"),
|
|
9
|
+
packageJsonPath = fileURLToPath(new URL(resolved)),
|
|
10
|
+
packageRoot = join(packageJsonPath, ".."),
|
|
11
|
+
srcPath = join(packageRoot, "src");
|
|
12
|
+
if (existsSync(srcPath)) return srcPath;
|
|
13
|
+
} catch {}
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
function formatScriptList(title, scripts, showDescriptions = !1) {
|
|
17
|
+
if (scripts.size === 0) return;
|
|
18
|
+
console.info(), console.info(pc.bold(pc.cyan(title))), console.info();
|
|
19
|
+
const categories = /* @__PURE__ */new Map(),
|
|
20
|
+
rootScripts = [];
|
|
21
|
+
for (const [name, path] of scripts) if (name.includes("/")) {
|
|
22
|
+
const parts = name.split("/");
|
|
23
|
+
if (parts.length > 0 && parts[0]) {
|
|
24
|
+
const category = parts[0];
|
|
25
|
+
categories.has(category) || categories.set(category, []), categories.get(category).push([name, path]);
|
|
26
|
+
}
|
|
27
|
+
} else rootScripts.push([name, path]);
|
|
28
|
+
for (const [name, path] of rootScripts) {
|
|
29
|
+
let line = ` ${pc.green(name)}`;
|
|
30
|
+
if (showDescriptions) {
|
|
31
|
+
const metadata = getScriptMetadata(path);
|
|
32
|
+
metadata.description && (line += pc.dim(` - ${metadata.description}`));
|
|
33
|
+
}
|
|
34
|
+
console.info(line);
|
|
35
|
+
}
|
|
36
|
+
for (const [category, categoryScripts] of categories) {
|
|
37
|
+
console.info(), console.info(` ${pc.yellow(category)}/`);
|
|
38
|
+
for (const [name, path] of categoryScripts) {
|
|
39
|
+
const shortName = name.startsWith(`${category}/`) ? name.substring(category.length + 1) : name;
|
|
40
|
+
let line = ` ${pc.green(shortName)}`;
|
|
41
|
+
if (showDescriptions) {
|
|
42
|
+
const metadata = getScriptMetadata(path);
|
|
43
|
+
metadata.description && (line += pc.dim(` - ${metadata.description}`));
|
|
44
|
+
}
|
|
45
|
+
console.info(line);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function listAllScripts(includeCommands = !0) {
|
|
50
|
+
console.info(), console.info(pc.bold(pc.cyan("Takeout CLI - Project Scripts & Commands"))), console.info(), console.info(pc.dim(" Manage scripts, run tasks, and configure your project")), console.info(), includeCommands && (console.info(pc.bold(pc.cyan("\u{1F6E0}\uFE0F Built-in Commands"))), console.info(), console.info(` ${pc.green("onboard")} - Setup wizard for new projects`), console.info(` ${pc.green("docs")} - View documentation`), console.info(` ${pc.green("env:setup")} - Setup environment variables`), console.info(` ${pc.green("run")} - Run scripts in parallel`), console.info(` ${pc.green("script")} - Manage and run scripts`), console.info(` ${pc.green("sync")} - Sync fork with upstream Takeout`), console.info(` ${pc.green("changed")} - Show changes since last sync`), console.info(` ${pc.green("completion")} - Shell completion setup`));
|
|
51
|
+
const localScripts = discoverScripts(getLocalScriptsDir()),
|
|
52
|
+
builtInDir = findScriptsPackageRoot(),
|
|
53
|
+
builtInScripts = builtInDir ? discoverScripts(builtInDir) : /* @__PURE__ */new Map();
|
|
54
|
+
localScripts.size > 0 && formatScriptList("\u{1F4C1} Local Scripts", localScripts, !0), builtInScripts.size > 0 && formatScriptList("\u{1F4E6} Built-in Scripts", builtInScripts, !0), localScripts.size === 0 && builtInScripts.size === 0 && (console.info(), console.info(pc.yellow("No scripts found")), console.info(), console.info(pc.dim(`Create scripts in ${relative(process.cwd(), getLocalScriptsDir())}/`)), console.info(pc.dim("Or install @take-out/scripts package for built-in scripts"))), console.info(), console.info(pc.bold("Usage:")), console.info(` ${pc.cyan("tko <command>")} ${pc.dim("Run a built-in command")}`), console.info(` ${pc.cyan("tko <script-name>")} ${pc.dim("Execute a script (use / for nested, e.g., tko web/build)")}`), console.info(` ${pc.cyan("tko script new <path>")} ${pc.dim("Create a new script")}`), console.info(), console.info(pc.bold("Examples:")), console.info(` ${pc.cyan("tko upgrade/tamagui")} ${pc.dim("Upgrade Tamagui packages")}`), console.info(` ${pc.cyan("tko web/build")} ${pc.dim("Build web platform")}`), console.info(` ${pc.cyan("tko check/types")} ${pc.dim("Run TypeScript type checking")}`), console.info();
|
|
55
|
+
}
|
|
56
|
+
function listCategoryScripts(categoryName) {
|
|
57
|
+
const localDir = getLocalScriptsDir(),
|
|
58
|
+
categoryPath = join(localDir, categoryName);
|
|
59
|
+
if (existsSync(categoryPath) && statSync(categoryPath).isDirectory()) {
|
|
60
|
+
const categoryScripts = discoverScripts(categoryPath);
|
|
61
|
+
if (categoryScripts.size > 0) {
|
|
62
|
+
console.info(), console.info(pc.bold(pc.cyan(`\u{1F4C1} ${categoryName} Scripts`))), console.info();
|
|
63
|
+
for (const [name, path] of categoryScripts) {
|
|
64
|
+
const shortName = name.replace(`${categoryName}/`, ""),
|
|
65
|
+
metadata = getScriptMetadata(path);
|
|
66
|
+
let line = ` ${pc.green(shortName)}`;
|
|
67
|
+
metadata.description && (line += pc.dim(` - ${metadata.description}`)), metadata.args && metadata.args.length > 0 && (line += pc.dim(` [${metadata.args.join(", ")}]`)), console.info(line);
|
|
68
|
+
}
|
|
69
|
+
console.info(), console.info(pc.dim(`Run: tko ${categoryName}/<name> [args...] to execute`)), console.info();
|
|
70
|
+
} else console.info(), console.info(pc.yellow(`No scripts found in ${categoryName}/`)), console.info();
|
|
71
|
+
return !0;
|
|
72
|
+
}
|
|
73
|
+
return !1;
|
|
74
|
+
}
|
|
75
|
+
export { formatScriptList, listAllScripts, listCategoryScripts };
|
|
76
|
+
//# sourceMappingURL=script-listing.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["existsSync","statSync","join","relative","fileURLToPath","pc","discoverScripts","getLocalScriptsDir","getScriptMetadata","findScriptsPackageRoot","resolved","import","meta","resolve","packageJsonPath","URL","packageRoot","srcPath","formatScriptList","title","scripts","showDescriptions","size","console","info","bold","cyan","categories","Map","rootScripts","name","path","includes","parts","split","length","category","has","set","get","push","line","green","metadata","description","dim","categoryScripts","yellow","shortName","startsWith","substring","listAllScripts","includeCommands","localScripts","builtInDir","builtInScripts","process","cwd","listCategoryScripts","categoryName","localDir","categoryPath","isDirectory","replace","args"],"sources":["../../../src/utils/script-listing.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { existsSync, statSync } from "fs";
|
|
2
|
+
import { join, relative } from "path";
|
|
3
|
+
import { fileURLToPath } from "url";
|
|
4
|
+
import pc from "picocolors";
|
|
5
|
+
import { discoverScripts, getLocalScriptsDir, getScriptMetadata } from "../commands/script.native.js";
|
|
6
|
+
function findScriptsPackageRoot() {
|
|
7
|
+
try {
|
|
8
|
+
var resolved = import.meta.resolve("@take-out/scripts/package.json"),
|
|
9
|
+
packageJsonPath = fileURLToPath(new URL(resolved)),
|
|
10
|
+
packageRoot = join(packageJsonPath, ".."),
|
|
11
|
+
srcPath = join(packageRoot, "src");
|
|
12
|
+
if (existsSync(srcPath)) return srcPath;
|
|
13
|
+
} catch {}
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
function formatScriptList(title, scripts) {
|
|
17
|
+
var showDescriptions = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
|
|
18
|
+
if (scripts.size !== 0) {
|
|
19
|
+
console.info(), console.info(pc.bold(pc.cyan(title))), console.info();
|
|
20
|
+
var categories = /* @__PURE__ */new Map(),
|
|
21
|
+
rootScripts = [],
|
|
22
|
+
_iteratorNormalCompletion = !0,
|
|
23
|
+
_didIteratorError = !1,
|
|
24
|
+
_iteratorError = void 0;
|
|
25
|
+
try {
|
|
26
|
+
for (var _iterator = scripts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
27
|
+
var [name, path] = _step.value;
|
|
28
|
+
if (name.includes("/")) {
|
|
29
|
+
var parts = name.split("/");
|
|
30
|
+
if (parts.length > 0 && parts[0]) {
|
|
31
|
+
var category = parts[0];
|
|
32
|
+
categories.has(category) || categories.set(category, []), categories.get(category).push([name, path]);
|
|
33
|
+
}
|
|
34
|
+
} else rootScripts.push([name, path]);
|
|
35
|
+
}
|
|
36
|
+
} catch (err) {
|
|
37
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
38
|
+
} finally {
|
|
39
|
+
try {
|
|
40
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
41
|
+
} finally {
|
|
42
|
+
if (_didIteratorError) throw _iteratorError;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
var _iteratorNormalCompletion1 = !0,
|
|
46
|
+
_didIteratorError1 = !1,
|
|
47
|
+
_iteratorError1 = void 0;
|
|
48
|
+
try {
|
|
49
|
+
for (var _iterator1 = rootScripts[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
|
|
50
|
+
var [name1, path1] = _step1.value,
|
|
51
|
+
line = ` ${pc.green(name1)}`;
|
|
52
|
+
if (showDescriptions) {
|
|
53
|
+
var metadata = getScriptMetadata(path1);
|
|
54
|
+
metadata.description && (line += pc.dim(` - ${metadata.description}`));
|
|
55
|
+
}
|
|
56
|
+
console.info(line);
|
|
57
|
+
}
|
|
58
|
+
} catch (err) {
|
|
59
|
+
_didIteratorError1 = !0, _iteratorError1 = err;
|
|
60
|
+
} finally {
|
|
61
|
+
try {
|
|
62
|
+
!_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
|
|
63
|
+
} finally {
|
|
64
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
var _iteratorNormalCompletion2 = !0,
|
|
68
|
+
_didIteratorError2 = !1,
|
|
69
|
+
_iteratorError2 = void 0;
|
|
70
|
+
try {
|
|
71
|
+
for (var _iterator2 = categories[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
|
|
72
|
+
var [category1, categoryScripts] = _step2.value;
|
|
73
|
+
console.info(), console.info(` ${pc.yellow(category1)}/`);
|
|
74
|
+
var _iteratorNormalCompletion3 = !0,
|
|
75
|
+
_didIteratorError3 = !1,
|
|
76
|
+
_iteratorError3 = void 0;
|
|
77
|
+
try {
|
|
78
|
+
for (var _iterator3 = categoryScripts[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = !0) {
|
|
79
|
+
var [name2, path2] = _step3.value,
|
|
80
|
+
shortName = name2.startsWith(`${category1}/`) ? name2.substring(category1.length + 1) : name2,
|
|
81
|
+
line1 = ` ${pc.green(shortName)}`;
|
|
82
|
+
if (showDescriptions) {
|
|
83
|
+
var metadata1 = getScriptMetadata(path2);
|
|
84
|
+
metadata1.description && (line1 += pc.dim(` - ${metadata1.description}`));
|
|
85
|
+
}
|
|
86
|
+
console.info(line1);
|
|
87
|
+
}
|
|
88
|
+
} catch (err) {
|
|
89
|
+
_didIteratorError3 = !0, _iteratorError3 = err;
|
|
90
|
+
} finally {
|
|
91
|
+
try {
|
|
92
|
+
!_iteratorNormalCompletion3 && _iterator3.return != null && _iterator3.return();
|
|
93
|
+
} finally {
|
|
94
|
+
if (_didIteratorError3) throw _iteratorError3;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
} catch (err) {
|
|
99
|
+
_didIteratorError2 = !0, _iteratorError2 = err;
|
|
100
|
+
} finally {
|
|
101
|
+
try {
|
|
102
|
+
!_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
|
|
103
|
+
} finally {
|
|
104
|
+
if (_didIteratorError2) throw _iteratorError2;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
function listAllScripts() {
|
|
110
|
+
var includeCommands = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0;
|
|
111
|
+
console.info(), console.info(pc.bold(pc.cyan("Takeout CLI - Project Scripts & Commands"))), console.info(), console.info(pc.dim(" Manage scripts, run tasks, and configure your project")), console.info(), includeCommands && (console.info(pc.bold(pc.cyan("\u{1F6E0}\uFE0F Built-in Commands"))), console.info(), console.info(` ${pc.green("onboard")} - Setup wizard for new projects`), console.info(` ${pc.green("docs")} - View documentation`), console.info(` ${pc.green("env:setup")} - Setup environment variables`), console.info(` ${pc.green("run")} - Run scripts in parallel`), console.info(` ${pc.green("script")} - Manage and run scripts`), console.info(` ${pc.green("sync")} - Sync fork with upstream Takeout`), console.info(` ${pc.green("changed")} - Show changes since last sync`), console.info(` ${pc.green("completion")} - Shell completion setup`));
|
|
112
|
+
var localScripts = discoverScripts(getLocalScriptsDir()),
|
|
113
|
+
builtInDir = findScriptsPackageRoot(),
|
|
114
|
+
builtInScripts = builtInDir ? discoverScripts(builtInDir) : /* @__PURE__ */new Map();
|
|
115
|
+
localScripts.size > 0 && formatScriptList("\u{1F4C1} Local Scripts", localScripts, !0), builtInScripts.size > 0 && formatScriptList("\u{1F4E6} Built-in Scripts", builtInScripts, !0), localScripts.size === 0 && builtInScripts.size === 0 && (console.info(), console.info(pc.yellow("No scripts found")), console.info(), console.info(pc.dim(`Create scripts in ${relative(process.cwd(), getLocalScriptsDir())}/`)), console.info(pc.dim("Or install @take-out/scripts package for built-in scripts"))), console.info(), console.info(pc.bold("Usage:")), console.info(` ${pc.cyan("tko <command>")} ${pc.dim("Run a built-in command")}`), console.info(` ${pc.cyan("tko <script-name>")} ${pc.dim("Execute a script (use / for nested, e.g., tko web/build)")}`), console.info(` ${pc.cyan("tko script new <path>")} ${pc.dim("Create a new script")}`), console.info(), console.info(pc.bold("Examples:")), console.info(` ${pc.cyan("tko upgrade/tamagui")} ${pc.dim("Upgrade Tamagui packages")}`), console.info(` ${pc.cyan("tko web/build")} ${pc.dim("Build web platform")}`), console.info(` ${pc.cyan("tko check/types")} ${pc.dim("Run TypeScript type checking")}`), console.info();
|
|
116
|
+
}
|
|
117
|
+
function listCategoryScripts(categoryName) {
|
|
118
|
+
var localDir = getLocalScriptsDir(),
|
|
119
|
+
categoryPath = join(localDir, categoryName);
|
|
120
|
+
if (existsSync(categoryPath) && statSync(categoryPath).isDirectory()) {
|
|
121
|
+
var categoryScripts = discoverScripts(categoryPath);
|
|
122
|
+
if (categoryScripts.size > 0) {
|
|
123
|
+
console.info(), console.info(pc.bold(pc.cyan(`\u{1F4C1} ${categoryName} Scripts`))), console.info();
|
|
124
|
+
var _iteratorNormalCompletion = !0,
|
|
125
|
+
_didIteratorError = !1,
|
|
126
|
+
_iteratorError = void 0;
|
|
127
|
+
try {
|
|
128
|
+
for (var _iterator = categoryScripts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
129
|
+
var [name, path] = _step.value,
|
|
130
|
+
shortName = name.replace(`${categoryName}/`, ""),
|
|
131
|
+
metadata = getScriptMetadata(path),
|
|
132
|
+
line = ` ${pc.green(shortName)}`;
|
|
133
|
+
metadata.description && (line += pc.dim(` - ${metadata.description}`)), metadata.args && metadata.args.length > 0 && (line += pc.dim(` [${metadata.args.join(", ")}]`)), console.info(line);
|
|
134
|
+
}
|
|
135
|
+
} catch (err) {
|
|
136
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
137
|
+
} finally {
|
|
138
|
+
try {
|
|
139
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
140
|
+
} finally {
|
|
141
|
+
if (_didIteratorError) throw _iteratorError;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
console.info(), console.info(pc.dim(`Run: tko ${categoryName}/<name> [args...] to execute`)), console.info();
|
|
145
|
+
} else console.info(), console.info(pc.yellow(`No scripts found in ${categoryName}/`)), console.info();
|
|
146
|
+
return !0;
|
|
147
|
+
}
|
|
148
|
+
return !1;
|
|
149
|
+
}
|
|
150
|
+
export { formatScriptList, listAllScripts, listCategoryScripts };
|
|
151
|
+
//# sourceMappingURL=script-listing.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["existsSync","statSync","join","relative","fileURLToPath","pc","discoverScripts","getLocalScriptsDir","getScriptMetadata","findScriptsPackageRoot","resolved","import","meta","resolve","packageJsonPath","URL","packageRoot","srcPath","formatScriptList","title","scripts","showDescriptions","arguments","length","size","console","info","bold","cyan","categories","Map","rootScripts","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","name","path","value","includes","parts","split","category","has","set","get","push","err","return","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","name1","path1","line","green","metadata","description","dim","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","category1","categoryScripts","yellow","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","name2","path2","shortName","startsWith","substring","line1","metadata1"],"sources":["../../../src/utils/script-listing.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync, statSync } from "node:fs";
|
|
3
|
+
import { relative, dirname } from "node:path";
|
|
4
|
+
import { confirm } from "@clack/prompts";
|
|
5
|
+
import pc from "picocolors";
|
|
6
|
+
function getFileHash(filePath) {
|
|
7
|
+
const content = readFileSync(filePath);
|
|
8
|
+
return createHash("md5").update(content).digest("hex");
|
|
9
|
+
}
|
|
10
|
+
function compareFiles(sourcePath, targetPath) {
|
|
11
|
+
if (!existsSync(targetPath))
|
|
12
|
+
return "new";
|
|
13
|
+
const sourceHash = getFileHash(sourcePath), targetHash = getFileHash(targetPath);
|
|
14
|
+
return sourceHash === targetHash ? "identical" : "modified";
|
|
15
|
+
}
|
|
16
|
+
async function syncFileWithConfirmation(file) {
|
|
17
|
+
const relPath = relative(process.cwd(), file.targetPath);
|
|
18
|
+
if (file.status === "identical")
|
|
19
|
+
return console.info(pc.dim(` \u2713 ${file.name} (already up to date)`)), !1;
|
|
20
|
+
const statusColor = file.status === "new" ? pc.green : pc.yellow, statusText = file.status === "new" ? "NEW" : "MODIFIED";
|
|
21
|
+
if (console.info(), console.info(statusColor(` ${statusText}: ${file.name}`)), file.status === "modified") {
|
|
22
|
+
const sourceSize = file.sourceSize || 0, targetSize = file.targetSize || 0, diff = sourceSize - targetSize;
|
|
23
|
+
console.info(pc.dim(` Source: ${sourceSize} bytes`)), console.info(pc.dim(` Target: ${targetSize} bytes`)), diff > 0 ? console.info(pc.cyan(` Source is ${diff} bytes larger`)) : diff < 0 && console.info(pc.magenta(` Target is ${Math.abs(diff)} bytes larger`));
|
|
24
|
+
}
|
|
25
|
+
console.info(pc.dim(` \u2192 ${relPath}`));
|
|
26
|
+
const shouldSync = await confirm({
|
|
27
|
+
message: "Overwrite this file?",
|
|
28
|
+
initialValue: !0
|
|
29
|
+
});
|
|
30
|
+
if (shouldSync === !1 || typeof shouldSync == "symbol")
|
|
31
|
+
return console.info(pc.dim(" \u2298 Skipped")), !1;
|
|
32
|
+
const targetDir = dirname(file.targetPath);
|
|
33
|
+
existsSync(targetDir) || mkdirSync(targetDir, { recursive: !0 });
|
|
34
|
+
const content = readFileSync(file.sourcePath);
|
|
35
|
+
return writeFileSync(file.targetPath, content), console.info(pc.green(" \u2713 Synced")), !0;
|
|
36
|
+
}
|
|
37
|
+
function getFileSize(filePath) {
|
|
38
|
+
try {
|
|
39
|
+
return statSync(filePath).size;
|
|
40
|
+
} catch {
|
|
41
|
+
return 0;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export {
|
|
45
|
+
compareFiles,
|
|
46
|
+
getFileHash,
|
|
47
|
+
getFileSize,
|
|
48
|
+
syncFileWithConfirmation
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/sync.ts"],
|
|
4
|
+
"mappings": "AAIA,SAAS,kBAAkB;AAC3B,SAAS,YAAY,cAAc,eAAe,WAAW,gBAAgB;AAC7E,SAAe,UAAU,eAAe;AAExC,SAAS,eAAe;AACxB,OAAO,QAAQ;AAWR,SAAS,YAAY,UAA0B;AACpD,QAAM,UAAU,aAAa,QAAQ;AACrC,SAAO,WAAW,KAAK,EAAE,OAAO,OAAO,EAAE,OAAO,KAAK;AACvD;AAEO,SAAS,aACd,YACA,YACkC;AAClC,MAAI,CAAC,WAAW,UAAU;AACxB,WAAO;AAGT,QAAM,aAAa,YAAY,UAAU,GACnC,aAAa,YAAY,UAAU;AAEzC,SAAO,eAAe,aAAa,cAAc;AACnD;AAEA,eAAsB,yBAAyB,MAAoC;AACjF,QAAM,UAAU,SAAS,QAAQ,IAAI,GAAG,KAAK,UAAU;AAEvD,MAAI,KAAK,WAAW;AAClB,mBAAQ,KAAK,GAAG,IAAI,YAAO,KAAK,IAAI,uBAAuB,CAAC,GACrD;AAGT,QAAM,cAAc,KAAK,WAAW,QAAQ,GAAG,QAAQ,GAAG,QACpD,aAAa,KAAK,WAAW,QAAQ,QAAQ;AAKnD,MAHA,QAAQ,KAAK,GACb,QAAQ,KAAK,YAAY,KAAK,UAAU,KAAK,KAAK,IAAI,EAAE,CAAC,GAErD,KAAK,WAAW,YAAY;AAC9B,UAAM,aAAa,KAAK,cAAc,GAChC,aAAa,KAAK,cAAc,GAChC,OAAO,aAAa;AAE1B,YAAQ,KAAK,GAAG,IAAI,eAAe,UAAU,QAAQ,CAAC,GACtD,QAAQ,KAAK,GAAG,IAAI,eAAe,UAAU,QAAQ,CAAC,GAElD,OAAO,IACT,QAAQ,KAAK,GAAG,KAAK,iBAAiB,IAAI,eAAe,CAAC,IACjD,OAAO,KAChB,QAAQ,KAAK,GAAG,QAAQ,iBAAiB,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC;AAAA,EAE3E;AAEA,UAAQ,KAAK,GAAG,IAAI,cAAS,OAAO,EAAE,CAAC;AAEvC,QAAM,aAAa,MAAM,QAAQ;AAAA,IAC/B,SAAS;AAAA,IACT,cAAc;AAAA,EAChB,CAAC;AAED,MAAI,eAAe,MAAS,OAAO,cAAe;AAChD,mBAAQ,KAAK,GAAG,IAAI,kBAAa,CAAC,GAC3B;AAIT,QAAM,YAAY,QAAQ,KAAK,UAAU;AACzC,EAAK,WAAW,SAAS,KACvB,UAAU,WAAW,EAAE,WAAW,GAAK,CAAC;AAI1C,QAAM,UAAU,aAAa,KAAK,UAAU;AAC5C,uBAAc,KAAK,YAAY,OAAO,GAEtC,QAAQ,KAAK,GAAG,MAAM,iBAAY,CAAC,GAC5B;AACT;AAEO,SAAS,YAAY,UAA0B;AACpD,MAAI;AACF,WAAO,SAAS,QAAQ,EAAE;AAAA,EAC5B,QAAQ;AACN,WAAO;AAAA,EACT;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync, statSync } from "node:fs";
|
|
3
|
+
import { relative, dirname } from "node:path";
|
|
4
|
+
import { confirm } from "@clack/prompts";
|
|
5
|
+
import pc from "picocolors";
|
|
6
|
+
function getFileHash(filePath) {
|
|
7
|
+
const content = readFileSync(filePath);
|
|
8
|
+
return createHash("md5").update(content).digest("hex");
|
|
9
|
+
}
|
|
10
|
+
function compareFiles(sourcePath, targetPath) {
|
|
11
|
+
if (!existsSync(targetPath)) return "new";
|
|
12
|
+
const sourceHash = getFileHash(sourcePath),
|
|
13
|
+
targetHash = getFileHash(targetPath);
|
|
14
|
+
return sourceHash === targetHash ? "identical" : "modified";
|
|
15
|
+
}
|
|
16
|
+
async function syncFileWithConfirmation(file) {
|
|
17
|
+
const relPath = relative(process.cwd(), file.targetPath);
|
|
18
|
+
if (file.status === "identical") return console.info(pc.dim(` \u2713 ${file.name} (already up to date)`)), !1;
|
|
19
|
+
const statusColor = file.status === "new" ? pc.green : pc.yellow,
|
|
20
|
+
statusText = file.status === "new" ? "NEW" : "MODIFIED";
|
|
21
|
+
if (console.info(), console.info(statusColor(` ${statusText}: ${file.name}`)), file.status === "modified") {
|
|
22
|
+
const sourceSize = file.sourceSize || 0,
|
|
23
|
+
targetSize = file.targetSize || 0,
|
|
24
|
+
diff = sourceSize - targetSize;
|
|
25
|
+
console.info(pc.dim(` Source: ${sourceSize} bytes`)), console.info(pc.dim(` Target: ${targetSize} bytes`)), diff > 0 ? console.info(pc.cyan(` Source is ${diff} bytes larger`)) : diff < 0 && console.info(pc.magenta(` Target is ${Math.abs(diff)} bytes larger`));
|
|
26
|
+
}
|
|
27
|
+
console.info(pc.dim(` \u2192 ${relPath}`));
|
|
28
|
+
const shouldSync = await confirm({
|
|
29
|
+
message: "Overwrite this file?",
|
|
30
|
+
initialValue: !0
|
|
31
|
+
});
|
|
32
|
+
if (shouldSync === !1 || typeof shouldSync == "symbol") return console.info(pc.dim(" \u2298 Skipped")), !1;
|
|
33
|
+
const targetDir = dirname(file.targetPath);
|
|
34
|
+
existsSync(targetDir) || mkdirSync(targetDir, {
|
|
35
|
+
recursive: !0
|
|
36
|
+
});
|
|
37
|
+
const content = readFileSync(file.sourcePath);
|
|
38
|
+
return writeFileSync(file.targetPath, content), console.info(pc.green(" \u2713 Synced")), !0;
|
|
39
|
+
}
|
|
40
|
+
function getFileSize(filePath) {
|
|
41
|
+
try {
|
|
42
|
+
return statSync(filePath).size;
|
|
43
|
+
} catch {
|
|
44
|
+
return 0;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export { compareFiles, getFileHash, getFileSize, syncFileWithConfirmation };
|
|
48
|
+
//# sourceMappingURL=sync.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createHash","existsSync","readFileSync","writeFileSync","mkdirSync","statSync","relative","dirname","confirm","pc","getFileHash","filePath","content","update","digest","compareFiles","sourcePath","targetPath","sourceHash","targetHash","syncFileWithConfirmation","file","relPath","process","cwd","status","console","info","dim","name","statusColor","green","yellow","statusText","sourceSize","targetSize","diff","cyan","magenta","Math","abs","shouldSync","message","initialValue","targetDir","recursive","getFileSize","size"],"sources":["../../../src/utils/sync.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { createHash } from "crypto";
|
|
2
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync, statSync } from "fs";
|
|
3
|
+
import { relative, dirname } from "path";
|
|
4
|
+
import { confirm } from "@clack/prompts";
|
|
5
|
+
import pc from "picocolors";
|
|
6
|
+
function _type_of(obj) {
|
|
7
|
+
"@swc/helpers - typeof";
|
|
8
|
+
|
|
9
|
+
return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
10
|
+
}
|
|
11
|
+
function getFileHash(filePath) {
|
|
12
|
+
var content = readFileSync(filePath);
|
|
13
|
+
return createHash("md5").update(content).digest("hex");
|
|
14
|
+
}
|
|
15
|
+
function compareFiles(sourcePath, targetPath) {
|
|
16
|
+
if (!existsSync(targetPath)) return "new";
|
|
17
|
+
var sourceHash = getFileHash(sourcePath),
|
|
18
|
+
targetHash = getFileHash(targetPath);
|
|
19
|
+
return sourceHash === targetHash ? "identical" : "modified";
|
|
20
|
+
}
|
|
21
|
+
async function syncFileWithConfirmation(file) {
|
|
22
|
+
var relPath = relative(process.cwd(), file.targetPath);
|
|
23
|
+
if (file.status === "identical") return console.info(pc.dim(` \u2713 ${file.name} (already up to date)`)), !1;
|
|
24
|
+
var statusColor = file.status === "new" ? pc.green : pc.yellow,
|
|
25
|
+
statusText = file.status === "new" ? "NEW" : "MODIFIED";
|
|
26
|
+
if (console.info(), console.info(statusColor(` ${statusText}: ${file.name}`)), file.status === "modified") {
|
|
27
|
+
var sourceSize = file.sourceSize || 0,
|
|
28
|
+
targetSize = file.targetSize || 0,
|
|
29
|
+
diff = sourceSize - targetSize;
|
|
30
|
+
console.info(pc.dim(` Source: ${sourceSize} bytes`)), console.info(pc.dim(` Target: ${targetSize} bytes`)), diff > 0 ? console.info(pc.cyan(` Source is ${diff} bytes larger`)) : diff < 0 && console.info(pc.magenta(` Target is ${Math.abs(diff)} bytes larger`));
|
|
31
|
+
}
|
|
32
|
+
console.info(pc.dim(` \u2192 ${relPath}`));
|
|
33
|
+
var shouldSync = await confirm({
|
|
34
|
+
message: "Overwrite this file?",
|
|
35
|
+
initialValue: !0
|
|
36
|
+
});
|
|
37
|
+
if (shouldSync === !1 || (typeof shouldSync > "u" ? "undefined" : _type_of(shouldSync)) === "symbol") return console.info(pc.dim(" \u2298 Skipped")), !1;
|
|
38
|
+
var targetDir = dirname(file.targetPath);
|
|
39
|
+
existsSync(targetDir) || mkdirSync(targetDir, {
|
|
40
|
+
recursive: !0
|
|
41
|
+
});
|
|
42
|
+
var content = readFileSync(file.sourcePath);
|
|
43
|
+
return writeFileSync(file.targetPath, content), console.info(pc.green(" \u2713 Synced")), !0;
|
|
44
|
+
}
|
|
45
|
+
function getFileSize(filePath) {
|
|
46
|
+
try {
|
|
47
|
+
return statSync(filePath).size;
|
|
48
|
+
} catch {
|
|
49
|
+
return 0;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export { compareFiles, getFileHash, getFileSize, syncFileWithConfirmation };
|
|
53
|
+
//# sourceMappingURL=sync.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createHash","existsSync","readFileSync","writeFileSync","mkdirSync","statSync","relative","dirname","confirm","pc","_type_of","obj","Symbol","constructor","getFileHash","filePath","content","update","digest","compareFiles","sourcePath","targetPath","sourceHash","targetHash","syncFileWithConfirmation","file","relPath","process","cwd","status","console","info","dim","name","statusColor","green","yellow","statusText","sourceSize","targetSize","diff","cyan","magenta","Math","abs","shouldSync","message","initialValue","targetDir","recursive","getFileSize"],"sources":["../../../src/utils/sync.ts"],"sourcesContent":[null],"mappings":"AAIA,SAASA,UAAA,QAAkB;AAC3B,SAASC,UAAA,EAAYC,YAAA,EAAcC,aAAA,EAAeC,SAAA,EAAWC,QAAA,QAAgB;AAC7E,SAAeC,QAAA,EAAUC,OAAA,QAAe;AAExC,SAASC,OAAA,QAAe;AACxB,OAAOC,EAAA,MAAQ;AAWR,SAASC,SAAAC,GAAY;EAC1B,uBAAgB;;EAChB,OAAOA,GAAA,WAAWC,MAAO,MAAO,IAAAD,GAAO,CAAEE,WAAO,KAAKD,MAAA,qBAAAD,GAAA;AACvD;AAEO,SAASG,YAAAC,QACd;EAGA,IAAIC,OAAC,GAAAd,YAAqB,CAAAa,QAAA;EACxB,OAAAf,UAAO,QAAAiB,MAAA,CAAAD,OAAA,EAAAE,MAAA;AAGT;AAGA,SAAOC,aAAAC,UAAe,EAAAC,UAAa;EACrC,KAAApB,UAAA,CAAAoB,UAAA,GAEA,YAAsB;EACpB,IAAAC,UAAM,GAAUR,WAAS,CAAAM,UAAY,CAAG;IAAAG,UAAK,GAAUT,WAAA,CAAAO,UAAA;EAEvD,OAAIC,UAAK,KAAWC,UAAA;AAClB;AAIF,eAAMC,wBAA8BA,CAAAC,IAAA,EAAQ;EAM5C,IAHAC,OAAA,GAAQpB,QACR,CAAAqB,OAAQ,CAAAC,GAAK,IAAAH,IAAA,CAAAJ,UAAiB;EAG5B,IAAAI,IAAM,CAAAI,MAAA,gBAAkB,EAIxB,OAAAC,OAAa,CAAAC,IAAG,CAAItB,EAAA,CAAAuB,GAAA,aAAeP,IAAA,CAAAQ,IAAU,uBAChC,EAAG,IAAI;EAOtB,IAAAC,WAAA,GAAAT,IAAA,CAAAI,MAAA,aAAApB,EAAA,CAAA0B,KAAA,GAAA1B,EAAA,CAAA2B,MAAA;IAAAC,UAAA,GAAAZ,IAAA,CAAAI,MAAA;EAEA,IAAAC,OAAQ,CAAAC,IAAQ,IAAID,OAAA,CAAAC,IAAA,CAAAG,WAAmB,MAAAG,UAAA,KAAAZ,IAAA,CAAAQ,IAAA,MAAAR,IAAA,CAAAI,MAAA;IAEvC,IAAMS,UAAA,GAAab,IAAA,CAAAa,UAAc;MAAAC,UAAA,GAAAd,IAAA,CAAAc,UAAA;MAAAC,IAAA,GAAAF,UAAA,GAAAC,UAAA;IAC/BT,OAAA,CAAAC,IAAS,CAAAtB,EAAA,CAAAuB,GAAA,gBAAAM,UAAA,YAAAR,OAAA,CAAAC,IAAA,CAAAtB,EAAA,CAAAuB,GAAA,gBAAAO,UAAA,YAAAC,IAAA,OAAAV,OAAA,CAAAC,IAAA,CAAAtB,EAAA,CAAAgC,IAAA,kBAAAD,IAAA,oBAAAA,IAAA,QAAAV,OAAA,CAAAC,IAAA,CAAAtB,EAAA,CAAAiC,OAAA,kBAAAC,IAAA,CAAAC,GAAA,CAAAJ,IAAA;EAAA;EAEXV,OAAC,CAAAC,IAAA,CAAAtB,EAAA,CAAAuB,GAAA,eAAAN,OAAA;EAED,IAAImB,UAAA,SAAerC,OAAS;IAC1BsC,OAAA,wBAAoB;IAKtBC,YAAM;EACD;EAKL,IAAAF,UAAM,KAAU,cAAaA,UAAK,GAAU,oBAAAnC,QAAA,CAAAmC,UAAA,iBAC5C,OAAAf,OAAA,CAAAC,IAAc,CAAAtB,EAAA,CAAAuB,GAAK,mBAAmB,CAEtC;EAEF,IAAAgB,SAAA,GAAAzC,OAAA,CAAAkB,IAAA,CAAAJ,UAAA;EAEOpB,UAAS,CAAA+C,SAAY,KAAA5C,SAA0B,CAAA4C,SAAA;IACpDC,SAAI;EACF;EACF,IAAAjC,OAAQ,GAAAd,YAAA,CAAAuB,IAAA,CAAAL,UAAA;EACN,OAAAjB,aAAO,CAAAsB,IAAA,CAAAJ,UAAA,EAAAL,OAAA,GAAAc,OAAA,CAAAC,IAAA,CAAAtB,EAAA,CAAA0B,KAAA;AAAA;AAEX,SAAAe,YAAAnC,QAAA","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import pc from "picocolors";
|
|
4
|
+
import { WELCOME_BANNER } from "../constants/ascii";
|
|
5
|
+
function showWelcomeMessage() {
|
|
6
|
+
console.info(), console.info(pc.white(WELCOME_BANNER)), console.info(), console.info(), console.info(pc.bold(pc.white(" welcome to takeout! \u{1F961}"))), console.info(), console.info(
|
|
7
|
+
pc.dim(" run ") + pc.green("bun onboard") + pc.dim(" to get things set up")
|
|
8
|
+
), console.info();
|
|
9
|
+
}
|
|
10
|
+
function checkAndShowWelcome(cwd = process.cwd()) {
|
|
11
|
+
try {
|
|
12
|
+
const packagePath = join(cwd, "package.json");
|
|
13
|
+
JSON.parse(readFileSync(packagePath, "utf-8")).takeout?.onboarded === !1 && showWelcomeMessage();
|
|
14
|
+
} catch {
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
checkAndShowWelcome,
|
|
19
|
+
showWelcomeMessage
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=welcome.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/welcome.ts"],
|
|
4
|
+
"mappings": "AAIA,SAAS,oBAAoB;AAC7B,SAAS,YAAY;AAErB,OAAO,QAAQ;AAEf,SAAS,sBAAsB;AAExB,SAAS,qBAA2B;AACzC,UAAQ,KAAK,GACb,QAAQ,KAAK,GAAG,MAAM,cAAc,CAAC,GACrC,QAAQ,KAAK,GACb,QAAQ,KAAK,GACb,QAAQ,KAAK,GAAG,KAAK,GAAG,MAAM,iCAA0B,CAAC,CAAC,GAC1D,QAAQ,KAAK,GACb,QAAQ;AAAA,IACN,GAAG,IAAI,QAAQ,IAAI,GAAG,MAAM,aAAa,IAAI,GAAG,IAAI,uBAAuB;AAAA,EAC7E,GACA,QAAQ,KAAK;AACf;AAEO,SAAS,oBAAoB,MAAc,QAAQ,IAAI,GAAS;AACrE,MAAI;AACF,UAAM,cAAc,KAAK,KAAK,cAAc;AAG5C,IAFY,KAAK,MAAM,aAAa,aAAa,OAAO,CAAC,EAEjD,SAAS,cAAc,MAC7B,mBAAmB;AAAA,EAEvB,QAAQ;AAAA,EAER;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import pc from "picocolors";
|
|
4
|
+
import { WELCOME_BANNER } from "../constants/ascii.mjs";
|
|
5
|
+
function showWelcomeMessage() {
|
|
6
|
+
console.info(), console.info(pc.white(WELCOME_BANNER)), console.info(), console.info(), console.info(pc.bold(pc.white(" welcome to takeout! \u{1F961}"))), console.info(), console.info(pc.dim(" run ") + pc.green("bun onboard") + pc.dim(" to get things set up")), console.info();
|
|
7
|
+
}
|
|
8
|
+
function checkAndShowWelcome(cwd = process.cwd()) {
|
|
9
|
+
try {
|
|
10
|
+
const packagePath = join(cwd, "package.json");
|
|
11
|
+
JSON.parse(readFileSync(packagePath, "utf-8")).takeout?.onboarded === !1 && showWelcomeMessage();
|
|
12
|
+
} catch {}
|
|
13
|
+
}
|
|
14
|
+
export { checkAndShowWelcome, showWelcomeMessage };
|
|
15
|
+
//# sourceMappingURL=welcome.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["readFileSync","join","pc","WELCOME_BANNER","showWelcomeMessage","console","info","white","bold","dim","green","checkAndShowWelcome","cwd","process","packagePath","JSON","parse","takeout","onboarded"],"sources":["../../../src/utils/welcome.ts"],"sourcesContent":[null],"mappings":"AAIA,SAASA,YAAA,QAAoB;AAC7B,SAASC,IAAA,QAAY;AAErB,OAAOC,EAAA,MAAQ;AAEf,SAASC,cAAA,QAAsB;AAExB,SAASC,mBAAA,EAA2B;EACzCC,OAAA,CAAQC,IAAA,CAAK,GACbD,OAAA,CAAQC,IAAA,CAAKJ,EAAA,CAAGK,KAAA,CAAMJ,cAAc,CAAC,GACrCE,OAAA,CAAQC,IAAA,CAAK,GACbD,OAAA,CAAQC,IAAA,CAAK,GACbD,OAAA,CAAQC,IAAA,CAAKJ,EAAA,CAAGM,IAAA,CAAKN,EAAA,CAAGK,KAAA,CAAM,iCAA0B,CAAC,CAAC,GAC1DF,OAAA,CAAQC,IAAA,CAAK,GACbD,OAAA,CAAQC,IAAA,CACNJ,EAAA,CAAGO,GAAA,CAAI,QAAQ,IAAIP,EAAA,CAAGQ,KAAA,CAAM,aAAa,IAAIR,EAAA,CAAGO,GAAA,CAAI,uBAAuB,CAC7E,GACAJ,OAAA,CAAQC,IAAA,CAAK;AACf;AAEO,SAASK,oBAAoBC,GAAA,GAAcC,OAAA,CAAQD,GAAA,CAAI,GAAS;EACrE,IAAI;IACF,MAAME,WAAA,GAAcb,IAAA,CAAKW,GAAA,EAAK,cAAc;IAChCG,IAAA,CAAKC,KAAA,CAAMhB,YAAA,CAAac,WAAA,EAAa,OAAO,CAAC,EAEjDG,OAAA,EAASC,SAAA,KAAc,MAC7Bd,kBAAA,CAAmB;EAEvB,QAAQ,CAER;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { readFileSync } from "fs";
|
|
2
|
+
import { join } from "path";
|
|
3
|
+
import pc from "picocolors";
|
|
4
|
+
import { WELCOME_BANNER } from "../constants/ascii.native.js";
|
|
5
|
+
function showWelcomeMessage() {
|
|
6
|
+
console.info(), console.info(pc.white(WELCOME_BANNER)), console.info(), console.info(), console.info(pc.bold(pc.white(" welcome to takeout! \u{1F961}"))), console.info(), console.info(pc.dim(" run ") + pc.green("bun onboard") + pc.dim(" to get things set up")), console.info();
|
|
7
|
+
}
|
|
8
|
+
function checkAndShowWelcome() {
|
|
9
|
+
var cwd = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : process.cwd();
|
|
10
|
+
try {
|
|
11
|
+
var _pkg_takeout,
|
|
12
|
+
packagePath = join(cwd, "package.json"),
|
|
13
|
+
pkg = JSON.parse(readFileSync(packagePath, "utf-8"));
|
|
14
|
+
((_pkg_takeout = pkg.takeout) === null || _pkg_takeout === void 0 ? void 0 : _pkg_takeout.onboarded) === !1 && showWelcomeMessage();
|
|
15
|
+
} catch {}
|
|
16
|
+
}
|
|
17
|
+
export { checkAndShowWelcome, showWelcomeMessage };
|
|
18
|
+
//# sourceMappingURL=welcome.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["readFileSync","join","pc","WELCOME_BANNER","showWelcomeMessage","console","info","white","bold","dim","green","checkAndShowWelcome","cwd","arguments","length","process","_pkg_takeout","packagePath","pkg","JSON","parse","takeout","onboarded"],"sources":["../../../src/utils/welcome.ts"],"sourcesContent":[null],"mappings":"AAIA,SAASA,YAAA,QAAoB;AAC7B,SAASC,IAAA,QAAY;AAErB,OAAOC,EAAA,MAAQ;AAEf,SAASC,cAAA,QAAsB;AAExB,SAASC,mBAAA,EAA2B;EACzCC,OAAA,CAAQC,IAAA,CAAK,GACbD,OAAA,CAAQC,IAAA,CAAKJ,EAAA,CAAGK,KAAA,CAAMJ,cAAc,CAAC,GACrCE,OAAA,CAAQC,IAAA,CAAK,GACbD,OAAA,CAAQC,IAAA,CAAK,GACbD,OAAA,CAAQC,IAAA,CAAKJ,EAAA,CAAGM,IAAA,CAAKN,EAAA,CAAGK,KAAA,CAAM,iCAA0B,CAAC,CAAC,GAC1DF,OAAA,CAAQC,IAAA,CAAK,GACbD,OAAA,CAAQC,IAAA,CAAAJ,EAAA,CAAAO,GAAA,aAAAP,EAAA,CAAAQ,KAAA,kBAAAR,EAAA,CAAAO,GAAA,4BAAAJ,OAAA,CAAAC,IAAA;AAAA;AACqE,SAE7EK,mBAAaA,CAAA;EACf,IAAAC,GAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,MAAAE,OAAA,CAAAH,GAAA;EAEO;IACL,IAAII,YAAA;MAAAC,WAAA,GAAAhB,IAAA,CAAAW,GAAA;MAAAM,GAAA,GAAAC,IAAA,CAAAC,KAAA,CAAApB,YAAA,CAAAiB,WAAA;IACF,EAAAD,YAAM,GAAAE,GAAc,CAAAG,OAAK,MAAK,QAAAL,YAAc,uBAAAA,YAAA,CAAAM,SAAA,YAAAlB,kBAAA;EAG5C,EAFY,MAAK,CAKnB;AAAQ;AAGV,S","ignoreList":[]}
|