@orion-js/core 4.3.3 → 4.4.1
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/dist/build/build.d.ts +3 -0
- package/dist/build/checkTs.d.ts +1 -0
- package/dist/build/index.d.ts +3 -0
- package/dist/check/checkTs.d.ts +1 -0
- package/dist/check/index.d.ts +1 -0
- package/dist/create/index.d.ts +4 -0
- package/dist/dev/devBuildPath.d.ts +1 -0
- package/dist/dev/index.d.ts +2 -0
- package/dist/dev/runner/getArgs.d.ts +5 -0
- package/dist/dev/runner/index.d.ts +13 -0
- package/dist/dev/runner/startProcess.d.ts +2 -0
- package/dist/dev/watchAndCompile/cleanDirectory.d.ts +1 -0
- package/dist/dev/watchAndCompile/ensureConfigComplies.d.ts +1 -0
- package/dist/dev/watchAndCompile/getConfigPath.d.ts +1 -0
- package/dist/dev/watchAndCompile/index.d.ts +2 -0
- package/dist/dev/watchAndCompile/watchAndBundle.d.ts +25 -0
- package/dist/dev/watchAndCompile/watchAndTypecheck.d.ts +11 -0
- package/dist/dev/watchAndCompile/writeEnvFile.d.ts +2 -0
- package/dist/handleErrors.d.ts +1 -0
- package/dist/helpers/ensureDirectory.d.ts +2 -0
- package/dist/helpers/execute.d.ts +1 -0
- package/dist/helpers/getFileContents.d.ts +1 -0
- package/dist/helpers/writeFile.d.ts +1 -0
- package/dist/index.cjs +258 -132
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +246 -120
- package/dist/index.js.map +1 -1
- package/dist/info.d.ts +1 -0
- package/dist/prod/index.d.ts +5 -0
- package/dist/prod/runProd.d.ts +2 -0
- package/dist/repl/index.d.ts +5 -0
- package/dist/version.d.ts +2 -0
- package/package.json +12 -13
- package/dist/index.d.cts +0 -1
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/helpers/execute.ts","../src/create/index.ts","../src/dev/index.ts","../src/dev/runner/index.ts","../src/helpers/writeFile.ts","../src/helpers/ensureDirectory.ts","../src/dev/runner/startProcess.ts","../src/dev/runner/getArgs.ts","../src/dev/watchAndCompile/index.ts","../src/dev/watchAndCompile/cleanDirectory.ts","../src/dev/watchAndCompile/getHost.ts","../src/dev/watchAndCompile/getConfigPath.ts","../src/dev/watchAndCompile/ensureConfigComplies.ts","../src/helpers/getFileContents.ts","../src/dev/watchAndCompile/reports.ts","../src/dev/watchAndCompile/writeEnvFile.ts","../src/prod/index.ts","../src/build/index.ts","../src/build/build.ts","../src/build/checkTs.ts","../src/prod/runProd.ts","../src/handleErrors.ts","../src/version.ts","../src/check/index.ts","../src/check/checkTs.ts","../src/info.ts","../src/repl/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport chalk from 'chalk'\nimport {Command} from 'commander'\nimport create from './create'\nimport dev from './dev'\nimport prod from './prod'\nimport './handleErrors'\nimport version from './version'\nimport 'dotenv/config'\nimport build from './build'\nimport check from './check'\nimport info from './info'\nimport repl from './repl'\n\nconst program = new Command()\n\nconst run =\n action =>\n async (...args) => {\n try {\n await action(...args)\n } catch (e) {\n console.error(chalk.red(`Error: ${e.message}`))\n }\n }\n\nprogram\n .command('dev')\n .description('Run the Orionjs app in development mode')\n .option('--node', 'Use Node.js runtime instead of Bun')\n .option('--repl', 'Enable REPL endpoint for orion repl')\n .allowUnknownOption()\n .action(run(dev))\n\nprogram.command('check').description('Runs a typescript check').action(run(check))\n\nprogram\n .command('build')\n .description('Build the Orionjs app for production')\n .option('--output [path]', 'Path of the output file')\n .action(run(build))\n\nprogram\n .command('prod')\n .allowUnknownOption()\n .option('--node', 'Use Node.js runtime instead of Bun')\n .option(\n '--path [path]',\n 'Path of the compiled Orionjs app. If not provided, the app will be compiled and then run',\n )\n .description('Run the Orionjs app in production mode')\n .action(run(prod))\n\nprogram\n .command('create')\n .description('Creates a new Orionjs project')\n .option('--name [name]', 'Name of the project')\n .option('--kit [kit]', 'Which starter kit to use')\n .action(run(create))\n\nprogram.command('info').description('Print runtime and version info').action(run(info))\n\nprogram\n .command('repl')\n .description('Evaluate an expression against a running Orionjs dev server')\n .requiredOption('-e, --expression <expression>', 'Expression to evaluate')\n .option('--port <port>', 'Port of the dev server (default: auto-detect from .orion/port)')\n .action(run(repl))\n\nprogram.version(version, '-v --version')\n\nprogram.parse(process.argv)\n\nif (!process.argv.slice(2).length) {\n program.outputHelp()\n}\n","import {exec} from 'node:child_process'\n\nexport default async function (command) {\n return new Promise((resolve, reject) => {\n exec(command, (error, stdout, stderr) => {\n if (error) {\n reject(error)\n } else {\n resolve({stdout, stderr})\n }\n })\n })\n}\n","import execute from '../helpers/execute'\n\nexport default async function ({name, kit}) {\n if (!name) {\n throw new Error('Please set the name of the app')\n }\n if (!kit) {\n throw new Error('Please select which kit to use')\n }\n const repo = `https://github.com/siturra/boilerplate-orionjs-${kit}`\n console.log('Downloading starter kit...')\n await execute(`git clone ${repo} ${name}`)\n await execute(`cd ${name} && rm -rf .git`)\n console.log('Your starter kit is ready')\n}\n","import chalk from 'chalk'\nimport {getRunner, RunnerOptions} from './runner'\nimport watchAndCompile from './watchAndCompile'\n\nexport default async function (options: RunnerOptions, command: any) {\n console.log(chalk.bold(`\\nOrionjs App ${chalk.green(chalk.bold('V4'))} Dev mode \\n`))\n\n const runner = getRunner(options, command)\n\n watchAndCompile(runner)\n}\n","import chalk from 'chalk'\nimport writeFile from '../../helpers/writeFile'\nimport {startProcess} from './startProcess'\n\nexport interface RunnerOptions {\n shell: boolean\n clean: boolean\n node: boolean\n repl: boolean\n}\n\nexport interface Runner {\n start: () => void\n restart: () => void\n stop: () => void\n}\n\nexport function getRunner(options: RunnerOptions, command: any): Runner {\n let appProcess = null\n\n if (options.clean) {\n console.log(chalk.bold('=> Cleaning directory...\\n'))\n }\n\n const startApp = () => {\n appProcess = startProcess(options, command)\n\n appProcess.on('exit', (code: number, signal: string) => {\n if (!code || code === 143 || code === 0 || signal === 'SIGTERM' || signal === 'SIGINT') {\n } else {\n console.log(chalk.bold(`=> Error running app. Exit code: ${code}`))\n }\n })\n\n writeFile('.orion/process', `${appProcess.pid}`)\n }\n\n const stop = () => {\n if (appProcess) {\n appProcess.kill()\n appProcess = null\n }\n }\n\n const restart = () => {\n console.log(chalk.bold('=> Restarting app...\\n'))\n stop()\n startApp()\n }\n\n const start = () => {\n // check if the app is already running\n if (appProcess) {\n // console.log(chalk.bold('=> App is already running. Restarting...\\n'))\n } else {\n startApp()\n }\n }\n\n return {\n restart,\n stop,\n start,\n }\n}\n","import fs from 'node:fs'\nimport ensureDirectory from '../helpers/ensureDirectory'\n\nexport default async function (path: string, content: string): Promise<void> {\n ensureDirectory(path)\n fs.writeFileSync(path, content)\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nconst ensureDirectory = filePath => {\n const dirname = path.dirname(filePath)\n if (fs.existsSync(dirname)) return true\n ensureDirectory(dirname)\n fs.mkdirSync(dirname)\n}\n\nexport default ensureDirectory\n","import {spawn} from 'node:child_process'\nimport chalk from 'chalk'\nimport {getArgs} from './getArgs'\nimport {RunnerOptions} from './index'\n\nexport function startProcess(options: RunnerOptions, command: any) {\n const {startCommand, args} = getArgs(options, command)\n\n console.log(chalk.bold(`=> Starting app with command: ${startCommand} ${args.join(' ')}...\\n`))\n return spawn(startCommand, args, {\n env: {\n ORION_DEV: 'local',\n ...process.env,\n ...(options.repl ? {ORION_REPL: 'true'} : {}),\n },\n cwd: process.cwd(),\n stdio: 'inherit',\n detached: false,\n })\n}\n","import {RunnerOptions} from './index'\n\nexport function getArgs(options: RunnerOptions, command: any) {\n if (options.node) {\n const startCommand = 'tsx'\n const args = ['watch', '--clear-screen=false', ...command.args, './app/index.ts']\n return {startCommand, args}\n }\n\n const startCommand = 'bun'\n const args = ['--watch', ...command.args, './app/index.ts']\n return {startCommand, args}\n}\n","import ts from 'typescript'\nimport {Runner} from '../runner'\nimport cleanDirectory from './cleanDirectory'\nimport {getHost} from './getHost'\nimport {watchEnvFile} from './writeEnvFile'\n\nexport default async function watchAndCompile(runner: Runner) {\n await cleanDirectory()\n const host = getHost(runner)\n ts.createWatchProgram(host)\n watchEnvFile(runner)\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\n\n/**\n * Remove directory recursively\n * @param {string} dir_path\n * @see https://stackoverflow.com/a/42505874/3027390\n */\nfunction rimraf(dir_path: string) {\n if (fs.existsSync(dir_path)) {\n fs.readdirSync(dir_path).map(entry => {\n const entry_path = path.join(dir_path, entry)\n if (fs.lstatSync(entry_path).isDirectory()) {\n rimraf(entry_path)\n } else {\n fs.unlinkSync(entry_path)\n }\n })\n fs.rmdirSync(dir_path)\n }\n}\n\nexport default async function cleanDirectory(directory?: string) {\n try {\n const dirPath = directory ? directory : path.join(process.cwd(), '.orion', 'build')\n rimraf(dirPath)\n } catch (_) {\n // Ignore errors during cleanup\n }\n}\n","import ts from 'typescript'\nimport {getConfigPath} from './getConfigPath'\nimport {reportDiagnostic} from './reports'\nimport {Runner} from '../runner'\nimport chalk from 'chalk'\n\nexport function getHost(runner: Runner) {\n let isStopped = true\n const reportWatchStatusChanged = (diagnostic: ts.Diagnostic) => {\n if (diagnostic.category !== 3) return\n if (diagnostic.code === 6031 || diagnostic.code === 6032) {\n // file change detected, starting compilation\n // console.log(chalk.bold(`=> ${diagnostic.messageText}`))\n return\n }\n\n if (diagnostic.code === 6193) {\n runner.stop()\n isStopped = true\n return\n }\n\n if (diagnostic.code === 6194) {\n /**\n * Sometimes diagnostic code is 6194 even with errors\n */\n if (/^Found .+ errors?/.test(diagnostic.messageText.toString())) {\n if (!diagnostic.messageText.toString().includes('Found 0 errors.')) {\n runner.stop()\n isStopped = true\n return\n }\n }\n\n if (isStopped) {\n isStopped = false\n runner.start()\n }\n return\n }\n\n console.log(chalk.bold(`=> ${diagnostic.messageText} [${diagnostic.code}]`))\n }\n\n const configPath = getConfigPath()\n const createProgram = ts.createEmitAndSemanticDiagnosticsBuilderProgram\n\n const host = ts.createWatchCompilerHost(\n configPath,\n {},\n ts.sys,\n createProgram,\n reportDiagnostic,\n reportWatchStatusChanged,\n )\n\n return host\n}\n","import ts from 'typescript'\nimport {ensureConfigComplies} from './ensureConfigComplies'\n\nexport function getConfigPath() {\n const appBasePath = process.cwd()\n\n const configPath =\n ts.findConfigFile(appBasePath, ts.sys.fileExists, 'tsconfig.server.json') ||\n ts.findConfigFile(appBasePath, ts.sys.fileExists, 'tsconfig.json')\n\n if (!configPath) {\n throw new Error(\"Could not find a valid 'tsconfig.json'.\")\n }\n\n ensureConfigComplies(configPath)\n\n return configPath\n}\n","import {parse, stringify} from 'comment-json'\nimport getFileContents from '../../helpers/getFileContents'\nimport writeFile from '../../helpers/writeFile'\n\n// Define TypeScript config interface\ninterface TSConfig {\n compilerOptions?: {\n baseUrl?: string\n rootDir?: string\n rootDirs?: string[]\n [key: string]: any\n }\n [key: string]: any\n}\n\nexport function ensureConfigComplies(configPath: string) {\n try {\n const configJSON = getFileContents(configPath)\n const config = parse(configJSON) as TSConfig\n\n const newConfig = {\n ...config,\n compilerOptions: {\n ...config.compilerOptions,\n baseUrl: './',\n noEmit: true,\n },\n }\n\n if (!config.compilerOptions?.rootDir && !config.compilerOptions?.rootDirs) {\n newConfig.compilerOptions.rootDir = './app'\n }\n\n // are the same, no write\n if (JSON.stringify(config) === JSON.stringify(newConfig)) {\n return\n }\n\n writeFile(configPath, stringify(newConfig, null, 2))\n } catch (error) {\n console.log(`Error reading tsconfig: ${error.message}`)\n }\n}\n","import fs from 'node:fs'\n\nexport default function readFile(filePath: string) {\n if (!fs.existsSync(filePath)) return null\n\n return fs.readFileSync(filePath).toString()\n}\n","import ts from 'typescript'\n\nconst format = {\n getCanonicalFileName: fileName => fileName,\n getCurrentDirectory: () => process.cwd(),\n getNewLine: () => ts.sys.newLine,\n}\nexport function reportDiagnostic(diagnostic: ts.Diagnostic) {\n console.log(ts.formatDiagnosticsWithColorAndContext([diagnostic], format))\n}\n","import {writeDtsFileFromConfigFile} from '@orion-js/env'\nimport chalk from 'chalk'\nimport chokidar from 'chokidar'\nimport {Runner} from '../runner'\n\nconst envFilePath = process.env.ORION_ENV_FILE_PATH\nconst dtsFilePath = './app/env.d.ts'\n\nexport const watchEnvFile = async (runner: Runner) => {\n if (!envFilePath) return\n\n writeDtsFileFromConfigFile(envFilePath, dtsFilePath)\n\n chokidar.watch(envFilePath, {ignoreInitial: true}).on('change', async () => {\n console.log(chalk.bold('=> Environment file changed. Restarting...'))\n writeDtsFileFromConfigFile(envFilePath, dtsFilePath)\n runner.restart()\n })\n}\n","import chalk from 'chalk'\nimport build from '../build'\nimport {runProd} from './runProd'\n\nexport interface ProdOptions {\n path?: string\n node?: boolean\n}\n\nexport default async function (options: ProdOptions, command: any) {\n console.log(chalk.bold(`\\nOrionjs App ${chalk.green(chalk.bold('V4'))} Prod mode\\n`))\n\n if (options.node) {\n if (!options.path) {\n await build({output: './build'})\n options.path = './build'\n }\n }\n\n runProd(options, command)\n}\n","import chalk from 'chalk'\nimport {build} from './build'\nimport cleanDirectory from '../dev/watchAndCompile/cleanDirectory'\nimport {checkTs} from './checkTs'\n\nexport default async function (options: {output?: string}) {\n console.log(chalk.bold(`Building Orionjs App ${chalk.green(chalk.bold('V4'))}...`))\n\n if (!options.output) {\n options.output = './build'\n }\n\n await cleanDirectory(options.output)\n\n await checkTs()\n await build(options)\n\n console.log(chalk.bold('Build completed'))\n}\n","import chalk from 'chalk'\nimport * as esbuild from 'esbuild'\n\nexport async function build(options: {output?: string}) {\n const {output} = options\n\n console.log(`Building with esbuild to ${output}`)\n\n await esbuild.build({\n entryPoints: ['./app/index.ts'],\n tsconfig: './tsconfig.json',\n format: 'esm',\n platform: 'node',\n outdir: output,\n bundle: true,\n target: 'node22',\n sourcemap: true,\n allowOverwrite: true,\n minify: true,\n packages: 'external',\n })\n\n console.log(chalk.green.bold('Build successful'))\n}\n","import chalk from 'chalk'\nimport {exec} from 'node:child_process'\nimport {promisify} from 'node:util'\n\nconst execPromise = promisify(exec)\n\nexport async function checkTs(): Promise<void> {\n try {\n console.log('Checking TypeScript...')\n await execPromise('tsc --noEmit', {\n cwd: process.cwd(),\n env: {\n ...process.env,\n },\n gid: process.getgid(),\n uid: process.getuid(),\n })\n console.log(chalk.green.bold('TypeScript check passed'))\n } catch (error) {\n console.log(chalk.red.bold('TypeScript compilation failed'))\n console.log(error.stderr || error.stdout || error.message)\n process.exit(1)\n }\n}\n","import {spawn} from 'node:child_process'\nimport {ProdOptions} from './index'\n\nexport function runProd(options: ProdOptions, command: any) {\n if (options.node) {\n const indexPath = `${options.path}/index.js`\n const args = ['--import=tsx', ...command.args, indexPath]\n spawn('node', args, {\n env: {\n NODE_ENV: 'production',\n ...process.env,\n },\n cwd: process.cwd(),\n stdio: 'inherit',\n gid: process.getgid(),\n uid: process.getuid(),\n detached: false,\n })\n return\n }\n\n const args = [...command.args, './app/index.ts']\n spawn('bun', args, {\n env: {\n NODE_ENV: 'production',\n ...process.env,\n },\n cwd: process.cwd(),\n stdio: 'inherit',\n gid: process.getgid(),\n uid: process.getuid(),\n detached: false,\n })\n}\n","import chalk from 'chalk'\n\ninterface ErrorWithCodeFrame extends Error {\n codeFrame?: string\n}\n\nprocess\n .on('unhandledRejection', (error: ErrorWithCodeFrame) => {\n if (error.codeFrame) {\n console.error(chalk.red(error.message))\n console.log(error.codeFrame)\n } else {\n console.error(chalk.red(error.message), chalk.red('Unhandled promise rejection'))\n }\n })\n .on('uncaughtException', (error: Error) => {\n console.error(chalk.red(error.message))\n process.exit(1)\n })\n","import {readFileSync} from 'node:fs'\nimport {dirname, resolve} from 'node:path'\nimport {fileURLToPath} from 'node:url'\n\nfunction getVersion(): string {\n try {\n const dir = dirname(fileURLToPath(import.meta.url))\n const pkgPath = resolve(dir, '..', 'package.json')\n const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'))\n return pkg.version\n } catch {\n return 'unknown'\n }\n}\n\nexport default getVersion()\n","import chalk from 'chalk'\nimport {checkTs} from './checkTs'\n\nexport default async function () {\n console.log(chalk.bold(`Orionjs App ${chalk.green(chalk.bold('V4'))}\\n`))\n console.log('Checking typescript...')\n\n checkTs()\n\n console.log(chalk.bold.green('Check passed\\n'))\n}\n","import chalk from 'chalk'\nimport {execSync} from 'node:child_process'\n\nexport function checkTs() {\n try {\n execSync('tsc --noEmit', {\n cwd: process.cwd(),\n env: {\n ...process.env,\n },\n gid: process.getgid(),\n uid: process.getuid(),\n stdio: 'inherit',\n })\n } catch {\n console.log(chalk.red.bold('TypeScript compilation failed'))\n process.exit(1)\n }\n}\n","import chalk from 'chalk'\nimport {execSync} from 'node:child_process'\nimport version from './version'\n\nfunction detectRuntime(): string {\n const runtimes: string[] = []\n\n try {\n const bunVersion = execSync('bun --version', {encoding: 'utf-8'}).trim()\n runtimes.push(`Bun ${bunVersion}`)\n } catch {}\n\n runtimes.push(`Node ${process.versions.node}`)\n\n return runtimes.join(', ')\n}\n\nexport default function info() {\n console.log(`Orion CLI v${version} — Available runtimes: ${chalk.bold(detectRuntime())}`)\n console.log(`Default runtime: ${chalk.bold('Bun')} (use --node flag to switch to Node.js)`)\n}\n","import {readFileSync} from 'node:fs'\nimport {resolve} from 'node:path'\nimport chalk from 'chalk'\n\nexport interface ReplOptions {\n expression?: string\n port?: string\n}\n\nfunction resolvePort(options: ReplOptions): number {\n if (options.port) {\n return Number(options.port)\n }\n\n try {\n const portFile = resolve(process.cwd(), '.orion/port')\n const port = readFileSync(portFile, 'utf-8').trim()\n return Number(port)\n } catch {}\n\n if (process.env.PORT) {\n return Number(process.env.PORT)\n }\n\n return 3000\n}\n\nexport default async function repl(options: ReplOptions) {\n const expression = options.expression\n\n if (!expression) {\n console.error(chalk.red('Error: expression is required. Use -e \"<expression>\"'))\n process.exit(1)\n }\n\n const port = resolvePort(options)\n\n try {\n const response = await fetch(`http://localhost:${port}/__repl`, {\n method: 'POST',\n headers: {'Content-Type': 'application/json'},\n body: JSON.stringify({expression}),\n })\n\n const data = await response.json()\n\n if (!data.success) {\n console.error(chalk.red(`Error: ${data.error}`))\n if (data.stack) {\n console.error(chalk.dim(data.stack))\n }\n process.exit(1)\n }\n\n if (data.result !== undefined) {\n console.log(\n typeof data.result === 'string' ? data.result : JSON.stringify(data.result, null, 2),\n )\n }\n } catch (error) {\n if (error.code === 'ECONNREFUSED' || error.cause?.code === 'ECONNREFUSED') {\n console.error(\n chalk.red(\n `Could not connect to dev server on port ${port}. Make sure \"orion dev --repl\" is running.`,\n ),\n )\n } else {\n console.error(chalk.red(`Error: ${error.message}`))\n }\n process.exit(1)\n }\n}\n"],"mappings":"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","names":["import_chalk","resolve","import_chalk","import_chalk","import_node_fs","dirname","path","fs","path","fs","import_node_child_process","startCommand","args","chalk","chalk","import_typescript","import_node_fs","import_node_path","fs","path","import_typescript","import_node_fs","fs","ts","import_typescript","ts","import_chalk","chalk","ts","import_chalk","chokidar","chalk","ts","chalk","import_chalk","import_chalk","import_chalk","build","chalk","import_chalk","import_node_child_process","chalk","chalk","build","import_node_child_process","args","chalk","import_chalk","chalk","import_node_fs","import_node_path","import_chalk","import_chalk","import_node_child_process","checkTs","chalk","chalk","checkTs","import_chalk","import_node_child_process","chalk","import_node_fs","import_node_path","import_chalk","chalk","chalk"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/helpers/execute.ts","../src/create/index.ts","../src/dev/index.ts","../src/dev/runner/index.ts","../src/helpers/writeFile.ts","../src/helpers/ensureDirectory.ts","../src/dev/runner/startProcess.ts","../src/dev/devBuildPath.ts","../src/dev/runner/getArgs.ts","../src/dev/watchAndCompile/cleanDirectory.ts","../src/dev/watchAndCompile/watchAndBundle.ts","../src/dev/watchAndCompile/watchAndTypecheck.ts","../src/dev/watchAndCompile/getConfigPath.ts","../src/dev/watchAndCompile/ensureConfigComplies.ts","../src/helpers/getFileContents.ts","../src/dev/watchAndCompile/writeEnvFile.ts","../src/dev/watchAndCompile/index.ts","../src/prod/index.ts","../src/build/index.ts","../src/build/build.ts","../src/build/checkTs.ts","../src/prod/runProd.ts","../src/handleErrors.ts","../src/version.ts","../src/check/index.ts","../src/check/checkTs.ts","../src/info.ts","../src/repl/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport chalk from 'chalk'\nimport {Command} from 'commander'\nimport create from './create'\nimport dev from './dev'\nimport prod from './prod'\nimport './handleErrors'\nimport version from './version'\nimport 'dotenv/config'\nimport build from './build'\nimport check from './check'\nimport info from './info'\nimport repl from './repl'\n\nconst program = new Command()\n\nconst run =\n action =>\n async (...args) => {\n try {\n await action(...args)\n } catch (e) {\n console.error(chalk.red(`Error: ${e.message}`))\n }\n }\n\nprogram\n .command('dev')\n .description('Run the Orionjs app in development mode')\n .option('--node', 'Use Node.js runtime instead of Bun')\n .option('--repl', 'Enable REPL endpoint for orion repl')\n .option('--no-typecheck', 'Disable continuous TypeScript diagnostics')\n .allowUnknownOption()\n .action(run(dev))\n\nprogram.command('check').description('Runs a typescript check').action(run(check))\n\nprogram\n .command('build')\n .description('Build the Orionjs app for production')\n .option('--output [path]', 'Path of the output file')\n .action(run(build))\n\nprogram\n .command('prod')\n .allowUnknownOption()\n .option('--node', 'Use Node.js runtime instead of Bun')\n .option(\n '--path [path]',\n 'Path of the compiled Orionjs app. If not provided, the app will be compiled and then run',\n )\n .description('Run the Orionjs app in production mode')\n .action(run(prod))\n\nprogram\n .command('create')\n .description('Creates a new Orionjs project')\n .option('--name [name]', 'Name of the project')\n .option('--kit [kit]', 'Which starter kit to use')\n .action(run(create))\n\nprogram.command('info').description('Print runtime and version info').action(run(info))\n\nprogram\n .command('repl')\n .description('Evaluate an expression against a running Orionjs dev server')\n .requiredOption('-e, --expression <expression>', 'Expression to evaluate')\n .option('--port <port>', 'Port of the dev server (default: auto-detect from .orion/port)')\n .action(run(repl))\n\nprogram.version(version, '-v --version')\n\nprogram.parse(process.argv)\n\nif (!process.argv.slice(2).length) {\n program.outputHelp()\n}\n","import {exec} from 'node:child_process'\n\nexport default async function (command) {\n return new Promise((resolve, reject) => {\n exec(command, (error, stdout, stderr) => {\n if (error) {\n reject(error)\n } else {\n resolve({stdout, stderr})\n }\n })\n })\n}\n","import execute from '../helpers/execute'\n\nexport default async function ({name, kit}) {\n if (!name) {\n throw new Error('Please set the name of the app')\n }\n if (!kit) {\n throw new Error('Please select which kit to use')\n }\n const repo = `https://github.com/siturra/boilerplate-orionjs-${kit}`\n console.log('Downloading starter kit...')\n await execute(`git clone ${repo} ${name}`)\n await execute(`cd ${name} && rm -rf .git`)\n console.log('Your starter kit is ready')\n}\n","import chalk from 'chalk'\nimport {getRunner, RunnerOptions} from './runner'\nimport watchAndCompile from './watchAndCompile'\n\nexport default async function (options: RunnerOptions, command: any) {\n console.log(chalk.bold(`\\nOrionjs App ${chalk.green(chalk.bold('V4'))} Dev mode \\n`))\n\n const runner = getRunner(options, command)\n\n await watchAndCompile(runner, options)\n}\n","import chalk from 'chalk'\nimport writeFile from '../../helpers/writeFile'\nimport {startProcess} from './startProcess'\n\nexport interface RunnerOptions {\n shell: boolean\n clean: boolean\n node: boolean\n repl: boolean\n typecheck: boolean\n}\n\nexport interface Runner {\n start: () => void\n restart: () => void\n stop: () => void\n}\n\nexport function getRunner(options: RunnerOptions, command: any): Runner {\n let appProcess = null\n\n if (options.clean) {\n console.log(chalk.bold('=> Cleaning directory...\\n'))\n }\n\n const startApp = () => {\n const startedProcess = startProcess(options, command)\n appProcess = startedProcess\n\n startedProcess.on('exit', (code: number, signal: string) => {\n // An exited child must not make `start()` believe the application is\n // still alive. Compare identities because an older child can emit its\n // exit event after a replacement process has already been assigned.\n if (appProcess === startedProcess) appProcess = null\n\n if (!code || code === 143 || code === 0 || signal === 'SIGTERM' || signal === 'SIGINT') {\n } else {\n console.log(chalk.bold(`=> Error running app. Exit code: ${code}`))\n }\n })\n\n writeFile('.orion/process', `${startedProcess.pid}`)\n }\n\n const stop = () => {\n if (appProcess) {\n appProcess.kill()\n appProcess = null\n }\n }\n\n const restart = () => {\n console.log(chalk.bold('=> Restarting app...\\n'))\n stop()\n startApp()\n }\n\n const start = () => {\n // check if the app is already running\n if (appProcess) {\n // console.log(chalk.bold('=> App is already running. Restarting...\\n'))\n } else {\n startApp()\n }\n }\n\n return {\n restart,\n stop,\n start,\n }\n}\n","import fs from 'node:fs'\nimport ensureDirectory from '../helpers/ensureDirectory'\n\nexport default async function (path: string, content: string): Promise<void> {\n ensureDirectory(path)\n fs.writeFileSync(path, content)\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\n\nconst ensureDirectory = filePath => {\n const dirname = path.dirname(filePath)\n if (fs.existsSync(dirname)) return true\n ensureDirectory(dirname)\n fs.mkdirSync(dirname)\n}\n\nexport default ensureDirectory\n","import {spawn} from 'node:child_process'\nimport chalk from 'chalk'\nimport {getArgs} from './getArgs'\nimport {RunnerOptions} from './index'\n\nexport function startProcess(options: RunnerOptions, command: any) {\n const {startCommand, args} = getArgs(options, command)\n\n console.log(chalk.bold(`=> Starting app with command: ${startCommand} ${args.join(' ')}...\\n`))\n return spawn(startCommand, args, {\n env: {\n ORION_DEV: 'local',\n ...process.env,\n ...(options.repl ? {ORION_REPL: 'true'} : {}),\n },\n cwd: process.cwd(),\n stdio: 'inherit',\n detached: false,\n })\n}\n","export const devBuildPath = './.orion/build/index.js'\n","import {devBuildPath} from '../devBuildPath'\nimport {RunnerOptions} from './index'\n\nexport function getArgs(options: RunnerOptions, command: any) {\n if (options.node) {\n const startCommand = 'node'\n const args = ['--enable-source-maps', ...command.args, devBuildPath]\n return {startCommand, args}\n }\n\n const startCommand = 'bun'\n const args = ['--watch', ...command.args, devBuildPath]\n return {startCommand, args}\n}\n","import fs from 'node:fs'\nimport path from 'node:path'\n\n/**\n * Remove directory recursively\n * @param {string} dir_path\n * @see https://stackoverflow.com/a/42505874/3027390\n */\nfunction rimraf(dir_path: string) {\n if (fs.existsSync(dir_path)) {\n fs.readdirSync(dir_path).map(entry => {\n const entry_path = path.join(dir_path, entry)\n if (fs.lstatSync(entry_path).isDirectory()) {\n rimraf(entry_path)\n } else {\n fs.unlinkSync(entry_path)\n }\n })\n fs.rmdirSync(dir_path)\n }\n}\n\nexport default async function cleanDirectory(directory?: string) {\n try {\n const dirPath = directory ? directory : path.join(process.cwd(), '.orion', 'build')\n rimraf(dirPath)\n } catch (_) {\n // Ignore errors during cleanup\n }\n}\n","import {readFileSync} from 'node:fs'\nimport {createRequire} from 'node:module'\nimport {extname, join} from 'node:path'\nimport chokidar from 'chokidar'\nimport * as esbuild from 'esbuild'\nimport {devBuildPath} from '../devBuildPath'\nimport type {Runner, RunnerOptions} from '../runner'\n\nfunction getPackageName(specifier: string) {\n const segments = specifier.split('/')\n return specifier.startsWith('@') ? segments.slice(0, 2).join('/') : segments[0]\n}\n\n/**\n * Keep dependencies external while making source imports valid in plain Node\n * ESM. tsx accepts extensionless package subpaths and JSON imports, but Node\n * requires explicit extensions and JSON attributes.\n */\nfunction nodeExternalCompatibilityPlugin(): esbuild.Plugin {\n const requireFromApp = createRequire(join(process.cwd(), 'package.json'))\n\n return {\n name: 'orion-node-external-compatibility',\n setup(build) {\n build.onResolve({filter: /^[^./].*\\.json$/}, args => {\n try {\n return {path: requireFromApp.resolve(args.path)}\n } catch {\n return undefined\n }\n })\n\n build.onResolve({filter: /^[^./]/}, args => {\n const packageName = getPackageName(args.path)\n if (args.path === packageName || extname(args.path)) return undefined\n\n try {\n const packageJsonPath = requireFromApp.resolve(`${packageName}/package.json`)\n const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8')) as {\n exports?: unknown\n }\n if (packageJson.exports) return undefined\n\n const resolvedExtension = extname(requireFromApp.resolve(args.path))\n if (!resolvedExtension) return undefined\n\n return {path: `${args.path}${resolvedExtension}`, external: true}\n } catch {\n return undefined\n }\n })\n },\n }\n}\n\n/**\n * Bundle application code once and rebuild it incrementally on edits.\n *\n * Running the bundle avoids making Node transform every TypeScript module on\n * every restart. Dependencies remain external so their native Node behavior\n * stays identical to a production build.\n */\nexport async function watchAndBundle(\n runner: Runner,\n options: RunnerOptions,\n onFilesChanged?: () => void,\n) {\n let hasSuccessfulBuild = false\n let buildStartedAt = Date.now()\n let rebuildInProgress = false\n let rebuildRequested = false\n let rebuildTimer: NodeJS.Timeout | undefined\n\n const context = await esbuild.context({\n entryPoints: ['./app/index.ts'],\n outfile: devBuildPath,\n tsconfig: './tsconfig.json',\n format: 'esm',\n platform: 'node',\n bundle: true,\n target: 'node22',\n sourcemap: true,\n packages: 'external',\n plugins: [\n nodeExternalCompatibilityPlugin(),\n {\n name: 'orion-dev-restart',\n setup(build) {\n build.onStart(() => {\n buildStartedAt = Date.now()\n })\n\n build.onEnd(result => {\n if (result.errors.length > 0) {\n // Serving the previous bundle hides the broken save from the\n // browser. Stop it so the normal dev error state is visible,\n // then let the next successful build recover automatically.\n runner.stop()\n return\n }\n\n console.log(`=> Application bundled in ${Date.now() - buildStartedAt}ms`)\n\n if (hasSuccessfulBuild && options.node) {\n runner.restart()\n } else if (!hasSuccessfulBuild) {\n hasSuccessfulBuild = true\n runner.start()\n } else {\n // Bun normally reloads itself after the bundle changes. It may\n // instead be stopped after a build/type error and need recovery.\n runner.start()\n }\n })\n },\n },\n ],\n })\n\n const rebuild = async () => {\n if (rebuildInProgress) {\n rebuildRequested = true\n return\n }\n\n rebuildInProgress = true\n do {\n rebuildRequested = false\n try {\n await context.rebuild()\n } catch {\n // esbuild already prints diagnostics. Keep watching so the next edit\n // can recover without restarting the Orion CLI.\n }\n } while (rebuildRequested)\n rebuildInProgress = false\n }\n\n await rebuild()\n\n const watcher = chokidar.watch(['./app', './tsconfig.json'], {ignoreInitial: true})\n watcher.on('all', () => {\n onFilesChanged?.()\n clearTimeout(rebuildTimer)\n rebuildTimer = setTimeout(rebuild, 20)\n })\n watcher.on('error', error => console.error(`Unable to watch application files: ${error.message}`))\n\n return {context, watcher}\n}\n","import {spawn} from 'node:child_process'\nimport type {Runner} from '../runner'\nimport {getConfigPath} from './getConfigPath'\n\n/**\n * Create a serialized, on-demand TypeScript checker.\n *\n * `tsc --watch` creates a second filesystem watcher for the entire project and\n * can stall when the operating system is already watching many worktrees. A\n * one-off check is both faster and sufficient because the bundle watcher calls\n * this function after every source change. Changes received during an active\n * check collapse into one fresh check, so stale diagnostics never stop the app.\n */\nexport function watchAndTypecheck(runner: Runner) {\n const configPath = getConfigPath()\n let checkInProgress = false\n let checkRequested = false\n\n const runCheck = () => {\n if (checkInProgress) {\n checkRequested = true\n return\n }\n\n checkInProgress = true\n const startedAt = Date.now()\n const checker = spawn('tsc', ['--noEmit', '--project', configPath], {\n env: process.env,\n stdio: ['ignore', 'pipe', 'pipe'],\n })\n let output = ''\n let spawnError: Error | undefined\n\n checker.stdout.on('data', chunk => {\n output += chunk.toString()\n })\n checker.stderr.on('data', chunk => {\n output += chunk.toString()\n })\n checker.on('error', error => {\n spawnError = error\n })\n\n checker.on('close', code => {\n checkInProgress = false\n\n // A newer save makes this result stale. Check the latest project state\n // before changing the running application's state or printing errors.\n if (checkRequested) {\n checkRequested = false\n runCheck()\n return\n }\n\n if (spawnError) {\n runner.stop()\n console.error(`Unable to run TypeScript: ${spawnError.message}`)\n return\n }\n\n const duration = Date.now() - startedAt\n if (code === 0) {\n console.log(`=> TypeScript checked in ${duration}ms`)\n runner.start()\n return\n }\n\n if (output.trim()) console.error(output.trimEnd())\n console.error(`=> TypeScript found errors in ${duration}ms`)\n runner.stop()\n })\n }\n\n return runCheck\n}\n","import {existsSync} from 'node:fs'\nimport {dirname, join} from 'node:path'\nimport {ensureConfigComplies} from './ensureConfigComplies'\n\nfunction findConfigFile(startDirectory: string, fileName: string): string | undefined {\n let directory = startDirectory\n\n while (true) {\n const candidate = join(directory, fileName)\n if (existsSync(candidate)) return candidate\n\n const parent = dirname(directory)\n if (parent === directory) return undefined\n directory = parent\n }\n}\n\nexport function getConfigPath() {\n const appBasePath = process.cwd()\n\n const configPath =\n findConfigFile(appBasePath, 'tsconfig.server.json') ||\n findConfigFile(appBasePath, 'tsconfig.json')\n\n if (!configPath) {\n throw new Error(\"Could not find a valid 'tsconfig.json'.\")\n }\n\n ensureConfigComplies(configPath)\n\n return configPath\n}\n","import {parse, stringify} from 'comment-json'\nimport getFileContents from '../../helpers/getFileContents'\nimport writeFile from '../../helpers/writeFile'\n\n// Define TypeScript config interface\ninterface TSConfig {\n compilerOptions?: {\n paths?: Record<string, string[]>\n rootDir?: string\n rootDirs?: string[]\n [key: string]: any\n }\n [key: string]: any\n}\n\nexport function ensureConfigComplies(configPath: string) {\n try {\n const configJSON = getFileContents(configPath)\n const config = parse(configJSON) as TSConfig\n const {baseUrl: _baseUrl, ...compilerOptions} = config.compilerOptions ?? {}\n\n const newConfig = {\n ...config,\n compilerOptions: {\n ...compilerOptions,\n paths: {\n '*': ['./*'],\n ...compilerOptions.paths,\n },\n noEmit: true,\n },\n }\n\n if (!config.compilerOptions?.rootDir && !config.compilerOptions?.rootDirs) {\n newConfig.compilerOptions.rootDir = './app'\n }\n\n // are the same, no write\n if (JSON.stringify(config) === JSON.stringify(newConfig)) {\n return\n }\n\n writeFile(configPath, stringify(newConfig, null, 2))\n } catch (error) {\n console.log(`Error reading tsconfig: ${error.message}`)\n }\n}\n","import fs from 'node:fs'\n\nexport default function readFile(filePath: string) {\n if (!fs.existsSync(filePath)) return null\n\n return fs.readFileSync(filePath).toString()\n}\n","import {writeDtsFileFromConfigFile} from '@orion-js/env'\nimport chalk from 'chalk'\nimport chokidar from 'chokidar'\nimport {Runner} from '../runner'\n\nconst envFilePath = process.env.ORION_ENV_FILE_PATH\nconst dtsFilePath = './app/env.d.ts'\n\nexport const watchEnvFile = async (runner: Runner) => {\n if (!envFilePath) return\n\n writeDtsFileFromConfigFile(envFilePath, dtsFilePath)\n\n chokidar.watch(envFilePath, {ignoreInitial: true}).on('change', async () => {\n console.log(chalk.bold('=> Environment file changed. Restarting...'))\n writeDtsFileFromConfigFile(envFilePath, dtsFilePath)\n runner.restart()\n })\n}\n","import {Runner, RunnerOptions} from '../runner'\nimport cleanDirectory from './cleanDirectory'\nimport {watchAndBundle} from './watchAndBundle'\nimport {watchAndTypecheck} from './watchAndTypecheck'\nimport {watchEnvFile} from './writeEnvFile'\n\nexport default async function watchAndCompile(runner: Runner, options: RunnerOptions) {\n await cleanDirectory()\n const requestTypecheck = options.typecheck ? watchAndTypecheck(runner) : undefined\n await watchAndBundle(runner, options, requestTypecheck)\n requestTypecheck?.()\n watchEnvFile(runner)\n}\n","import chalk from 'chalk'\nimport build from '../build'\nimport {runProd} from './runProd'\n\nexport interface ProdOptions {\n path?: string\n node?: boolean\n}\n\nexport default async function (options: ProdOptions, command: any) {\n console.log(chalk.bold(`\\nOrionjs App ${chalk.green(chalk.bold('V4'))} Prod mode\\n`))\n\n if (options.node) {\n if (!options.path) {\n await build({output: './build'})\n options.path = './build'\n }\n }\n\n runProd(options, command)\n}\n","import chalk from 'chalk'\nimport {build} from './build'\nimport cleanDirectory from '../dev/watchAndCompile/cleanDirectory'\nimport {checkTs} from './checkTs'\n\nexport default async function (options: {output?: string}) {\n console.log(chalk.bold(`Building Orionjs App ${chalk.green(chalk.bold('V4'))}...`))\n\n if (!options.output) {\n options.output = './build'\n }\n\n await cleanDirectory(options.output)\n\n await checkTs()\n await build(options)\n\n console.log(chalk.bold('Build completed'))\n}\n","import chalk from 'chalk'\nimport * as esbuild from 'esbuild'\n\nexport async function build(options: {output?: string}) {\n const {output} = options\n\n console.log(`Building with esbuild to ${output}`)\n\n await esbuild.build({\n entryPoints: ['./app/index.ts'],\n tsconfig: './tsconfig.json',\n format: 'esm',\n platform: 'node',\n outdir: output,\n bundle: true,\n target: 'node22',\n sourcemap: true,\n allowOverwrite: true,\n minify: true,\n packages: 'external',\n })\n\n console.log(chalk.green.bold('Build successful'))\n}\n","import chalk from 'chalk'\nimport {exec} from 'node:child_process'\nimport {promisify} from 'node:util'\n\nconst execPromise = promisify(exec)\n\nexport async function checkTs(): Promise<void> {\n try {\n console.log('Checking TypeScript...')\n await execPromise('tsc --noEmit', {\n cwd: process.cwd(),\n env: {\n ...process.env,\n },\n gid: process.getgid(),\n uid: process.getuid(),\n })\n console.log(chalk.green.bold('TypeScript check passed'))\n } catch (error) {\n console.log(chalk.red.bold('TypeScript compilation failed'))\n console.log(error.stderr || error.stdout || error.message)\n process.exit(1)\n }\n}\n","import {spawn} from 'node:child_process'\nimport {ProdOptions} from './index'\n\nexport function runProd(options: ProdOptions, command: any) {\n if (options.node) {\n const indexPath = `${options.path}/index.js`\n const args = ['--import=tsx', ...command.args, indexPath]\n spawn('node', args, {\n env: {\n NODE_ENV: 'production',\n ...process.env,\n },\n cwd: process.cwd(),\n stdio: 'inherit',\n gid: process.getgid(),\n uid: process.getuid(),\n detached: false,\n })\n return\n }\n\n const args = [...command.args, './app/index.ts']\n spawn('bun', args, {\n env: {\n NODE_ENV: 'production',\n ...process.env,\n },\n cwd: process.cwd(),\n stdio: 'inherit',\n gid: process.getgid(),\n uid: process.getuid(),\n detached: false,\n })\n}\n","import chalk from 'chalk'\n\ninterface ErrorWithCodeFrame extends Error {\n codeFrame?: string\n}\n\nprocess\n .on('unhandledRejection', (error: ErrorWithCodeFrame) => {\n if (error.codeFrame) {\n console.error(chalk.red(error.message))\n console.log(error.codeFrame)\n } else {\n console.error(chalk.red(error.message), chalk.red('Unhandled promise rejection'))\n }\n })\n .on('uncaughtException', (error: Error) => {\n console.error(chalk.red(error.message))\n process.exit(1)\n })\n","import {readFileSync} from 'node:fs'\nimport {dirname, resolve} from 'node:path'\nimport {fileURLToPath} from 'node:url'\n\nfunction getVersion(): string {\n try {\n const dir = dirname(fileURLToPath(import.meta.url))\n const pkgPath = resolve(dir, '..', 'package.json')\n const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'))\n return pkg.version\n } catch {\n return 'unknown'\n }\n}\n\nexport default getVersion()\n","import chalk from 'chalk'\nimport {checkTs} from './checkTs'\n\nexport default async function () {\n console.log(chalk.bold(`Orionjs App ${chalk.green(chalk.bold('V4'))}\\n`))\n console.log('Checking typescript...')\n\n checkTs()\n\n console.log(chalk.bold.green('Check passed\\n'))\n}\n","import chalk from 'chalk'\nimport {execSync} from 'node:child_process'\n\nexport function checkTs() {\n try {\n execSync('tsc --noEmit', {\n cwd: process.cwd(),\n env: {\n ...process.env,\n },\n gid: process.getgid(),\n uid: process.getuid(),\n stdio: 'inherit',\n })\n } catch {\n console.log(chalk.red.bold('TypeScript compilation failed'))\n process.exit(1)\n }\n}\n","import chalk from 'chalk'\nimport {execSync} from 'node:child_process'\nimport version from './version'\n\nfunction detectRuntime(): string {\n const runtimes: string[] = []\n\n try {\n const bunVersion = execSync('bun --version', {encoding: 'utf-8'}).trim()\n runtimes.push(`Bun ${bunVersion}`)\n } catch {}\n\n runtimes.push(`Node ${process.versions.node}`)\n\n return runtimes.join(', ')\n}\n\nexport default function info() {\n console.log(`Orion CLI v${version} — Available runtimes: ${chalk.bold(detectRuntime())}`)\n console.log(`Default runtime: ${chalk.bold('Bun')} (use --node flag to switch to Node.js)`)\n}\n","import {readFileSync} from 'node:fs'\nimport {resolve} from 'node:path'\nimport chalk from 'chalk'\n\nexport interface ReplOptions {\n expression?: string\n port?: string\n}\n\ninterface ReplResponse {\n success: boolean\n error?: string\n stack?: string\n result?: unknown\n}\n\nfunction resolvePort(options: ReplOptions): number {\n if (options.port) {\n return Number(options.port)\n }\n\n try {\n const portFile = resolve(process.cwd(), '.orion/port')\n const port = readFileSync(portFile, 'utf-8').trim()\n return Number(port)\n } catch {}\n\n if (process.env.PORT) {\n return Number(process.env.PORT)\n }\n\n return 3000\n}\n\nexport default async function repl(options: ReplOptions) {\n const expression = options.expression\n\n if (!expression) {\n console.error(chalk.red('Error: expression is required. Use -e \"<expression>\"'))\n process.exit(1)\n }\n\n const port = resolvePort(options)\n\n try {\n const response = await fetch(`http://localhost:${port}/__repl`, {\n method: 'POST',\n headers: {'Content-Type': 'application/json'},\n body: JSON.stringify({expression}),\n })\n\n const data = (await response.json()) as ReplResponse\n\n if (!data.success) {\n console.error(chalk.red(`Error: ${data.error}`))\n if (data.stack) {\n console.error(chalk.dim(data.stack))\n }\n process.exit(1)\n }\n\n if (data.result !== undefined) {\n console.log(\n typeof data.result === 'string' ? data.result : JSON.stringify(data.result, null, 2),\n )\n }\n } catch (error) {\n const nodeError = error as Error & {code?: string; cause?: {code?: string}}\n if (nodeError.code === 'ECONNREFUSED' || nodeError.cause?.code === 'ECONNREFUSED') {\n console.error(\n chalk.red(\n `Could not connect to dev server on port ${port}. Make sure \"orion dev --repl\" is running.`,\n ),\n )\n } else {\n console.error(chalk.red(`Error: ${nodeError.message}`))\n }\n process.exit(1)\n }\n}\n"],"mappings":"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","names":["import_chalk","resolve","import_chalk","import_chalk","import_node_fs","dirname","path","fs","path","fs","import_node_child_process","startCommand","args","chalk","chalk","import_node_fs","import_node_path","fs","path","import_node_fs","import_node_path","build","context","chokidar","import_node_child_process","import_node_fs","import_node_path","import_node_fs","fs","import_chalk","import_chokidar","chokidar","chalk","chalk","import_chalk","import_chalk","import_chalk","esbuild","build","chalk","import_chalk","import_node_child_process","chalk","chalk","build","import_node_child_process","args","chalk","import_chalk","chalk","import_node_fs","import_node_path","import_chalk","import_chalk","import_node_child_process","checkTs","chalk","chalk","checkTs","import_chalk","import_node_child_process","chalk","import_node_fs","import_node_path","import_chalk","chalk","chalk"]}
|
package/dist/index.d.ts
CHANGED