@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.
Files changed (114) hide show
  1. package/dist/cjs/cli.cjs +0 -0
  2. package/dist/esm/cli.mjs +0 -0
  3. package/dist/esm/index.js +1 -3
  4. package/dist/esm/index.js.map +1 -6
  5. package/package.json +7 -6
  6. package/src/commands/changed.ts +6 -6
  7. package/src/commands/onboard.ts +63 -63
  8. package/src/commands/run.ts +1 -1
  9. package/src/commands/script.ts +3 -3
  10. package/src/commands/skills.ts +6 -6
  11. package/src/commands/sync.ts +3 -3
  12. package/src/utils/env-setup.ts +8 -8
  13. package/src/utils/env.ts +3 -3
  14. package/src/utils/files.ts +6 -6
  15. package/src/utils/parallel-runner.ts +1 -1
  16. package/src/utils/prompts.ts +6 -6
  17. package/src/utils/script-listing.ts +5 -5
  18. package/src/utils/script-utils.ts +1 -1
  19. package/src/utils/sync.ts +1 -1
  20. package/src/withExpoModulesCoreSwift6Fix.cjs +58 -0
  21. package/dist/cjs/cli.js +0 -123
  22. package/dist/cjs/cli.js.map +0 -6
  23. package/dist/cjs/commands/changed.js +0 -214
  24. package/dist/cjs/commands/changed.js.map +0 -6
  25. package/dist/cjs/commands/docs.js +0 -174
  26. package/dist/cjs/commands/docs.js.map +0 -6
  27. package/dist/cjs/commands/env-setup.js +0 -78
  28. package/dist/cjs/commands/env-setup.js.map +0 -6
  29. package/dist/cjs/commands/onboard.js +0 -641
  30. package/dist/cjs/commands/onboard.js.map +0 -6
  31. package/dist/cjs/commands/run-all.js +0 -74
  32. package/dist/cjs/commands/run-all.js.map +0 -6
  33. package/dist/cjs/commands/run.js +0 -95
  34. package/dist/cjs/commands/run.js.map +0 -6
  35. package/dist/cjs/commands/script.js +0 -261
  36. package/dist/cjs/commands/script.js.map +0 -6
  37. package/dist/cjs/commands/skills.js +0 -168
  38. package/dist/cjs/commands/skills.js.map +0 -6
  39. package/dist/cjs/commands/sync.js +0 -187
  40. package/dist/cjs/commands/sync.js.map +0 -6
  41. package/dist/cjs/constants/ascii.js +0 -30
  42. package/dist/cjs/constants/ascii.js.map +0 -6
  43. package/dist/cjs/index.js +0 -21
  44. package/dist/cjs/index.js.map +0 -6
  45. package/dist/cjs/types.js +0 -14
  46. package/dist/cjs/types.js.map +0 -6
  47. package/dist/cjs/utils/env-categories.js +0 -296
  48. package/dist/cjs/utils/env-categories.js.map +0 -6
  49. package/dist/cjs/utils/env-setup.js +0 -190
  50. package/dist/cjs/utils/env-setup.js.map +0 -6
  51. package/dist/cjs/utils/env.js +0 -97
  52. package/dist/cjs/utils/env.js.map +0 -6
  53. package/dist/cjs/utils/files.js +0 -164
  54. package/dist/cjs/utils/files.js.map +0 -6
  55. package/dist/cjs/utils/parallel-runner.js +0 -113
  56. package/dist/cjs/utils/parallel-runner.js.map +0 -6
  57. package/dist/cjs/utils/ports.js +0 -81
  58. package/dist/cjs/utils/ports.js.map +0 -6
  59. package/dist/cjs/utils/prerequisites.js +0 -107
  60. package/dist/cjs/utils/prerequisites.js.map +0 -6
  61. package/dist/cjs/utils/prompts.js +0 -162
  62. package/dist/cjs/utils/prompts.js.map +0 -6
  63. package/dist/cjs/utils/script-listing.js +0 -97
  64. package/dist/cjs/utils/script-listing.js.map +0 -6
  65. package/dist/cjs/utils/script-utils.js +0 -82
  66. package/dist/cjs/utils/script-utils.js.map +0 -6
  67. package/dist/cjs/utils/sync.js +0 -70
  68. package/dist/cjs/utils/sync.js.map +0 -6
  69. package/dist/esm/cli.js +0 -106
  70. package/dist/esm/cli.js.map +0 -6
  71. package/dist/esm/commands/changed.js +0 -194
  72. package/dist/esm/commands/changed.js.map +0 -6
  73. package/dist/esm/commands/docs.js +0 -159
  74. package/dist/esm/commands/docs.js.map +0 -6
  75. package/dist/esm/commands/env-setup.js +0 -56
  76. package/dist/esm/commands/env-setup.js.map +0 -6
  77. package/dist/esm/commands/onboard.js +0 -655
  78. package/dist/esm/commands/onboard.js.map +0 -6
  79. package/dist/esm/commands/run-all.js +0 -53
  80. package/dist/esm/commands/run-all.js.map +0 -6
  81. package/dist/esm/commands/run.js +0 -74
  82. package/dist/esm/commands/run.js.map +0 -6
  83. package/dist/esm/commands/script.js +0 -255
  84. package/dist/esm/commands/script.js.map +0 -6
  85. package/dist/esm/commands/skills.js +0 -159
  86. package/dist/esm/commands/skills.js.map +0 -6
  87. package/dist/esm/commands/sync.js +0 -177
  88. package/dist/esm/commands/sync.js.map +0 -6
  89. package/dist/esm/constants/ascii.js +0 -14
  90. package/dist/esm/constants/ascii.js.map +0 -6
  91. package/dist/esm/types.js +0 -1
  92. package/dist/esm/types.js.map +0 -6
  93. package/dist/esm/utils/env-categories.js +0 -272
  94. package/dist/esm/utils/env-categories.js.map +0 -6
  95. package/dist/esm/utils/env-setup.js +0 -171
  96. package/dist/esm/utils/env-setup.js.map +0 -6
  97. package/dist/esm/utils/env.js +0 -83
  98. package/dist/esm/utils/env.js.map +0 -6
  99. package/dist/esm/utils/files.js +0 -150
  100. package/dist/esm/utils/files.js.map +0 -6
  101. package/dist/esm/utils/parallel-runner.js +0 -98
  102. package/dist/esm/utils/parallel-runner.js.map +0 -6
  103. package/dist/esm/utils/ports.js +0 -65
  104. package/dist/esm/utils/ports.js.map +0 -6
  105. package/dist/esm/utils/prerequisites.js +0 -91
  106. package/dist/esm/utils/prerequisites.js.map +0 -6
  107. package/dist/esm/utils/prompts.js +0 -139
  108. package/dist/esm/utils/prompts.js.map +0 -6
  109. package/dist/esm/utils/script-listing.js +0 -80
  110. package/dist/esm/utils/script-listing.js.map +0 -6
  111. package/dist/esm/utils/script-utils.js +0 -68
  112. package/dist/esm/utils/script-utils.js.map +0 -6
  113. package/dist/esm/utils/sync.js +0 -50
  114. 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
- }