onflyt-cli 1.0.1-beta.1 → 1.0.1-beta.2
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/index.js +68 -364
- package/onflyt.json +10 -0
- package/package.json +4 -5
- package/src/App.tsx +13 -0
- package/src/commands/credits.tsx +151 -0
- package/src/commands/delete.tsx +315 -0
- package/src/commands/deploy.tsx +1039 -0
- package/src/commands/deployments.tsx +331 -0
- package/src/commands/help.tsx +79 -0
- package/src/commands/init.tsx +587 -0
- package/src/commands/login.tsx +207 -0
- package/src/commands/logout.tsx +31 -0
- package/src/commands/logs.tsx +447 -0
- package/src/commands/projects.tsx +287 -0
- package/src/commands/rollback.tsx +455 -0
- package/src/commands/teams.tsx +113 -0
- package/src/commands/whoami.tsx +48 -0
- package/src/components/Loading.tsx +74 -0
- package/src/index.tsx +130 -0
- package/src/lib/api.ts +152 -0
- package/src/lib/config.ts +90 -0
- package/src/lib/deploy-api.ts +511 -0
- package/src/lib/deploy.ts +260 -0
- package/src/lib/framework.ts +227 -0
- package/src/lib/git.ts +179 -0
- package/src/lib/scaffold.ts +225 -0
- package/src/types.d.ts +5 -0
- package/tsconfig.json +17 -0
- package/README.md +0 -338
package/dist/index.js
CHANGED
|
@@ -1680,15 +1680,6 @@ var require_cli_spinners = __commonJS({
|
|
|
1680
1680
|
import { homedir } from "os";
|
|
1681
1681
|
import { join } from "path";
|
|
1682
1682
|
import { readFileSync as readFileSync2, writeFileSync, existsSync, mkdirSync } from "fs";
|
|
1683
|
-
function decodeApiUrl() {
|
|
1684
|
-
const envUrl = process.env.ONFLYT_API_URL;
|
|
1685
|
-
if (envUrl) return envUrl;
|
|
1686
|
-
try {
|
|
1687
|
-
return Buffer.from(ENCODED_API_URL, "base64").toString("utf-8");
|
|
1688
|
-
} catch {
|
|
1689
|
-
return DEFAULT_API_URL;
|
|
1690
|
-
}
|
|
1691
|
-
}
|
|
1692
1683
|
function getConfig() {
|
|
1693
1684
|
try {
|
|
1694
1685
|
if (existsSync(CONFIG_FILE)) {
|
|
@@ -1714,16 +1705,14 @@ function hasProjectConfig(cwd = process.cwd()) {
|
|
|
1714
1705
|
const configPath = join(cwd, PROJECT_CONFIG_FILE);
|
|
1715
1706
|
return existsSync(configPath);
|
|
1716
1707
|
}
|
|
1717
|
-
var CONFIG_DIR, CONFIG_FILE, PROJECT_CONFIG_FILE,
|
|
1708
|
+
var CONFIG_DIR, CONFIG_FILE, PROJECT_CONFIG_FILE, API_URL;
|
|
1718
1709
|
var init_config = __esm({
|
|
1719
1710
|
"src/lib/config.ts"() {
|
|
1720
1711
|
"use strict";
|
|
1721
1712
|
CONFIG_DIR = join(homedir(), ".onflyt");
|
|
1722
1713
|
CONFIG_FILE = join(CONFIG_DIR, "config.json");
|
|
1723
1714
|
PROJECT_CONFIG_FILE = "onflyt.json";
|
|
1724
|
-
|
|
1725
|
-
ENCODED_API_URL = "aHR0cHM6Ly9kZXBsb3ktYXBpLm1paWdsdS5jb20=";
|
|
1726
|
-
API_URL = decodeApiUrl();
|
|
1715
|
+
API_URL = process.env.ONFLYT_API_URL || "";
|
|
1727
1716
|
}
|
|
1728
1717
|
});
|
|
1729
1718
|
|
|
@@ -1844,10 +1833,16 @@ var init_api = __esm({
|
|
|
1844
1833
|
}
|
|
1845
1834
|
});
|
|
1846
1835
|
|
|
1847
|
-
//
|
|
1836
|
+
// ../shared/dist/frameworks/registry.js
|
|
1848
1837
|
function getDefaultBuildCommand(frameworkId) {
|
|
1849
1838
|
return FRAMEWORKS[frameworkId.toLowerCase()]?.defaults.buildCommand;
|
|
1850
1839
|
}
|
|
1840
|
+
function getDefaultOutputDirectory(frameworkId) {
|
|
1841
|
+
return FRAMEWORKS[frameworkId.toLowerCase()]?.defaults.outputDirectory;
|
|
1842
|
+
}
|
|
1843
|
+
function getDefaultStartCommand(frameworkId) {
|
|
1844
|
+
return FRAMEWORKS[frameworkId.toLowerCase()]?.defaults.startCommand;
|
|
1845
|
+
}
|
|
1851
1846
|
function getInstallCommand(frameworkId, packageManager) {
|
|
1852
1847
|
const pm = packageManager.toLowerCase();
|
|
1853
1848
|
const framework = FRAMEWORKS[frameworkId.toLowerCase()];
|
|
@@ -1857,27 +1852,18 @@ function getInstallCommand(frameworkId, packageManager) {
|
|
|
1857
1852
|
return framework?.defaults.installCommand || "pip install -r requirements.txt";
|
|
1858
1853
|
}
|
|
1859
1854
|
const installCommands = {
|
|
1860
|
-
npm: "npm install",
|
|
1861
1855
|
bun: "bun install",
|
|
1856
|
+
npm: "npm install",
|
|
1862
1857
|
yarn: "yarn install",
|
|
1863
|
-
|
|
1858
|
+
pbun: "pbun install"
|
|
1864
1859
|
};
|
|
1865
1860
|
return installCommands[pm] || `${pm} install`;
|
|
1866
1861
|
}
|
|
1867
|
-
function getDefaultOutputDirectory(frameworkId) {
|
|
1868
|
-
return FRAMEWORKS[frameworkId.toLowerCase()]?.defaults.outputDirectory;
|
|
1869
|
-
}
|
|
1870
|
-
function getDefaultStartCommand(frameworkId) {
|
|
1871
|
-
return FRAMEWORKS[frameworkId.toLowerCase()]?.defaults.startCommand;
|
|
1872
|
-
}
|
|
1873
1862
|
var FRAMEWORKS;
|
|
1874
1863
|
var init_registry = __esm({
|
|
1875
|
-
"
|
|
1864
|
+
"../shared/dist/frameworks/registry.js"() {
|
|
1876
1865
|
"use strict";
|
|
1877
1866
|
FRAMEWORKS = {
|
|
1878
|
-
// ============================================
|
|
1879
|
-
// Node.js Frameworks
|
|
1880
|
-
// ============================================
|
|
1881
1867
|
nextjs: {
|
|
1882
1868
|
label: "Next.js",
|
|
1883
1869
|
family: "node",
|
|
@@ -1887,221 +1873,121 @@ var init_registry = __esm({
|
|
|
1887
1873
|
installCommand: "bun install",
|
|
1888
1874
|
outputDirectory: ".next"
|
|
1889
1875
|
},
|
|
1890
|
-
isServer: true
|
|
1891
|
-
emoji: "\u25B2",
|
|
1892
|
-
color: {
|
|
1893
|
-
text: "text-black dark:text-white",
|
|
1894
|
-
bg: "bg-black dark:bg-white",
|
|
1895
|
-
border: "border-black dark:border-white"
|
|
1896
|
-
}
|
|
1876
|
+
isServer: true
|
|
1897
1877
|
},
|
|
1898
1878
|
remix: {
|
|
1899
1879
|
label: "Remix",
|
|
1900
1880
|
family: "node",
|
|
1901
1881
|
deploymentType: "container",
|
|
1902
1882
|
defaults: {
|
|
1903
|
-
buildCommand: "
|
|
1883
|
+
buildCommand: "bun run build",
|
|
1904
1884
|
installCommand: "bun install",
|
|
1905
1885
|
outputDirectory: "build"
|
|
1906
1886
|
},
|
|
1907
|
-
isServer: true
|
|
1908
|
-
emoji: "\u26A1",
|
|
1909
|
-
color: {
|
|
1910
|
-
text: "text-indigo-500",
|
|
1911
|
-
bg: "bg-indigo-500/10",
|
|
1912
|
-
border: "border-indigo-500/20"
|
|
1913
|
-
}
|
|
1887
|
+
isServer: true
|
|
1914
1888
|
},
|
|
1915
1889
|
react: {
|
|
1916
1890
|
label: "React",
|
|
1917
1891
|
family: "node",
|
|
1918
1892
|
deploymentType: "static",
|
|
1919
1893
|
defaults: {
|
|
1920
|
-
buildCommand: "
|
|
1894
|
+
buildCommand: "bun run build",
|
|
1921
1895
|
installCommand: "bun install",
|
|
1922
1896
|
outputDirectory: "build"
|
|
1923
1897
|
},
|
|
1924
|
-
isServer: false
|
|
1925
|
-
emoji: "\u269B\uFE0F",
|
|
1926
|
-
color: {
|
|
1927
|
-
text: "text-cyan-500",
|
|
1928
|
-
bg: "bg-cyan-500/10",
|
|
1929
|
-
border: "border-cyan-500/20"
|
|
1930
|
-
}
|
|
1898
|
+
isServer: false
|
|
1931
1899
|
},
|
|
1932
|
-
|
|
1933
|
-
label: "
|
|
1900
|
+
vite: {
|
|
1901
|
+
label: "Vite",
|
|
1934
1902
|
family: "node",
|
|
1935
1903
|
deploymentType: "static",
|
|
1936
1904
|
defaults: {
|
|
1937
|
-
buildCommand: "
|
|
1905
|
+
buildCommand: "bun run build",
|
|
1938
1906
|
installCommand: "bun install",
|
|
1939
1907
|
outputDirectory: "dist"
|
|
1940
1908
|
},
|
|
1941
|
-
isServer: false
|
|
1942
|
-
emoji: "\u{1F49A}",
|
|
1943
|
-
color: {
|
|
1944
|
-
text: "text-emerald-500",
|
|
1945
|
-
bg: "bg-emerald-500/10",
|
|
1946
|
-
border: "border-emerald-500/20"
|
|
1947
|
-
}
|
|
1909
|
+
isServer: false
|
|
1948
1910
|
},
|
|
1949
1911
|
nuxt: {
|
|
1950
1912
|
label: "Nuxt",
|
|
1951
1913
|
family: "node",
|
|
1952
1914
|
deploymentType: "container",
|
|
1953
1915
|
defaults: {
|
|
1954
|
-
buildCommand: "
|
|
1916
|
+
buildCommand: "bun run build",
|
|
1955
1917
|
installCommand: "bun install",
|
|
1956
1918
|
outputDirectory: ".output"
|
|
1957
1919
|
},
|
|
1958
|
-
isServer: true
|
|
1959
|
-
emoji: "\u{1F49A}",
|
|
1960
|
-
color: {
|
|
1961
|
-
text: "text-emerald-600",
|
|
1962
|
-
bg: "bg-emerald-600/10",
|
|
1963
|
-
border: "border-emerald-600/20"
|
|
1964
|
-
}
|
|
1920
|
+
isServer: true
|
|
1965
1921
|
},
|
|
1966
1922
|
svelte: {
|
|
1967
1923
|
label: "Svelte",
|
|
1968
1924
|
family: "node",
|
|
1969
1925
|
deploymentType: "static",
|
|
1970
1926
|
defaults: {
|
|
1971
|
-
buildCommand: "
|
|
1927
|
+
buildCommand: "bun run build",
|
|
1972
1928
|
installCommand: "bun install",
|
|
1973
1929
|
outputDirectory: "build"
|
|
1974
1930
|
},
|
|
1975
|
-
isServer: false
|
|
1976
|
-
emoji: "\u{1F9E1}",
|
|
1977
|
-
color: {
|
|
1978
|
-
text: "text-orange-500",
|
|
1979
|
-
bg: "bg-orange-500/10",
|
|
1980
|
-
border: "border-orange-500/20"
|
|
1981
|
-
}
|
|
1982
|
-
},
|
|
1983
|
-
angular: {
|
|
1984
|
-
label: "Angular",
|
|
1985
|
-
family: "node",
|
|
1986
|
-
deploymentType: "static",
|
|
1987
|
-
defaults: {
|
|
1988
|
-
buildCommand: "ng build",
|
|
1989
|
-
installCommand: "bun install",
|
|
1990
|
-
outputDirectory: "dist"
|
|
1991
|
-
},
|
|
1992
|
-
isServer: false,
|
|
1993
|
-
emoji: "\u{1F170}\uFE0F",
|
|
1994
|
-
color: {
|
|
1995
|
-
text: "text-red-600",
|
|
1996
|
-
bg: "bg-red-600/10",
|
|
1997
|
-
border: "border-red-600/20"
|
|
1998
|
-
}
|
|
1999
|
-
},
|
|
2000
|
-
vite: {
|
|
2001
|
-
label: "Vite",
|
|
2002
|
-
family: "node",
|
|
2003
|
-
deploymentType: "static",
|
|
2004
|
-
defaults: {
|
|
2005
|
-
buildCommand: "npm run build",
|
|
2006
|
-
installCommand: "bun install",
|
|
2007
|
-
outputDirectory: "dist"
|
|
2008
|
-
},
|
|
2009
|
-
isServer: false,
|
|
2010
|
-
emoji: "\u26A1",
|
|
2011
|
-
color: {
|
|
2012
|
-
text: "text-purple-500",
|
|
2013
|
-
bg: "bg-purple-500/10",
|
|
2014
|
-
border: "border-purple-500/20"
|
|
2015
|
-
}
|
|
2016
|
-
},
|
|
2017
|
-
nestjs: {
|
|
2018
|
-
label: "NestJS",
|
|
2019
|
-
family: "node",
|
|
2020
|
-
deploymentType: "container",
|
|
2021
|
-
defaults: {
|
|
2022
|
-
buildCommand: "npm run build",
|
|
2023
|
-
installCommand: "bun install",
|
|
2024
|
-
outputDirectory: "dist",
|
|
2025
|
-
startCommand: "node dist/main.js"
|
|
2026
|
-
},
|
|
2027
|
-
isServer: true,
|
|
2028
|
-
emoji: "\u{1F985}",
|
|
2029
|
-
color: {
|
|
2030
|
-
text: "text-red-500",
|
|
2031
|
-
bg: "bg-red-500/10",
|
|
2032
|
-
border: "border-red-500/20"
|
|
2033
|
-
}
|
|
1931
|
+
isServer: false
|
|
2034
1932
|
},
|
|
2035
1933
|
node: {
|
|
2036
1934
|
label: "Node.js",
|
|
2037
1935
|
family: "node",
|
|
2038
1936
|
deploymentType: "container",
|
|
2039
1937
|
defaults: {
|
|
2040
|
-
buildCommand: "
|
|
1938
|
+
buildCommand: "bun run build",
|
|
2041
1939
|
installCommand: "bun install",
|
|
2042
1940
|
outputDirectory: "dist",
|
|
2043
1941
|
startCommand: "node dist/index.js"
|
|
2044
1942
|
},
|
|
2045
|
-
isServer: true
|
|
2046
|
-
emoji: "\u{1F7E2}",
|
|
2047
|
-
color: {
|
|
2048
|
-
text: "text-green-500",
|
|
2049
|
-
bg: "bg-green-500/10",
|
|
2050
|
-
border: "border-green-500/20"
|
|
2051
|
-
}
|
|
1943
|
+
isServer: true
|
|
2052
1944
|
},
|
|
2053
1945
|
express: {
|
|
2054
1946
|
label: "Express",
|
|
2055
1947
|
family: "node",
|
|
2056
1948
|
deploymentType: "container",
|
|
2057
1949
|
defaults: {
|
|
2058
|
-
buildCommand: "
|
|
1950
|
+
buildCommand: "bun run build",
|
|
2059
1951
|
installCommand: "bun install",
|
|
2060
1952
|
outputDirectory: "dist",
|
|
2061
1953
|
startCommand: "node dist/index.js"
|
|
2062
1954
|
},
|
|
2063
|
-
isServer: true
|
|
2064
|
-
emoji: "\u{1F682}",
|
|
2065
|
-
color: {
|
|
2066
|
-
text: "text-neutral-500",
|
|
2067
|
-
bg: "bg-neutral-500/10",
|
|
2068
|
-
border: "border-neutral-500/20"
|
|
2069
|
-
}
|
|
1955
|
+
isServer: true
|
|
2070
1956
|
},
|
|
2071
1957
|
hono: {
|
|
2072
1958
|
label: "Hono",
|
|
2073
1959
|
family: "node",
|
|
2074
1960
|
deploymentType: "container",
|
|
2075
1961
|
defaults: {
|
|
2076
|
-
buildCommand: "
|
|
1962
|
+
buildCommand: "bun run build",
|
|
2077
1963
|
installCommand: "bun install",
|
|
2078
1964
|
outputDirectory: "dist",
|
|
2079
1965
|
startCommand: "node dist/index.js"
|
|
2080
1966
|
},
|
|
2081
|
-
isServer: true
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
1967
|
+
isServer: true
|
|
1968
|
+
},
|
|
1969
|
+
nestjs: {
|
|
1970
|
+
label: "NestJS",
|
|
1971
|
+
family: "node",
|
|
1972
|
+
deploymentType: "container",
|
|
1973
|
+
defaults: {
|
|
1974
|
+
buildCommand: "bun run build",
|
|
1975
|
+
installCommand: "bun install",
|
|
1976
|
+
outputDirectory: "dist",
|
|
1977
|
+
startCommand: "node dist/main.js"
|
|
1978
|
+
},
|
|
1979
|
+
isServer: true
|
|
2088
1980
|
},
|
|
2089
1981
|
astro: {
|
|
2090
1982
|
label: "Astro",
|
|
2091
1983
|
family: "node",
|
|
2092
1984
|
deploymentType: "static",
|
|
2093
1985
|
defaults: {
|
|
2094
|
-
buildCommand: "
|
|
1986
|
+
buildCommand: "bun run build",
|
|
2095
1987
|
installCommand: "bun install",
|
|
2096
1988
|
outputDirectory: "dist"
|
|
2097
1989
|
},
|
|
2098
|
-
isServer: false
|
|
2099
|
-
emoji: "\u{1F680}",
|
|
2100
|
-
color: {
|
|
2101
|
-
text: "text-purple-600",
|
|
2102
|
-
bg: "bg-purple-600/10",
|
|
2103
|
-
border: "border-purple-600/20"
|
|
2104
|
-
}
|
|
1990
|
+
isServer: false
|
|
2105
1991
|
},
|
|
2106
1992
|
static: {
|
|
2107
1993
|
label: "Static Site",
|
|
@@ -2112,17 +1998,8 @@ var init_registry = __esm({
|
|
|
2112
1998
|
installCommand: "",
|
|
2113
1999
|
outputDirectory: "."
|
|
2114
2000
|
},
|
|
2115
|
-
isServer: false
|
|
2116
|
-
emoji: "\u{1F4C4}",
|
|
2117
|
-
color: {
|
|
2118
|
-
text: "text-neutral-500",
|
|
2119
|
-
bg: "bg-neutral-500/10",
|
|
2120
|
-
border: "border-neutral-500/20"
|
|
2121
|
-
}
|
|
2001
|
+
isServer: false
|
|
2122
2002
|
},
|
|
2123
|
-
// ============================================
|
|
2124
|
-
// Python Frameworks
|
|
2125
|
-
// ============================================
|
|
2126
2003
|
fastapi: {
|
|
2127
2004
|
label: "FastAPI",
|
|
2128
2005
|
family: "nixpacks",
|
|
@@ -2131,13 +2008,7 @@ var init_registry = __esm({
|
|
|
2131
2008
|
buildCommand: "uv pip install --python 3.11 -r requirements.txt",
|
|
2132
2009
|
startCommand: "uvicorn main:app --host 0.0.0.0 --port 8080"
|
|
2133
2010
|
},
|
|
2134
|
-
isServer: true
|
|
2135
|
-
emoji: "\u26A1",
|
|
2136
|
-
color: {
|
|
2137
|
-
text: "text-green-500",
|
|
2138
|
-
bg: "bg-green-500/10",
|
|
2139
|
-
border: "border-green-500/20"
|
|
2140
|
-
}
|
|
2011
|
+
isServer: true
|
|
2141
2012
|
},
|
|
2142
2013
|
flask: {
|
|
2143
2014
|
label: "Flask",
|
|
@@ -2147,13 +2018,7 @@ var init_registry = __esm({
|
|
|
2147
2018
|
buildCommand: "uv pip install --python 3.11 -r requirements.txt",
|
|
2148
2019
|
startCommand: "flask run --host 0.0.0.0 --port 8080"
|
|
2149
2020
|
},
|
|
2150
|
-
isServer: true
|
|
2151
|
-
emoji: "\u{1F336}\uFE0F",
|
|
2152
|
-
color: {
|
|
2153
|
-
text: "text-gray-600",
|
|
2154
|
-
bg: "bg-gray-500/10",
|
|
2155
|
-
border: "border-gray-500/20"
|
|
2156
|
-
}
|
|
2021
|
+
isServer: true
|
|
2157
2022
|
},
|
|
2158
2023
|
django: {
|
|
2159
2024
|
label: "Django",
|
|
@@ -2163,86 +2028,16 @@ var init_registry = __esm({
|
|
|
2163
2028
|
buildCommand: "uv pip install --python 3.11 -r requirements.txt",
|
|
2164
2029
|
startCommand: "python3 manage.py runserver 0.0.0.0:8080"
|
|
2165
2030
|
},
|
|
2166
|
-
isServer: true
|
|
2167
|
-
emoji: "\u{1F3B8}",
|
|
2168
|
-
color: {
|
|
2169
|
-
text: "text-green-700",
|
|
2170
|
-
bg: "bg-green-700/10",
|
|
2171
|
-
border: "border-green-700/20"
|
|
2172
|
-
}
|
|
2173
|
-
},
|
|
2174
|
-
go: {
|
|
2175
|
-
label: "Go",
|
|
2176
|
-
family: "nixpacks",
|
|
2177
|
-
deploymentType: "container",
|
|
2178
|
-
defaults: {
|
|
2179
|
-
buildCommand: "go mod download && go build -o server .",
|
|
2180
|
-
startCommand: "./server"
|
|
2181
|
-
},
|
|
2182
|
-
isServer: true,
|
|
2183
|
-
emoji: "\u{1F439}",
|
|
2184
|
-
color: {
|
|
2185
|
-
text: "text-cyan-600",
|
|
2186
|
-
bg: "bg-cyan-600/10",
|
|
2187
|
-
border: "border-cyan-600/20"
|
|
2188
|
-
},
|
|
2189
|
-
available: false
|
|
2190
|
-
},
|
|
2191
|
-
rust: {
|
|
2192
|
-
label: "Rust",
|
|
2193
|
-
family: "nixpacks",
|
|
2194
|
-
deploymentType: "container",
|
|
2195
|
-
defaults: {
|
|
2196
|
-
buildCommand: "cargo build --release",
|
|
2197
|
-
startCommand: "./target/release/app"
|
|
2198
|
-
},
|
|
2199
|
-
isServer: true,
|
|
2200
|
-
emoji: "\u{1F980}",
|
|
2201
|
-
color: {
|
|
2202
|
-
text: "text-orange-600",
|
|
2203
|
-
bg: "bg-orange-600/10",
|
|
2204
|
-
border: "border-orange-600/20"
|
|
2205
|
-
},
|
|
2206
|
-
available: false
|
|
2207
|
-
},
|
|
2208
|
-
php: {
|
|
2209
|
-
label: "PHP",
|
|
2210
|
-
family: "nixpacks",
|
|
2211
|
-
deploymentType: "container",
|
|
2212
|
-
defaults: {
|
|
2213
|
-
startCommand: "php -S 0.0.0.0:8080"
|
|
2214
|
-
},
|
|
2215
|
-
isServer: true,
|
|
2216
|
-
emoji: "\u{1F418}",
|
|
2217
|
-
color: {
|
|
2218
|
-
text: "text-indigo-600",
|
|
2219
|
-
bg: "bg-indigo-600/10",
|
|
2220
|
-
border: "border-indigo-600/20"
|
|
2221
|
-
},
|
|
2222
|
-
available: false
|
|
2223
|
-
},
|
|
2224
|
-
docker: {
|
|
2225
|
-
label: "Docker",
|
|
2226
|
-
family: "nixpacks",
|
|
2227
|
-
deploymentType: "container",
|
|
2228
|
-
defaults: {},
|
|
2229
|
-
isServer: true,
|
|
2230
|
-
emoji: "\u{1F433}",
|
|
2231
|
-
color: {
|
|
2232
|
-
text: "text-blue-600",
|
|
2233
|
-
bg: "bg-blue-600/10",
|
|
2234
|
-
border: "border-blue-600/20"
|
|
2235
|
-
},
|
|
2236
|
-
available: false
|
|
2031
|
+
isServer: true
|
|
2237
2032
|
}
|
|
2238
2033
|
};
|
|
2239
2034
|
}
|
|
2240
2035
|
});
|
|
2241
2036
|
|
|
2242
|
-
//
|
|
2037
|
+
// ../shared/dist/templates/registry.js
|
|
2243
2038
|
var TEMPLATES;
|
|
2244
2039
|
var init_registry2 = __esm({
|
|
2245
|
-
"
|
|
2040
|
+
"../shared/dist/templates/registry.js"() {
|
|
2246
2041
|
"use strict";
|
|
2247
2042
|
TEMPLATES = [
|
|
2248
2043
|
{
|
|
@@ -2250,89 +2045,63 @@ var init_registry2 = __esm({
|
|
|
2250
2045
|
name: "Blank",
|
|
2251
2046
|
description: "Minimal project setup",
|
|
2252
2047
|
repoUrl: "https://github.com/onflyt/blank",
|
|
2253
|
-
framework: "static"
|
|
2254
|
-
supportedPackageManagers: ["npm", "yarn", "pnpm"]
|
|
2048
|
+
framework: "static"
|
|
2255
2049
|
},
|
|
2256
2050
|
{
|
|
2257
2051
|
id: "nextjs",
|
|
2258
2052
|
name: "Next.js Starter",
|
|
2259
2053
|
description: "Next.js with App Router",
|
|
2260
2054
|
repoUrl: "https://github.com/onflyt/nextjs-starter",
|
|
2261
|
-
framework: "nextjs"
|
|
2262
|
-
supportedPackageManagers: ["npm", "yarn", "pnpm"]
|
|
2263
|
-
},
|
|
2264
|
-
{
|
|
2265
|
-
id: "nextjs-tailwind",
|
|
2266
|
-
name: "Next.js + Tailwind",
|
|
2267
|
-
description: "Next.js with Tailwind CSS",
|
|
2268
|
-
repoUrl: "https://github.com/onflyt/nextjs-tailwind",
|
|
2269
|
-
framework: "nextjs",
|
|
2270
|
-
supportedPackageManagers: ["npm", "yarn", "pnpm"]
|
|
2055
|
+
framework: "nextjs"
|
|
2271
2056
|
},
|
|
2272
2057
|
{
|
|
2273
2058
|
id: "react-vite",
|
|
2274
2059
|
name: "React + Vite",
|
|
2275
2060
|
description: "React with Vite bundler",
|
|
2276
2061
|
repoUrl: "https://github.com/onflyt/react-vite",
|
|
2277
|
-
framework: "react"
|
|
2278
|
-
supportedPackageManagers: ["npm", "yarn", "pnpm"]
|
|
2062
|
+
framework: "react"
|
|
2279
2063
|
},
|
|
2280
2064
|
{
|
|
2281
2065
|
id: "node-api",
|
|
2282
2066
|
name: "Node.js API",
|
|
2283
2067
|
description: "Express/Fastify REST API",
|
|
2284
2068
|
repoUrl: "https://github.com/onflyt/node-api",
|
|
2285
|
-
framework: "node"
|
|
2286
|
-
supportedPackageManagers: ["npm", "yarn", "pnpm"]
|
|
2069
|
+
framework: "node"
|
|
2287
2070
|
},
|
|
2288
2071
|
{
|
|
2289
2072
|
id: "fastapi",
|
|
2290
2073
|
name: "FastAPI",
|
|
2291
2074
|
description: "Python FastAPI backend",
|
|
2292
2075
|
repoUrl: "https://github.com/onflyt/fastapi-starter",
|
|
2293
|
-
framework: "fastapi"
|
|
2294
|
-
supportedPackageManagers: ["pip", "poetry"]
|
|
2076
|
+
framework: "fastapi"
|
|
2295
2077
|
},
|
|
2296
2078
|
{
|
|
2297
2079
|
id: "ai-agent",
|
|
2298
2080
|
name: "AI Agent",
|
|
2299
2081
|
description: "AI Agent starter with OpenAI",
|
|
2300
2082
|
repoUrl: "https://github.com/onflyt/ai-agent",
|
|
2301
|
-
framework: "python"
|
|
2302
|
-
supportedPackageManagers: ["pip", "poetry"]
|
|
2083
|
+
framework: "python"
|
|
2303
2084
|
}
|
|
2304
2085
|
];
|
|
2305
2086
|
}
|
|
2306
2087
|
});
|
|
2307
2088
|
|
|
2308
|
-
//
|
|
2089
|
+
// ../shared/dist/pricing.js
|
|
2309
2090
|
var TIER_HOURLY_PRICE;
|
|
2310
2091
|
var init_pricing = __esm({
|
|
2311
|
-
"
|
|
2092
|
+
"../shared/dist/pricing.js"() {
|
|
2312
2093
|
"use strict";
|
|
2313
2094
|
TIER_HOURLY_PRICE = {
|
|
2314
2095
|
micro: 0,
|
|
2315
|
-
// Free tier (10hr/day limit)
|
|
2316
2096
|
lite: 0.015,
|
|
2317
|
-
// Paid entry level
|
|
2318
2097
|
standard: 0.05,
|
|
2319
|
-
// Profit margin
|
|
2320
2098
|
pro: 0.08,
|
|
2321
|
-
// Profit margin
|
|
2322
2099
|
business: 0.12
|
|
2323
|
-
// Profit margin
|
|
2324
2100
|
};
|
|
2325
2101
|
}
|
|
2326
2102
|
});
|
|
2327
2103
|
|
|
2328
|
-
//
|
|
2329
|
-
var init_logging = __esm({
|
|
2330
|
-
"../../packages/shared/dist/logging.js"() {
|
|
2331
|
-
"use strict";
|
|
2332
|
-
}
|
|
2333
|
-
});
|
|
2334
|
-
|
|
2335
|
-
// ../../packages/shared/dist/limits.js
|
|
2104
|
+
// ../shared/dist/limits.js
|
|
2336
2105
|
function getLimitsBySpend(totalSpend) {
|
|
2337
2106
|
if (totalSpend >= SPEND_THRESHOLDS.high)
|
|
2338
2107
|
return TIER_LIMITS.high;
|
|
@@ -2347,7 +2116,7 @@ function getTierLabel(totalSpend) {
|
|
|
2347
2116
|
}
|
|
2348
2117
|
var SPEND_THRESHOLDS, TIER_LIMITS;
|
|
2349
2118
|
var init_limits = __esm({
|
|
2350
|
-
"
|
|
2119
|
+
"../shared/dist/limits.js"() {
|
|
2351
2120
|
"use strict";
|
|
2352
2121
|
SPEND_THRESHOLDS = {
|
|
2353
2122
|
free: 0,
|
|
@@ -2357,106 +2126,41 @@ var init_limits = __esm({
|
|
|
2357
2126
|
};
|
|
2358
2127
|
TIER_LIMITS = {
|
|
2359
2128
|
free: {
|
|
2360
|
-
// Core
|
|
2361
2129
|
maxProjects: 3,
|
|
2362
2130
|
maxInstancesPerProject: 1,
|
|
2363
|
-
maxBuildMinutes: 10,
|
|
2364
|
-
logRetentionDays: 1,
|
|
2365
2131
|
tier: "free",
|
|
2366
|
-
tierLabel: "Free Usage"
|
|
2367
|
-
// Resources
|
|
2368
|
-
maxEnvVars: 5,
|
|
2369
|
-
maxTeamMembers: 1,
|
|
2370
|
-
maxCustomDomains: 0,
|
|
2371
|
-
// Features
|
|
2372
|
-
enablePreviewDeployments: false,
|
|
2373
|
-
enableAutoScaling: false,
|
|
2374
|
-
enableLogStreaming: false,
|
|
2375
|
-
enableMetrics: false,
|
|
2376
|
-
// Rate
|
|
2377
|
-
apiRateLimit: 60
|
|
2132
|
+
tierLabel: "Free Usage"
|
|
2378
2133
|
},
|
|
2379
2134
|
low: {
|
|
2380
|
-
// Core
|
|
2381
2135
|
maxProjects: 10,
|
|
2382
2136
|
maxInstancesPerProject: 2,
|
|
2383
|
-
maxBuildMinutes: 20,
|
|
2384
|
-
logRetentionDays: 3,
|
|
2385
2137
|
tier: "low",
|
|
2386
|
-
tierLabel: "Low Spend"
|
|
2387
|
-
// Resources
|
|
2388
|
-
maxEnvVars: 15,
|
|
2389
|
-
maxTeamMembers: 3,
|
|
2390
|
-
maxCustomDomains: 1,
|
|
2391
|
-
// Features
|
|
2392
|
-
enablePreviewDeployments: true,
|
|
2393
|
-
enableAutoScaling: false,
|
|
2394
|
-
enableLogStreaming: true,
|
|
2395
|
-
enableMetrics: true,
|
|
2396
|
-
// Rate
|
|
2397
|
-
apiRateLimit: 120
|
|
2138
|
+
tierLabel: "Low Spend"
|
|
2398
2139
|
},
|
|
2399
2140
|
medium: {
|
|
2400
|
-
// Core
|
|
2401
2141
|
maxProjects: Infinity,
|
|
2402
2142
|
maxInstancesPerProject: 4,
|
|
2403
|
-
maxBuildMinutes: 30,
|
|
2404
|
-
logRetentionDays: 14,
|
|
2405
2143
|
tier: "medium",
|
|
2406
|
-
tierLabel: "Medium Spend"
|
|
2407
|
-
// Resources
|
|
2408
|
-
maxEnvVars: 50,
|
|
2409
|
-
maxTeamMembers: 10,
|
|
2410
|
-
maxCustomDomains: 5,
|
|
2411
|
-
// Features
|
|
2412
|
-
enablePreviewDeployments: true,
|
|
2413
|
-
enableAutoScaling: true,
|
|
2414
|
-
enableLogStreaming: true,
|
|
2415
|
-
enableMetrics: true,
|
|
2416
|
-
// Rate
|
|
2417
|
-
apiRateLimit: 300
|
|
2144
|
+
tierLabel: "Medium Spend"
|
|
2418
2145
|
},
|
|
2419
2146
|
high: {
|
|
2420
|
-
// Core
|
|
2421
2147
|
maxProjects: Infinity,
|
|
2422
2148
|
maxInstancesPerProject: 10,
|
|
2423
|
-
maxBuildMinutes: 60,
|
|
2424
|
-
logRetentionDays: 30,
|
|
2425
2149
|
tier: "high",
|
|
2426
|
-
tierLabel: "High Spend"
|
|
2427
|
-
// Resources
|
|
2428
|
-
maxEnvVars: Infinity,
|
|
2429
|
-
maxTeamMembers: Infinity,
|
|
2430
|
-
maxCustomDomains: Infinity,
|
|
2431
|
-
// Features
|
|
2432
|
-
enablePreviewDeployments: true,
|
|
2433
|
-
enableAutoScaling: true,
|
|
2434
|
-
enableLogStreaming: true,
|
|
2435
|
-
enableMetrics: true,
|
|
2436
|
-
// Rate
|
|
2437
|
-
apiRateLimit: 1e3
|
|
2150
|
+
tierLabel: "High Spend"
|
|
2438
2151
|
}
|
|
2439
2152
|
};
|
|
2440
2153
|
}
|
|
2441
2154
|
});
|
|
2442
2155
|
|
|
2443
|
-
//
|
|
2444
|
-
var init_notification_events = __esm({
|
|
2445
|
-
"../../packages/shared/dist/notification-events.js"() {
|
|
2446
|
-
"use strict";
|
|
2447
|
-
}
|
|
2448
|
-
});
|
|
2449
|
-
|
|
2450
|
-
// ../../packages/shared/dist/index.js
|
|
2156
|
+
// ../shared/dist/index.js
|
|
2451
2157
|
var init_dist = __esm({
|
|
2452
|
-
"
|
|
2158
|
+
"../shared/dist/index.js"() {
|
|
2453
2159
|
"use strict";
|
|
2454
2160
|
init_registry();
|
|
2455
2161
|
init_registry2();
|
|
2456
2162
|
init_pricing();
|
|
2457
|
-
init_logging();
|
|
2458
2163
|
init_limits();
|
|
2459
|
-
init_notification_events();
|
|
2460
2164
|
}
|
|
2461
2165
|
});
|
|
2462
2166
|
|
|
@@ -10303,7 +10007,7 @@ var help_default = Help;
|
|
|
10303
10007
|
import React4 from "react";
|
|
10304
10008
|
import { Text as Text3, Box as Box2 } from "ink";
|
|
10305
10009
|
|
|
10306
|
-
// ../../node_modules/.pnpm/ink-spinner@5.0.0_ink@6.8.0_@types+react@19.2.
|
|
10010
|
+
// ../../node_modules/.pnpm/ink-spinner@5.0.0_ink@6.8.0_@types+react@19.2.14_react@19.2.4__react@19.2.4/node_modules/ink-spinner/build/index.js
|
|
10307
10011
|
var import_cli_spinners = __toESM(require_cli_spinners(), 1);
|
|
10308
10012
|
import React2, { useState, useEffect as useEffect2 } from "react";
|
|
10309
10013
|
import { Text } from "ink";
|