@take-out/cli 0.2.9 → 0.3.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/dist/cjs/cli.cjs +0 -0
- package/dist/esm/cli.mjs +0 -0
- package/dist/esm/index.js +1 -3
- package/dist/esm/index.js.map +1 -6
- package/package.json +7 -6
- package/src/commands/changed.ts +6 -6
- package/src/commands/onboard.ts +63 -63
- package/src/commands/run.ts +1 -1
- package/src/commands/script.ts +3 -3
- package/src/commands/skills.ts +6 -6
- package/src/commands/sync.ts +3 -3
- package/src/utils/env-setup.ts +8 -8
- package/src/utils/env.ts +3 -3
- package/src/utils/files.ts +6 -6
- package/src/utils/parallel-runner.ts +1 -1
- package/src/utils/prompts.ts +6 -6
- package/src/utils/script-listing.ts +5 -5
- package/src/utils/script-utils.ts +1 -1
- package/src/utils/sync.ts +1 -1
- package/src/withExpoModulesCoreSwift6Fix.cjs +58 -0
- package/dist/cjs/cli.js +0 -123
- package/dist/cjs/cli.js.map +0 -6
- package/dist/cjs/commands/changed.js +0 -214
- package/dist/cjs/commands/changed.js.map +0 -6
- package/dist/cjs/commands/docs.js +0 -174
- package/dist/cjs/commands/docs.js.map +0 -6
- package/dist/cjs/commands/env-setup.js +0 -78
- package/dist/cjs/commands/env-setup.js.map +0 -6
- package/dist/cjs/commands/onboard.js +0 -641
- package/dist/cjs/commands/onboard.js.map +0 -6
- package/dist/cjs/commands/run-all.js +0 -74
- package/dist/cjs/commands/run-all.js.map +0 -6
- package/dist/cjs/commands/run.js +0 -95
- package/dist/cjs/commands/run.js.map +0 -6
- package/dist/cjs/commands/script.js +0 -261
- package/dist/cjs/commands/script.js.map +0 -6
- package/dist/cjs/commands/skills.js +0 -168
- package/dist/cjs/commands/skills.js.map +0 -6
- package/dist/cjs/commands/sync.js +0 -187
- package/dist/cjs/commands/sync.js.map +0 -6
- package/dist/cjs/constants/ascii.js +0 -30
- package/dist/cjs/constants/ascii.js.map +0 -6
- package/dist/cjs/index.js +0 -21
- package/dist/cjs/index.js.map +0 -6
- package/dist/cjs/types.js +0 -14
- package/dist/cjs/types.js.map +0 -6
- package/dist/cjs/utils/env-categories.js +0 -296
- package/dist/cjs/utils/env-categories.js.map +0 -6
- package/dist/cjs/utils/env-setup.js +0 -190
- package/dist/cjs/utils/env-setup.js.map +0 -6
- package/dist/cjs/utils/env.js +0 -97
- package/dist/cjs/utils/env.js.map +0 -6
- package/dist/cjs/utils/files.js +0 -164
- package/dist/cjs/utils/files.js.map +0 -6
- package/dist/cjs/utils/parallel-runner.js +0 -113
- package/dist/cjs/utils/parallel-runner.js.map +0 -6
- package/dist/cjs/utils/ports.js +0 -81
- package/dist/cjs/utils/ports.js.map +0 -6
- package/dist/cjs/utils/prerequisites.js +0 -107
- package/dist/cjs/utils/prerequisites.js.map +0 -6
- package/dist/cjs/utils/prompts.js +0 -162
- package/dist/cjs/utils/prompts.js.map +0 -6
- package/dist/cjs/utils/script-listing.js +0 -97
- package/dist/cjs/utils/script-listing.js.map +0 -6
- package/dist/cjs/utils/script-utils.js +0 -82
- package/dist/cjs/utils/script-utils.js.map +0 -6
- package/dist/cjs/utils/sync.js +0 -70
- package/dist/cjs/utils/sync.js.map +0 -6
- package/dist/esm/cli.js +0 -106
- package/dist/esm/cli.js.map +0 -6
- package/dist/esm/commands/changed.js +0 -194
- package/dist/esm/commands/changed.js.map +0 -6
- package/dist/esm/commands/docs.js +0 -159
- package/dist/esm/commands/docs.js.map +0 -6
- package/dist/esm/commands/env-setup.js +0 -56
- package/dist/esm/commands/env-setup.js.map +0 -6
- package/dist/esm/commands/onboard.js +0 -655
- package/dist/esm/commands/onboard.js.map +0 -6
- package/dist/esm/commands/run-all.js +0 -53
- package/dist/esm/commands/run-all.js.map +0 -6
- package/dist/esm/commands/run.js +0 -74
- package/dist/esm/commands/run.js.map +0 -6
- package/dist/esm/commands/script.js +0 -255
- package/dist/esm/commands/script.js.map +0 -6
- package/dist/esm/commands/skills.js +0 -159
- package/dist/esm/commands/skills.js.map +0 -6
- package/dist/esm/commands/sync.js +0 -177
- package/dist/esm/commands/sync.js.map +0 -6
- package/dist/esm/constants/ascii.js +0 -14
- package/dist/esm/constants/ascii.js.map +0 -6
- package/dist/esm/types.js +0 -1
- package/dist/esm/types.js.map +0 -6
- package/dist/esm/utils/env-categories.js +0 -272
- package/dist/esm/utils/env-categories.js.map +0 -6
- package/dist/esm/utils/env-setup.js +0 -171
- package/dist/esm/utils/env-setup.js.map +0 -6
- package/dist/esm/utils/env.js +0 -83
- package/dist/esm/utils/env.js.map +0 -6
- package/dist/esm/utils/files.js +0 -150
- package/dist/esm/utils/files.js.map +0 -6
- package/dist/esm/utils/parallel-runner.js +0 -98
- package/dist/esm/utils/parallel-runner.js.map +0 -6
- package/dist/esm/utils/ports.js +0 -65
- package/dist/esm/utils/ports.js.map +0 -6
- package/dist/esm/utils/prerequisites.js +0 -91
- package/dist/esm/utils/prerequisites.js.map +0 -6
- package/dist/esm/utils/prompts.js +0 -139
- package/dist/esm/utils/prompts.js.map +0 -6
- package/dist/esm/utils/script-listing.js +0 -80
- package/dist/esm/utils/script-listing.js.map +0 -6
- package/dist/esm/utils/script-utils.js +0 -68
- package/dist/esm/utils/script-utils.js.map +0 -6
- package/dist/esm/utils/sync.js +0 -50
- package/dist/esm/utils/sync.js.map +0 -6
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import { execSync } from "node:child_process";
|
|
2
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
3
|
-
import { join } from "node:path";
|
|
4
|
-
import { defineCommand } from "citty";
|
|
5
|
-
import pc from "picocolors";
|
|
6
|
-
const UPSTREAM_REPO = "tamagui/takeout2", UPSTREAM_REMOTE = "takeout-upstream", TAKEOUT_FILE = ".takeout", COMMIT_TYPE_ORDER = [
|
|
7
|
-
"feat",
|
|
8
|
-
"fix",
|
|
9
|
-
"perf",
|
|
10
|
-
"refactor",
|
|
11
|
-
"docs",
|
|
12
|
-
"chore",
|
|
13
|
-
"test",
|
|
14
|
-
"ci"
|
|
15
|
-
];
|
|
16
|
-
function readTakeoutConfig() {
|
|
17
|
-
const configPath = join(process.cwd(), TAKEOUT_FILE);
|
|
18
|
-
if (!existsSync(configPath))
|
|
19
|
-
return null;
|
|
20
|
-
try {
|
|
21
|
-
const content = readFileSync(configPath, "utf-8"), config = {};
|
|
22
|
-
for (const line of content.split(`
|
|
23
|
-
`)) {
|
|
24
|
-
const trimmed = line.trim();
|
|
25
|
-
if (trimmed.startsWith("#") || !trimmed) continue;
|
|
26
|
-
const [key, ...valueParts] = trimmed.split("="), value = valueParts.join("=").trim();
|
|
27
|
-
key === "sha" && (config.sha = value), key === "date" && (config.date = value);
|
|
28
|
-
}
|
|
29
|
-
return config;
|
|
30
|
-
} catch {
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
function parseConventionalCommit(message) {
|
|
35
|
-
const match = message.match(/^(\w+)(?:\(([^)]+)\))?(!)?: (.+)$/);
|
|
36
|
-
if (!match) return null;
|
|
37
|
-
const [, type, scope, breaking, msg] = match;
|
|
38
|
-
return !type || ![
|
|
39
|
-
"feat",
|
|
40
|
-
"fix",
|
|
41
|
-
"perf",
|
|
42
|
-
"refactor",
|
|
43
|
-
"docs",
|
|
44
|
-
"chore",
|
|
45
|
-
"test",
|
|
46
|
-
"ci",
|
|
47
|
-
"build",
|
|
48
|
-
"style"
|
|
49
|
-
].includes(type) ? null : {
|
|
50
|
-
type,
|
|
51
|
-
scope,
|
|
52
|
-
message: msg || message,
|
|
53
|
-
breaking: !!breaking || message.toLowerCase().includes("breaking")
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
function ensureUpstreamRemote() {
|
|
57
|
-
try {
|
|
58
|
-
return execSync("git remote", { encoding: "utf-8" }).includes(UPSTREAM_REMOTE) || (console.info(pc.dim(` adding ${UPSTREAM_REMOTE} remote...`)), execSync(`git remote add ${UPSTREAM_REMOTE} git@github.com:${UPSTREAM_REPO}.git`, {
|
|
59
|
-
stdio: "pipe"
|
|
60
|
-
})), console.info(pc.dim(` fetching from ${UPSTREAM_REMOTE}...`)), execSync(`git fetch ${UPSTREAM_REMOTE} --quiet`, { stdio: "pipe" }), !0;
|
|
61
|
-
} catch (err) {
|
|
62
|
-
return console.error(pc.red(`failed to setup upstream remote: ${err}`)), !1;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
function getCommitsBetween(fromSha, toRef) {
|
|
66
|
-
const commits = [];
|
|
67
|
-
try {
|
|
68
|
-
const lines = execSync(
|
|
69
|
-
`git log ${fromSha}..${toRef} --pretty=format:"%H|%ad|%s" --date=short 2>/dev/null`,
|
|
70
|
-
{ encoding: "utf-8", maxBuffer: 10485760 }
|
|
71
|
-
).trim().split(`
|
|
72
|
-
`).filter(Boolean);
|
|
73
|
-
for (const line of lines) {
|
|
74
|
-
const [hash = "", date = "", ...messageParts] = line.split("|"), message = messageParts.join("|"), parsed = parseConventionalCommit(message);
|
|
75
|
-
commits.push({
|
|
76
|
-
hash: hash.slice(0, 7),
|
|
77
|
-
type: parsed?.type || "other",
|
|
78
|
-
scope: parsed?.scope,
|
|
79
|
-
message: parsed?.message || message,
|
|
80
|
-
breaking: parsed?.breaking || !1,
|
|
81
|
-
date
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
} catch {
|
|
85
|
-
}
|
|
86
|
-
return commits;
|
|
87
|
-
}
|
|
88
|
-
function formatChangelog(commits) {
|
|
89
|
-
if (commits.length === 0) {
|
|
90
|
-
console.info(pc.dim(" no changes found"));
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
const grouped = /* @__PURE__ */ new Map();
|
|
94
|
-
for (const commit of commits) {
|
|
95
|
-
const existing = grouped.get(commit.type) || [];
|
|
96
|
-
existing.push(commit), grouped.set(commit.type, existing);
|
|
97
|
-
}
|
|
98
|
-
const sortedTypes = Array.from(grouped.keys()).sort((a, b) => {
|
|
99
|
-
const aIdx = COMMIT_TYPE_ORDER.indexOf(a), bIdx = COMMIT_TYPE_ORDER.indexOf(b);
|
|
100
|
-
return (aIdx === -1 ? 999 : aIdx) - (bIdx === -1 ? 999 : bIdx);
|
|
101
|
-
}), breakingChanges = commits.filter((c) => c.breaking);
|
|
102
|
-
if (breakingChanges.length > 0) {
|
|
103
|
-
console.info(), console.info(pc.red(pc.bold(" BREAKING CHANGES")));
|
|
104
|
-
for (const commit of breakingChanges) {
|
|
105
|
-
const scope = commit.scope ? pc.cyan(`(${commit.scope})`) : "";
|
|
106
|
-
console.info(
|
|
107
|
-
` ${pc.red("!")} ${scope} ${commit.message} ${pc.dim(`(${commit.hash})`)}`
|
|
108
|
-
);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
const typeLabels = {
|
|
112
|
-
feat: "Features",
|
|
113
|
-
fix: "Bug Fixes",
|
|
114
|
-
perf: "Performance",
|
|
115
|
-
refactor: "Refactoring",
|
|
116
|
-
docs: "Documentation",
|
|
117
|
-
chore: "Maintenance",
|
|
118
|
-
test: "Tests",
|
|
119
|
-
ci: "CI",
|
|
120
|
-
build: "Build",
|
|
121
|
-
style: "Style",
|
|
122
|
-
other: "Other"
|
|
123
|
-
}, typeColors = {
|
|
124
|
-
feat: pc.green,
|
|
125
|
-
fix: pc.yellow,
|
|
126
|
-
perf: pc.magenta,
|
|
127
|
-
refactor: pc.blue,
|
|
128
|
-
docs: pc.dim,
|
|
129
|
-
chore: pc.dim,
|
|
130
|
-
test: pc.dim,
|
|
131
|
-
ci: pc.dim,
|
|
132
|
-
build: pc.dim,
|
|
133
|
-
style: pc.dim,
|
|
134
|
-
other: pc.white
|
|
135
|
-
};
|
|
136
|
-
for (const type of sortedTypes) {
|
|
137
|
-
const typeCommits = grouped.get(type).filter((c) => !c.breaking);
|
|
138
|
-
if (typeCommits.length === 0) continue;
|
|
139
|
-
const label = typeLabels[type] || type, color = typeColors[type] || pc.white;
|
|
140
|
-
console.info(), console.info(color(pc.bold(` ${label}`)));
|
|
141
|
-
for (const commit of typeCommits) {
|
|
142
|
-
const scope = commit.scope ? pc.cyan(`(${commit.scope}) `) : "";
|
|
143
|
-
console.info(
|
|
144
|
-
` ${pc.dim("-")} ${scope}${commit.message} ${pc.dim(`(${commit.hash})`)}`
|
|
145
|
-
);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
const changedCommand = defineCommand({
|
|
150
|
-
meta: {
|
|
151
|
-
name: "changed",
|
|
152
|
-
description: "Show changes in upstream Takeout since last sync"
|
|
153
|
-
},
|
|
154
|
-
args: {
|
|
155
|
-
from: {
|
|
156
|
-
type: "string",
|
|
157
|
-
description: "Starting commit SHA (defaults to .takeout file)"
|
|
158
|
-
},
|
|
159
|
-
to: {
|
|
160
|
-
type: "string",
|
|
161
|
-
description: "Ending commit ref (defaults to upstream main)"
|
|
162
|
-
}
|
|
163
|
-
},
|
|
164
|
-
async run({ args }) {
|
|
165
|
-
console.info(), console.info(pc.bold(pc.cyan("Takeout Changes"))), console.info();
|
|
166
|
-
let fromSha = args.from;
|
|
167
|
-
const config = readTakeoutConfig();
|
|
168
|
-
if (!fromSha) {
|
|
169
|
-
if (!config?.sha) {
|
|
170
|
-
console.info(pc.yellow("No .takeout file found with last sync SHA.")), console.info(), console.info(pc.dim("Either:")), console.info(pc.dim(" 1. Create a .takeout file with: sha=<commit-sha>")), console.info(pc.dim(" 2. Run with --from <sha> to specify starting point")), console.info(pc.dim(" 3. Run `tko sync` to sync and create the file")), console.info();
|
|
171
|
-
return;
|
|
172
|
-
}
|
|
173
|
-
fromSha = config.sha;
|
|
174
|
-
}
|
|
175
|
-
if (!ensureUpstreamRemote())
|
|
176
|
-
return;
|
|
177
|
-
const toRef = args.to || `${UPSTREAM_REMOTE}/main`;
|
|
178
|
-
console.info(pc.dim(` from: ${fromSha.slice(0, 7)}`)), console.info(pc.dim(` to: ${toRef}`)), config?.date && console.info(pc.dim(` last sync: ${config.date}`));
|
|
179
|
-
const commits = getCommitsBetween(fromSha, toRef);
|
|
180
|
-
if (commits.length === 0) {
|
|
181
|
-
console.info(), console.info(pc.green("\u2713 Already up to date with upstream!")), console.info();
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
console.info(), console.info(
|
|
185
|
-
pc.bold(
|
|
186
|
-
`${commits.length} commit${commits.length === 1 ? "" : "s"} since last sync:`
|
|
187
|
-
)
|
|
188
|
-
), formatChangelog(commits), console.info(), console.info(pc.dim("Run `tko sync` to sync these changes into your fork.")), console.info();
|
|
189
|
-
}
|
|
190
|
-
});
|
|
191
|
-
export {
|
|
192
|
-
changedCommand
|
|
193
|
-
};
|
|
194
|
-
//# sourceMappingURL=changed.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/commands/changed.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
-
import { createRequire } from "node:module";
|
|
3
|
-
import { dirname, join } from "node:path";
|
|
4
|
-
import { defineCommand } from "citty";
|
|
5
|
-
import pc from "picocolors";
|
|
6
|
-
import {
|
|
7
|
-
compareFiles,
|
|
8
|
-
getFileSize,
|
|
9
|
-
syncFileWithConfirmation
|
|
10
|
-
} from "../utils/sync";
|
|
11
|
-
const require2 = createRequire(import.meta.url), DOCS_DIR = dirname(require2.resolve("@take-out/docs/package.json")), listCommand = defineCommand({
|
|
12
|
-
meta: {
|
|
13
|
-
name: "list",
|
|
14
|
-
description: "List all available documentation files"
|
|
15
|
-
},
|
|
16
|
-
async run() {
|
|
17
|
-
existsSync(DOCS_DIR) || (console.error(pc.red("\u2717 Docs directory not found")), process.exit(1));
|
|
18
|
-
const files = readdirSync(DOCS_DIR).filter((f) => f.endsWith(".md")).sort();
|
|
19
|
-
console.info(), console.info(pc.bold(pc.cyan("\u{1F4DA} Available Documentation"))), console.info();
|
|
20
|
-
for (const file of files) {
|
|
21
|
-
const name = file.replace(/\.md$/, ""), path = join(DOCS_DIR, file);
|
|
22
|
-
let description = "";
|
|
23
|
-
try {
|
|
24
|
-
const match = readFileSync(path, "utf-8").match(/^#\s+(.+)$/m);
|
|
25
|
-
match?.[1] && (description = match[1]);
|
|
26
|
-
} catch {
|
|
27
|
-
}
|
|
28
|
-
description ? (console.info(` ${pc.green(name)}`), console.info(` ${pc.dim(description)}`)) : console.info(` ${pc.green(name)}`);
|
|
29
|
-
}
|
|
30
|
-
console.info(), console.info(pc.dim("Use 'takeout docs get <name>' to view a document")), console.info();
|
|
31
|
-
}
|
|
32
|
-
}), getCommand = defineCommand({
|
|
33
|
-
meta: {
|
|
34
|
-
name: "get",
|
|
35
|
-
description: "Get the content of one or more documentation files"
|
|
36
|
-
},
|
|
37
|
-
args: {
|
|
38
|
-
name: {
|
|
39
|
-
type: "positional",
|
|
40
|
-
description: "Name(s) of the doc files (without .md extension)",
|
|
41
|
-
required: !0,
|
|
42
|
-
valueHint: "name..."
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
async run({ args }) {
|
|
46
|
-
const names = args._.length > 0 ? args._ : [args.name], results = [], errors = [], cwd = process.cwd(), localDocsDir = join(cwd, "docs");
|
|
47
|
-
for (const name of names) {
|
|
48
|
-
const fileName = name.endsWith(".md") ? name : `${name}.md`, localFilePath = join(localDocsDir, fileName), packageFilePath = join(DOCS_DIR, fileName);
|
|
49
|
-
let filePath = null;
|
|
50
|
-
if (existsSync(localFilePath) ? filePath = localFilePath : existsSync(packageFilePath) && (filePath = packageFilePath), !filePath) {
|
|
51
|
-
errors.push({ name, error: "File not found" });
|
|
52
|
-
continue;
|
|
53
|
-
}
|
|
54
|
-
try {
|
|
55
|
-
const content = readFileSync(filePath, "utf-8");
|
|
56
|
-
results.push({ name, content });
|
|
57
|
-
} catch (err) {
|
|
58
|
-
errors.push({ name, error: String(err) });
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
if (errors.length > 0) {
|
|
62
|
-
for (const { name } of errors)
|
|
63
|
-
console.error(pc.red(`\u2717 Doc file not found: ${name}`));
|
|
64
|
-
console.info(), console.info(pc.dim("Use 'takeout docs list' to see available docs")), results.length === 0 && process.exit(1), console.info();
|
|
65
|
-
}
|
|
66
|
-
for (let i = 0; i < results.length; i++) {
|
|
67
|
-
const result = results[i];
|
|
68
|
-
result && (console.info(`# ${result.name}`), console.info(), console.info(result.content), i < results.length - 1 && (console.info(), console.info("---"), console.info()));
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}), pathCommand = defineCommand({
|
|
72
|
-
meta: {
|
|
73
|
-
name: "path",
|
|
74
|
-
description: "Get the absolute path to a documentation file"
|
|
75
|
-
},
|
|
76
|
-
args: {
|
|
77
|
-
name: {
|
|
78
|
-
type: "positional",
|
|
79
|
-
description: "Name of the doc file (without .md extension)",
|
|
80
|
-
required: !1
|
|
81
|
-
}
|
|
82
|
-
},
|
|
83
|
-
async run({ args }) {
|
|
84
|
-
if (!args.name) {
|
|
85
|
-
console.info(DOCS_DIR);
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
const fileName = args.name.endsWith(".md") ? args.name : `${args.name}.md`, filePath = join(DOCS_DIR, fileName);
|
|
89
|
-
existsSync(filePath) || (console.error(pc.red(`\u2717 Doc file not found: ${args.name}`)), process.exit(1)), console.info(filePath);
|
|
90
|
-
}
|
|
91
|
-
}), ejectCommand = defineCommand({
|
|
92
|
-
meta: {
|
|
93
|
-
name: "eject",
|
|
94
|
-
description: "Eject Takeout documentation files into your project"
|
|
95
|
-
},
|
|
96
|
-
args: {
|
|
97
|
-
yes: {
|
|
98
|
-
type: "boolean",
|
|
99
|
-
description: "Skip confirmations and eject all files",
|
|
100
|
-
default: !1
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
async run({ args }) {
|
|
104
|
-
const cwd = process.cwd(), targetDocsDir = join(cwd, "docs"), sourceDocsDir = DOCS_DIR;
|
|
105
|
-
console.info(), console.info(pc.bold(pc.cyan("\u{1F4DA} Eject Docs"))), console.info(), console.info(pc.dim(`Source: ${sourceDocsDir}`)), console.info(pc.dim(`Target: ${targetDocsDir}`)), console.info(), existsSync(sourceDocsDir) || (console.error(pc.red("\u2717 Source docs directory not found in Takeout package")), process.exit(1)), existsSync(targetDocsDir) || (console.info(pc.yellow("\u26A0 Target docs directory does not exist, will create it")), mkdirSync(targetDocsDir, { recursive: !0 }));
|
|
106
|
-
const sourceFiles = readdirSync(sourceDocsDir).filter((f) => f.endsWith(".md"));
|
|
107
|
-
if (sourceFiles.length === 0) {
|
|
108
|
-
console.info(pc.yellow("No markdown files found in Takeout docs"));
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
const filesToSync = [], stats = {
|
|
112
|
-
new: 0,
|
|
113
|
-
modified: 0,
|
|
114
|
-
identical: 0
|
|
115
|
-
};
|
|
116
|
-
for (const file of sourceFiles) {
|
|
117
|
-
const sourcePath = join(sourceDocsDir, file), targetPath = join(targetDocsDir, file), status = compareFiles(sourcePath, targetPath);
|
|
118
|
-
stats[status]++, filesToSync.push({
|
|
119
|
-
name: file,
|
|
120
|
-
sourcePath,
|
|
121
|
-
targetPath,
|
|
122
|
-
status,
|
|
123
|
-
sourceSize: getFileSize(sourcePath),
|
|
124
|
-
targetSize: getFileSize(targetPath)
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
if (console.info(pc.bold("Summary:")), console.info(` ${pc.green(`${stats.new} new`)}`), console.info(` ${pc.yellow(`${stats.modified} modified`)}`), console.info(` ${pc.dim(`${stats.identical} identical`)}`), console.info(), stats.new === 0 && stats.modified === 0) {
|
|
128
|
-
console.info(pc.green("\u2713 All docs are already up to date!"));
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
const sortOrder = { new: 0, modified: 1, identical: 2 };
|
|
132
|
-
filesToSync.sort((a, b) => sortOrder[a.status] - sortOrder[b.status]);
|
|
133
|
-
let syncedCount = 0;
|
|
134
|
-
for (const file of filesToSync)
|
|
135
|
-
if (args.yes && file.status !== "identical") {
|
|
136
|
-
const targetDir = join(targetDocsDir);
|
|
137
|
-
existsSync(targetDir) || mkdirSync(targetDir, { recursive: !0 });
|
|
138
|
-
const content = readFileSync(file.sourcePath);
|
|
139
|
-
writeFileSync(file.targetPath, content), console.info(pc.green(` \u2713 ${file.name}`)), syncedCount++;
|
|
140
|
-
} else
|
|
141
|
-
await syncFileWithConfirmation(file) && syncedCount++;
|
|
142
|
-
console.info(), console.info(pc.bold(pc.green(`\u2713 Complete: ${syncedCount} file(s) ejected`))), console.info();
|
|
143
|
-
}
|
|
144
|
-
}), docsCommand = defineCommand({
|
|
145
|
-
meta: {
|
|
146
|
-
name: "docs",
|
|
147
|
-
description: "List and retrieve Takeout documentation"
|
|
148
|
-
},
|
|
149
|
-
subCommands: {
|
|
150
|
-
list: listCommand,
|
|
151
|
-
get: getCommand,
|
|
152
|
-
path: pathCommand,
|
|
153
|
-
eject: ejectCommand
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
export {
|
|
157
|
-
docsCommand
|
|
158
|
-
};
|
|
159
|
-
//# sourceMappingURL=docs.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/commands/docs.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["require"]
|
|
6
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { defineCommand } from "citty";
|
|
2
|
-
import pc from "picocolors";
|
|
3
|
-
import { setupProductionEnv, listCategories } from "../utils/env-setup";
|
|
4
|
-
const envSetupCommand = defineCommand({
|
|
5
|
-
meta: {
|
|
6
|
-
name: "env:setup",
|
|
7
|
-
description: "Configure production environment variables"
|
|
8
|
-
},
|
|
9
|
-
args: {
|
|
10
|
-
category: {
|
|
11
|
-
type: "string",
|
|
12
|
-
description: "Setup only a specific category (e.g., aws, apple, storage)",
|
|
13
|
-
alias: "c"
|
|
14
|
-
},
|
|
15
|
-
file: {
|
|
16
|
-
type: "string",
|
|
17
|
-
description: "Environment file to update",
|
|
18
|
-
default: ".env.production",
|
|
19
|
-
alias: "f"
|
|
20
|
-
},
|
|
21
|
-
list: {
|
|
22
|
-
type: "boolean",
|
|
23
|
-
description: "List all available categories",
|
|
24
|
-
alias: "l",
|
|
25
|
-
default: !1
|
|
26
|
-
},
|
|
27
|
-
"skip-optional": {
|
|
28
|
-
type: "boolean",
|
|
29
|
-
description: "Skip optional categories",
|
|
30
|
-
default: !1
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
async run({ args }) {
|
|
34
|
-
try {
|
|
35
|
-
const cwd = process.cwd();
|
|
36
|
-
if (args.list) {
|
|
37
|
-
listCategories();
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
console.info(""), console.info(pc.bold("\u{1F680} Takeout Production Environment Setup")), console.info(pc.gray("Configure your production deployment settings")), console.info(""), await setupProductionEnv(cwd, {
|
|
41
|
-
skipOptional: args["skip-optional"],
|
|
42
|
-
envFile: args.file,
|
|
43
|
-
onlyCategory: args.category,
|
|
44
|
-
interactive: !0
|
|
45
|
-
}) || (console.info(pc.yellow(`
|
|
46
|
-
\u26A0 Environment setup was cancelled`)), console.info(pc.gray("You can resume anytime with:")), console.info(pc.cyan(" bun takeout env:setup")), process.exit(1));
|
|
47
|
-
} catch (error) {
|
|
48
|
-
console.error(pc.red(`
|
|
49
|
-
\u2716 Environment setup failed:`)), console.error(error), process.exit(1);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
export {
|
|
54
|
-
envSetupCommand
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=env-setup.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/commands/env-setup.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,qBAAqB;AAC9B,OAAO,QAAQ;AAEf,SAAS,oBAAoB,sBAAsB;AAE5C,MAAM,kBAAkB,cAAc;AAAA,EAC3C,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,aAAa;AAAA,EACf;AAAA,EACA,MAAM;AAAA,IACJ,UAAU;AAAA,MACR,MAAM;AAAA,MACN,aAAa;AAAA,MACb,OAAO;AAAA,IACT;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,aAAa;AAAA,MACb,OAAO;AAAA,MACP,SAAS;AAAA,IACX;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,MAAM,IAAI,EAAE,KAAK,GAAG;AAClB,QAAI;AACF,YAAM,MAAM,QAAQ,IAAI;AAGxB,UAAI,KAAK,MAAM;AACb,uBAAe;AACf;AAAA,MACF;AAEA,cAAQ,KAAK,EAAE,GACf,QAAQ,KAAK,GAAG,KAAK,gDAAyC,CAAC,GAC/D,QAAQ,KAAK,GAAG,KAAK,+CAA+C,CAAC,GACrE,QAAQ,KAAK,EAAE,GAEC,MAAM,mBAAmB,KAAK;AAAA,QAC5C,cAAc,KAAK,eAAe;AAAA,QAClC,SAAS,KAAK;AAAA,QACd,cAAc,KAAK;AAAA,QACnB,aAAa;AAAA,MACf,CAAC,MAGC,QAAQ,KAAK,GAAG,OAAO;AAAA,uCAAqC,CAAC,GAC7D,QAAQ,KAAK,GAAG,KAAK,8BAA8B,CAAC,GACpD,QAAQ,KAAK,GAAG,KAAK,yBAAyB,CAAC,GAC/C,QAAQ,KAAK,CAAC;AAAA,IAElB,SAAS,OAAO;AACd,cAAQ,MAAM,GAAG,IAAI;AAAA,iCAA+B,CAAC,GACrD,QAAQ,MAAM,KAAK,GACnB,QAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,EACF;AACF,CAAC;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|