153b4c0b0SEvan Bacon#!/usr/bin/env node 253b4c0b0SEvan Baconimport chalk from 'chalk'; 353b4c0b0SEvan Bacon 453b4c0b0SEvan Baconimport { Command } from '../../../bin/cli'; 553b4c0b0SEvan Baconimport { assertArgs, getProjectRoot, printHelp } from '../../utils/args'; 653b4c0b0SEvan Baconimport { logCmdError } from '../../utils/errors'; 753b4c0b0SEvan Bacon 853b4c0b0SEvan Baconexport const expoExportWeb: Command = async (argv) => { 953b4c0b0SEvan Bacon const args = assertArgs( 1053b4c0b0SEvan Bacon { 1153b4c0b0SEvan Bacon // Types 1253b4c0b0SEvan Bacon '--help': Boolean, 1353b4c0b0SEvan Bacon '--clear': Boolean, 1453b4c0b0SEvan Bacon '--dev': Boolean, 1553b4c0b0SEvan Bacon // Aliases 1653b4c0b0SEvan Bacon '-h': '--help', 1753b4c0b0SEvan Bacon '-c': '--clear', 1853b4c0b0SEvan Bacon }, 1953b4c0b0SEvan Bacon argv 2053b4c0b0SEvan Bacon ); 2153b4c0b0SEvan Bacon 2253b4c0b0SEvan Bacon if (args['--help']) { 2353b4c0b0SEvan Bacon printHelp( 2453b4c0b0SEvan Bacon `Export the static files of the web app for hosting on a web server`, 2553b4c0b0SEvan Bacon chalk`npx expo export:web {dim <dir>}`, 2653b4c0b0SEvan Bacon [ 2753b4c0b0SEvan Bacon chalk`<dir> Directory of the Expo project. {dim Default: Current working directory}`, 2853b4c0b0SEvan Bacon `--dev Bundle in development mode`, 2953b4c0b0SEvan Bacon `-c, --clear Clear the bundler cache`, 3053b4c0b0SEvan Bacon `-h, --help Usage info`, 3153b4c0b0SEvan Bacon ].join('\n') 3253b4c0b0SEvan Bacon ); 3353b4c0b0SEvan Bacon } 3453b4c0b0SEvan Bacon 3553b4c0b0SEvan Bacon const projectRoot = getProjectRoot(args); 36*1a3a1db5SEvan Bacon const { resolveOptionsAsync } = await import('./resolveOptions.js'); 3753b4c0b0SEvan Bacon const options = await resolveOptionsAsync(args).catch(logCmdError); 3853b4c0b0SEvan Bacon 39*1a3a1db5SEvan Bacon const { exportWebAsync } = await import('./exportWebAsync.js'); 4053b4c0b0SEvan Bacon return exportWebAsync(projectRoot, options).catch(logCmdError); 4153b4c0b0SEvan Bacon}; 42