@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,296 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
+
return to;
|
|
14
|
+
};
|
|
15
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
16
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
18
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
21
|
+
mod
|
|
22
|
+
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
23
|
+
var env_categories_exports = {};
|
|
24
|
+
__export(env_categories_exports, {
|
|
25
|
+
envCategories: () => envCategories,
|
|
26
|
+
getAllVariables: () => getAllVariables,
|
|
27
|
+
getCategoryById: () => getCategoryById,
|
|
28
|
+
getOptionalCategories: () => getOptionalCategories,
|
|
29
|
+
getRequiredCategories: () => getRequiredCategories,
|
|
30
|
+
getVariableByKey: () => getVariableByKey
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(env_categories_exports);
|
|
33
|
+
var import_picocolors = __toESM(require("picocolors"), 1);
|
|
34
|
+
const envCategories = [
|
|
35
|
+
{
|
|
36
|
+
id: "core",
|
|
37
|
+
name: "Core Configuration",
|
|
38
|
+
description: "Essential configuration for your production deployment",
|
|
39
|
+
required: !0,
|
|
40
|
+
variables: [
|
|
41
|
+
{
|
|
42
|
+
key: "BETTER_AUTH_SECRET",
|
|
43
|
+
label: "Authentication Secret",
|
|
44
|
+
description: "Secret key for session encryption and JWT signing",
|
|
45
|
+
instructions: `Generate a secure random key:
|
|
46
|
+
${import_picocolors.default.cyan("openssl rand -hex 32")}`,
|
|
47
|
+
required: !0,
|
|
48
|
+
type: "secret",
|
|
49
|
+
generator: () => require("node:crypto").randomBytes(32).toString("hex")
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
key: "BETTER_AUTH_URL",
|
|
53
|
+
label: "Authentication URL",
|
|
54
|
+
description: "The public URL where your app will be hosted",
|
|
55
|
+
instructions: "Enter your production domain (e.g., https://your-app.com)",
|
|
56
|
+
required: !0,
|
|
57
|
+
type: "text",
|
|
58
|
+
placeholder: "https://your-app.com"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
key: "ONE_SERVER_URL",
|
|
62
|
+
label: "Server URL",
|
|
63
|
+
description: "The URL for your main server",
|
|
64
|
+
instructions: "Usually the same as your authentication URL",
|
|
65
|
+
required: !0,
|
|
66
|
+
type: "text",
|
|
67
|
+
placeholder: "https://your-app.com"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
key: "VITE_PUBLIC_ZERO_SERVER",
|
|
71
|
+
label: "Zero Sync Server URL",
|
|
72
|
+
description: "WebSocket server for real-time sync",
|
|
73
|
+
instructions: "Typically a subdomain like https://zero.your-app.com",
|
|
74
|
+
required: !0,
|
|
75
|
+
type: "text",
|
|
76
|
+
placeholder: "https://zero.your-app.com"
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
id: "database",
|
|
82
|
+
name: "Database (PostgreSQL)",
|
|
83
|
+
description: "Production database configuration - set by deployment platform (SST/uncloud)",
|
|
84
|
+
required: !1,
|
|
85
|
+
variables: [
|
|
86
|
+
// Note: ZERO_UPSTREAM_DB, ZERO_CVR_DB, and ZERO_CHANGE_DB are set dynamically
|
|
87
|
+
// by the deployment platform (SST or uncloud) and should NOT be configured here
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
id: "storage",
|
|
92
|
+
name: "File Storage (S3/R2)",
|
|
93
|
+
description: "Object storage for user uploads and media files",
|
|
94
|
+
required: !1,
|
|
95
|
+
variables: [
|
|
96
|
+
{
|
|
97
|
+
key: "CLOUDFLARE_R2_ENDPOINT",
|
|
98
|
+
label: "Storage Endpoint",
|
|
99
|
+
description: "S3-compatible storage endpoint",
|
|
100
|
+
instructions: `Options:
|
|
101
|
+
${import_picocolors.default.cyan("Cloudflare R2")}: https://[account-id].r2.cloudflarestorage.com
|
|
102
|
+
${import_picocolors.default.cyan("AWS S3")}: https://s3.[region].amazonaws.com
|
|
103
|
+
${import_picocolors.default.cyan("DigitalOcean Spaces")}: https://[region].digitaloceanspaces.com`,
|
|
104
|
+
required: !1,
|
|
105
|
+
type: "text",
|
|
106
|
+
placeholder: "https://account-id.r2.cloudflarestorage.com"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
key: "CLOUDFLARE_R2_ACCESS_KEY",
|
|
110
|
+
label: "Storage Access Key",
|
|
111
|
+
description: "Access key ID for your storage service",
|
|
112
|
+
instructions: "Get this from your storage provider dashboard",
|
|
113
|
+
required: !1,
|
|
114
|
+
type: "text"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
key: "CLOUDFLARE_R2_SECRET_KEY",
|
|
118
|
+
label: "Storage Secret Key",
|
|
119
|
+
description: "Secret access key for your storage service",
|
|
120
|
+
instructions: "Keep this secure - it provides full access to your storage",
|
|
121
|
+
required: !1,
|
|
122
|
+
type: "secret"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
key: "CLOUDFLARE_R2_PUBLIC_URL",
|
|
126
|
+
label: "Public Storage URL",
|
|
127
|
+
description: "Public URL for serving stored files",
|
|
128
|
+
instructions: "Usually a CDN URL or custom domain pointing to your bucket",
|
|
129
|
+
required: !1,
|
|
130
|
+
type: "text",
|
|
131
|
+
placeholder: "https://cdn.your-app.com"
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
id: "apple",
|
|
137
|
+
name: "Apple App Store",
|
|
138
|
+
description: "Configuration for iOS app and push notifications",
|
|
139
|
+
required: !1,
|
|
140
|
+
variables: [
|
|
141
|
+
{
|
|
142
|
+
key: "APNS_TEAM_ID",
|
|
143
|
+
label: "Apple Team ID",
|
|
144
|
+
description: "Your Apple Developer Team ID",
|
|
145
|
+
instructions: `Find in Apple Developer Portal:
|
|
146
|
+
1. Go to ${import_picocolors.default.cyan("https://developer.apple.com/account")}
|
|
147
|
+
2. Look for "Team ID" in Membership Details`,
|
|
148
|
+
required: !1,
|
|
149
|
+
type: "text",
|
|
150
|
+
placeholder: "XXXXXXXXXX"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
key: "APNS_KEY_ID",
|
|
154
|
+
label: "APNs Key ID",
|
|
155
|
+
description: "Push notification authentication key ID",
|
|
156
|
+
instructions: `Create in Apple Developer Portal:
|
|
157
|
+
1. Go to Certificates, Identifiers & Profiles
|
|
158
|
+
2. Keys \u2192 Create a Key
|
|
159
|
+
3. Check "Apple Push Notifications service (APNs)"
|
|
160
|
+
4. Download the .p8 file and note the Key ID`,
|
|
161
|
+
required: !1,
|
|
162
|
+
type: "text",
|
|
163
|
+
placeholder: "XXXXXXXXXX"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
key: "APNS_KEY",
|
|
167
|
+
label: "APNs Key Content",
|
|
168
|
+
description: "Contents of your APNs .p8 key file",
|
|
169
|
+
instructions: "Paste the entire contents of the .p8 file you downloaded",
|
|
170
|
+
required: !1,
|
|
171
|
+
type: "multiline"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
key: "APNS_ENDPOINT",
|
|
175
|
+
label: "APNs Endpoint",
|
|
176
|
+
description: "Apple Push Notification service endpoint",
|
|
177
|
+
instructions: `Production: ${import_picocolors.default.green("https://api.push.apple.com")}
|
|
178
|
+
Sandbox: ${import_picocolors.default.yellow("https://api.sandbox.push.apple.com")}`,
|
|
179
|
+
required: !1,
|
|
180
|
+
type: "text",
|
|
181
|
+
default: "https://api.push.apple.com"
|
|
182
|
+
}
|
|
183
|
+
]
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
id: "email",
|
|
187
|
+
name: "Email Service",
|
|
188
|
+
description: "Transactional email configuration",
|
|
189
|
+
required: !1,
|
|
190
|
+
variables: [
|
|
191
|
+
{
|
|
192
|
+
key: "POSTMARK_SERVER_TOKEN",
|
|
193
|
+
label: "Postmark Server Token",
|
|
194
|
+
description: "API token for sending emails via Postmark",
|
|
195
|
+
instructions: `Get your token:
|
|
196
|
+
1. Sign up at ${import_picocolors.default.cyan("https://postmarkapp.com")}
|
|
197
|
+
2. Create a Server
|
|
198
|
+
3. Go to Servers \u2192 API Tokens
|
|
199
|
+
4. Copy your Server API Token
|
|
200
|
+
|
|
201
|
+
${import_picocolors.default.yellow("Note: Free tier includes 100 emails/month")}`,
|
|
202
|
+
required: !1,
|
|
203
|
+
type: "text"
|
|
204
|
+
}
|
|
205
|
+
]
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
id: "github",
|
|
209
|
+
name: "GitHub OAuth",
|
|
210
|
+
description: "Enable GitHub sign-in for your app",
|
|
211
|
+
required: !1,
|
|
212
|
+
variables: [
|
|
213
|
+
{
|
|
214
|
+
key: "ONECHAT_GITHUB_CLIENT_ID",
|
|
215
|
+
label: "GitHub OAuth Client ID",
|
|
216
|
+
description: "Client ID for GitHub OAuth application",
|
|
217
|
+
instructions: `Create GitHub OAuth App:
|
|
218
|
+
1. Go to ${import_picocolors.default.cyan("https://github.com/settings/developers")}
|
|
219
|
+
2. New OAuth App
|
|
220
|
+
3. Set Authorization callback URL:
|
|
221
|
+
${import_picocolors.default.green("https://your-app.com/api/auth/callback/github")}
|
|
222
|
+
4. Copy the Client ID`,
|
|
223
|
+
required: !1,
|
|
224
|
+
type: "text"
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
key: "ONECHAT_GITHUB_CLIENT_SECRET",
|
|
228
|
+
label: "GitHub OAuth Client Secret",
|
|
229
|
+
description: "Client secret for GitHub OAuth application",
|
|
230
|
+
instructions: "Copy the Client Secret from your GitHub OAuth App settings",
|
|
231
|
+
required: !1,
|
|
232
|
+
type: "secret"
|
|
233
|
+
}
|
|
234
|
+
]
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
id: "aws",
|
|
238
|
+
name: "AWS Deployment",
|
|
239
|
+
description: "AWS credentials for SST deployment",
|
|
240
|
+
required: !1,
|
|
241
|
+
setupTime: "~30 minutes",
|
|
242
|
+
variables: [
|
|
243
|
+
{
|
|
244
|
+
key: "AWS_ACCESS_KEY_ID",
|
|
245
|
+
label: "AWS Access Key ID",
|
|
246
|
+
description: "Access key for AWS deployment",
|
|
247
|
+
instructions: `${import_picocolors.default.yellow("\u26A0\uFE0F Setting up AWS takes about 30 minutes")}
|
|
248
|
+
|
|
249
|
+
Follow the SST guide for AWS setup:
|
|
250
|
+
${import_picocolors.default.cyan("https://sst.dev/docs/aws-accounts/")}
|
|
251
|
+
|
|
252
|
+
Quick steps:
|
|
253
|
+
1. Create AWS account or use existing
|
|
254
|
+
2. Create IAM user with AdministratorAccess
|
|
255
|
+
3. Generate access keys
|
|
256
|
+
4. Copy Access Key ID`,
|
|
257
|
+
required: !1,
|
|
258
|
+
type: "text"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
key: "AWS_SECRET_ACCESS_KEY",
|
|
262
|
+
label: "AWS Secret Access Key",
|
|
263
|
+
description: "Secret key for AWS deployment",
|
|
264
|
+
instructions: "Copy the Secret Access Key from IAM user creation",
|
|
265
|
+
required: !1,
|
|
266
|
+
type: "secret"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
key: "AWS_REGION",
|
|
270
|
+
label: "AWS Region",
|
|
271
|
+
description: "AWS region for deployment",
|
|
272
|
+
instructions: "Choose a region close to your users (e.g., us-west-1, us-east-1, eu-west-1)",
|
|
273
|
+
required: !1,
|
|
274
|
+
type: "text",
|
|
275
|
+
default: "us-west-1",
|
|
276
|
+
placeholder: "us-west-1"
|
|
277
|
+
}
|
|
278
|
+
]
|
|
279
|
+
}
|
|
280
|
+
];
|
|
281
|
+
function getCategoryById(id) {
|
|
282
|
+
return envCategories.find((cat) => cat.id === id);
|
|
283
|
+
}
|
|
284
|
+
function getRequiredCategories() {
|
|
285
|
+
return envCategories.filter((cat) => cat.required);
|
|
286
|
+
}
|
|
287
|
+
function getOptionalCategories() {
|
|
288
|
+
return envCategories.filter((cat) => !cat.required);
|
|
289
|
+
}
|
|
290
|
+
function getAllVariables() {
|
|
291
|
+
return envCategories.flatMap((cat) => cat.variables);
|
|
292
|
+
}
|
|
293
|
+
function getVariableByKey(key) {
|
|
294
|
+
return getAllVariables().find((v) => v.key === key);
|
|
295
|
+
}
|
|
296
|
+
//# sourceMappingURL=env-categories.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/env-categories.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["pc"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
10
|
+
}, __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from == "object" || typeof from == "function")
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
return to;
|
|
15
|
+
};
|
|
16
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
17
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
18
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
19
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
20
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
22
|
+
mod
|
|
23
|
+
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
24
|
+
var env_categories_exports = {};
|
|
25
|
+
__export(env_categories_exports, {
|
|
26
|
+
envCategories: () => envCategories,
|
|
27
|
+
getAllVariables: () => getAllVariables,
|
|
28
|
+
getCategoryById: () => getCategoryById,
|
|
29
|
+
getOptionalCategories: () => getOptionalCategories,
|
|
30
|
+
getRequiredCategories: () => getRequiredCategories,
|
|
31
|
+
getVariableByKey: () => getVariableByKey
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(env_categories_exports);
|
|
34
|
+
var import_picocolors = __toESM(require("picocolors"), 1), envCategories = [
|
|
35
|
+
{
|
|
36
|
+
id: "core",
|
|
37
|
+
name: "Core Configuration",
|
|
38
|
+
description: "Essential configuration for your production deployment",
|
|
39
|
+
required: !0,
|
|
40
|
+
variables: [
|
|
41
|
+
{
|
|
42
|
+
key: "BETTER_AUTH_SECRET",
|
|
43
|
+
label: "Authentication Secret",
|
|
44
|
+
description: "Secret key for session encryption and JWT signing",
|
|
45
|
+
instructions: `Generate a secure random key:
|
|
46
|
+
${import_picocolors.default.cyan("openssl rand -hex 32")}`,
|
|
47
|
+
required: !0,
|
|
48
|
+
type: "secret",
|
|
49
|
+
generator: function() {
|
|
50
|
+
var crypto = require("crypto");
|
|
51
|
+
return crypto.randomBytes(32).toString("hex");
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
key: "BETTER_AUTH_URL",
|
|
56
|
+
label: "Authentication URL",
|
|
57
|
+
description: "The public URL where your app will be hosted",
|
|
58
|
+
instructions: "Enter your production domain (e.g., https://your-app.com)",
|
|
59
|
+
required: !0,
|
|
60
|
+
type: "text",
|
|
61
|
+
placeholder: "https://your-app.com"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
key: "ONE_SERVER_URL",
|
|
65
|
+
label: "Server URL",
|
|
66
|
+
description: "The URL for your main server",
|
|
67
|
+
instructions: "Usually the same as your authentication URL",
|
|
68
|
+
required: !0,
|
|
69
|
+
type: "text",
|
|
70
|
+
placeholder: "https://your-app.com"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
key: "VITE_PUBLIC_ZERO_SERVER",
|
|
74
|
+
label: "Zero Sync Server URL",
|
|
75
|
+
description: "WebSocket server for real-time sync",
|
|
76
|
+
instructions: "Typically a subdomain like https://zero.your-app.com",
|
|
77
|
+
required: !0,
|
|
78
|
+
type: "text",
|
|
79
|
+
placeholder: "https://zero.your-app.com"
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
id: "database",
|
|
85
|
+
name: "Database (PostgreSQL)",
|
|
86
|
+
description: "Production database configuration - set by deployment platform (SST/uncloud)",
|
|
87
|
+
required: !1,
|
|
88
|
+
variables: []
|
|
89
|
+
},
|
|
90
|
+
// Note: ZERO_UPSTREAM_DB, ZERO_CVR_DB, and ZERO_CHANGE_DB are set dynamically
|
|
91
|
+
// by the deployment platform (SST or uncloud) and should NOT be configured here
|
|
92
|
+
{
|
|
93
|
+
id: "storage",
|
|
94
|
+
name: "File Storage (S3/R2)",
|
|
95
|
+
description: "Object storage for user uploads and media files",
|
|
96
|
+
required: !1,
|
|
97
|
+
variables: [
|
|
98
|
+
{
|
|
99
|
+
key: "CLOUDFLARE_R2_ENDPOINT",
|
|
100
|
+
label: "Storage Endpoint",
|
|
101
|
+
description: "S3-compatible storage endpoint",
|
|
102
|
+
instructions: `Options:
|
|
103
|
+
${import_picocolors.default.cyan("Cloudflare R2")}: https://[account-id].r2.cloudflarestorage.com
|
|
104
|
+
${import_picocolors.default.cyan("AWS S3")}: https://s3.[region].amazonaws.com
|
|
105
|
+
${import_picocolors.default.cyan("DigitalOcean Spaces")}: https://[region].digitaloceanspaces.com`,
|
|
106
|
+
required: !1,
|
|
107
|
+
type: "text",
|
|
108
|
+
placeholder: "https://account-id.r2.cloudflarestorage.com"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
key: "CLOUDFLARE_R2_ACCESS_KEY",
|
|
112
|
+
label: "Storage Access Key",
|
|
113
|
+
description: "Access key ID for your storage service",
|
|
114
|
+
instructions: "Get this from your storage provider dashboard",
|
|
115
|
+
required: !1,
|
|
116
|
+
type: "text"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
key: "CLOUDFLARE_R2_SECRET_KEY",
|
|
120
|
+
label: "Storage Secret Key",
|
|
121
|
+
description: "Secret access key for your storage service",
|
|
122
|
+
instructions: "Keep this secure - it provides full access to your storage",
|
|
123
|
+
required: !1,
|
|
124
|
+
type: "secret"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
key: "CLOUDFLARE_R2_PUBLIC_URL",
|
|
128
|
+
label: "Public Storage URL",
|
|
129
|
+
description: "Public URL for serving stored files",
|
|
130
|
+
instructions: "Usually a CDN URL or custom domain pointing to your bucket",
|
|
131
|
+
required: !1,
|
|
132
|
+
type: "text",
|
|
133
|
+
placeholder: "https://cdn.your-app.com"
|
|
134
|
+
}
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
id: "apple",
|
|
139
|
+
name: "Apple App Store",
|
|
140
|
+
description: "Configuration for iOS app and push notifications",
|
|
141
|
+
required: !1,
|
|
142
|
+
variables: [
|
|
143
|
+
{
|
|
144
|
+
key: "APNS_TEAM_ID",
|
|
145
|
+
label: "Apple Team ID",
|
|
146
|
+
description: "Your Apple Developer Team ID",
|
|
147
|
+
instructions: `Find in Apple Developer Portal:
|
|
148
|
+
1. Go to ${import_picocolors.default.cyan("https://developer.apple.com/account")}
|
|
149
|
+
2. Look for "Team ID" in Membership Details`,
|
|
150
|
+
required: !1,
|
|
151
|
+
type: "text",
|
|
152
|
+
placeholder: "XXXXXXXXXX"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
key: "APNS_KEY_ID",
|
|
156
|
+
label: "APNs Key ID",
|
|
157
|
+
description: "Push notification authentication key ID",
|
|
158
|
+
instructions: `Create in Apple Developer Portal:
|
|
159
|
+
1. Go to Certificates, Identifiers & Profiles
|
|
160
|
+
2. Keys \u2192 Create a Key
|
|
161
|
+
3. Check "Apple Push Notifications service (APNs)"
|
|
162
|
+
4. Download the .p8 file and note the Key ID`,
|
|
163
|
+
required: !1,
|
|
164
|
+
type: "text",
|
|
165
|
+
placeholder: "XXXXXXXXXX"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
key: "APNS_KEY",
|
|
169
|
+
label: "APNs Key Content",
|
|
170
|
+
description: "Contents of your APNs .p8 key file",
|
|
171
|
+
instructions: "Paste the entire contents of the .p8 file you downloaded",
|
|
172
|
+
required: !1,
|
|
173
|
+
type: "multiline"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
key: "APNS_ENDPOINT",
|
|
177
|
+
label: "APNs Endpoint",
|
|
178
|
+
description: "Apple Push Notification service endpoint",
|
|
179
|
+
instructions: `Production: ${import_picocolors.default.green("https://api.push.apple.com")}
|
|
180
|
+
Sandbox: ${import_picocolors.default.yellow("https://api.sandbox.push.apple.com")}`,
|
|
181
|
+
required: !1,
|
|
182
|
+
type: "text",
|
|
183
|
+
default: "https://api.push.apple.com"
|
|
184
|
+
}
|
|
185
|
+
]
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
id: "email",
|
|
189
|
+
name: "Email Service",
|
|
190
|
+
description: "Transactional email configuration",
|
|
191
|
+
required: !1,
|
|
192
|
+
variables: [
|
|
193
|
+
{
|
|
194
|
+
key: "POSTMARK_SERVER_TOKEN",
|
|
195
|
+
label: "Postmark Server Token",
|
|
196
|
+
description: "API token for sending emails via Postmark",
|
|
197
|
+
instructions: `Get your token:
|
|
198
|
+
1. Sign up at ${import_picocolors.default.cyan("https://postmarkapp.com")}
|
|
199
|
+
2. Create a Server
|
|
200
|
+
3. Go to Servers \u2192 API Tokens
|
|
201
|
+
4. Copy your Server API Token
|
|
202
|
+
|
|
203
|
+
${import_picocolors.default.yellow("Note: Free tier includes 100 emails/month")}`,
|
|
204
|
+
required: !1,
|
|
205
|
+
type: "text"
|
|
206
|
+
}
|
|
207
|
+
]
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
id: "github",
|
|
211
|
+
name: "GitHub OAuth",
|
|
212
|
+
description: "Enable GitHub sign-in for your app",
|
|
213
|
+
required: !1,
|
|
214
|
+
variables: [
|
|
215
|
+
{
|
|
216
|
+
key: "ONECHAT_GITHUB_CLIENT_ID",
|
|
217
|
+
label: "GitHub OAuth Client ID",
|
|
218
|
+
description: "Client ID for GitHub OAuth application",
|
|
219
|
+
instructions: `Create GitHub OAuth App:
|
|
220
|
+
1. Go to ${import_picocolors.default.cyan("https://github.com/settings/developers")}
|
|
221
|
+
2. New OAuth App
|
|
222
|
+
3. Set Authorization callback URL:
|
|
223
|
+
${import_picocolors.default.green("https://your-app.com/api/auth/callback/github")}
|
|
224
|
+
4. Copy the Client ID`,
|
|
225
|
+
required: !1,
|
|
226
|
+
type: "text"
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
key: "ONECHAT_GITHUB_CLIENT_SECRET",
|
|
230
|
+
label: "GitHub OAuth Client Secret",
|
|
231
|
+
description: "Client secret for GitHub OAuth application",
|
|
232
|
+
instructions: "Copy the Client Secret from your GitHub OAuth App settings",
|
|
233
|
+
required: !1,
|
|
234
|
+
type: "secret"
|
|
235
|
+
}
|
|
236
|
+
]
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
id: "aws",
|
|
240
|
+
name: "AWS Deployment",
|
|
241
|
+
description: "AWS credentials for SST deployment",
|
|
242
|
+
required: !1,
|
|
243
|
+
setupTime: "~30 minutes",
|
|
244
|
+
variables: [
|
|
245
|
+
{
|
|
246
|
+
key: "AWS_ACCESS_KEY_ID",
|
|
247
|
+
label: "AWS Access Key ID",
|
|
248
|
+
description: "Access key for AWS deployment",
|
|
249
|
+
instructions: `${import_picocolors.default.yellow("\u26A0\uFE0F Setting up AWS takes about 30 minutes")}
|
|
250
|
+
|
|
251
|
+
Follow the SST guide for AWS setup:
|
|
252
|
+
${import_picocolors.default.cyan("https://sst.dev/docs/aws-accounts/")}
|
|
253
|
+
|
|
254
|
+
Quick steps:
|
|
255
|
+
1. Create AWS account or use existing
|
|
256
|
+
2. Create IAM user with AdministratorAccess
|
|
257
|
+
3. Generate access keys
|
|
258
|
+
4. Copy Access Key ID`,
|
|
259
|
+
required: !1,
|
|
260
|
+
type: "text"
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
key: "AWS_SECRET_ACCESS_KEY",
|
|
264
|
+
label: "AWS Secret Access Key",
|
|
265
|
+
description: "Secret key for AWS deployment",
|
|
266
|
+
instructions: "Copy the Secret Access Key from IAM user creation",
|
|
267
|
+
required: !1,
|
|
268
|
+
type: "secret"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
key: "AWS_REGION",
|
|
272
|
+
label: "AWS Region",
|
|
273
|
+
description: "AWS region for deployment",
|
|
274
|
+
instructions: "Choose a region close to your users (e.g., us-west-1, us-east-1, eu-west-1)",
|
|
275
|
+
required: !1,
|
|
276
|
+
type: "text",
|
|
277
|
+
default: "us-west-1",
|
|
278
|
+
placeholder: "us-west-1"
|
|
279
|
+
}
|
|
280
|
+
]
|
|
281
|
+
}
|
|
282
|
+
];
|
|
283
|
+
function getCategoryById(id) {
|
|
284
|
+
return envCategories.find(function(cat) {
|
|
285
|
+
return cat.id === id;
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
function getRequiredCategories() {
|
|
289
|
+
return envCategories.filter(function(cat) {
|
|
290
|
+
return cat.required;
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
function getOptionalCategories() {
|
|
294
|
+
return envCategories.filter(function(cat) {
|
|
295
|
+
return !cat.required;
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
function getAllVariables() {
|
|
299
|
+
return envCategories.flatMap(function(cat) {
|
|
300
|
+
return cat.variables;
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
function getVariableByKey(key) {
|
|
304
|
+
return getAllVariables().find(function(v) {
|
|
305
|
+
return v.key === key;
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
309
|
+
0 && (module.exports = {
|
|
310
|
+
envCategories,
|
|
311
|
+
getAllVariables,
|
|
312
|
+
getCategoryById,
|
|
313
|
+
getOptionalCategories,
|
|
314
|
+
getRequiredCategories,
|
|
315
|
+
getVariableByKey
|
|
316
|
+
});
|
|
317
|
+
//# sourceMappingURL=env-categories.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/env-categories.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["pc"]
|
|
6
|
+
}
|