1 | #!/usr/bin/env node
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | require('@babel/register')({
|
11 | babelrc: false,
|
12 | only: [__dirname, `${process.cwd()}/core`],
|
13 | plugins: [
|
14 | require('./server/translate-plugin.js'),
|
15 | require('@babel/plugin-proposal-class-properties').default,
|
16 | require('@babel/plugin-proposal-object-rest-spread').default,
|
17 | ],
|
18 | presets: [
|
19 | require('@babel/preset-react').default,
|
20 | require('@babel/preset-env').default,
|
21 | ],
|
22 | });
|
23 |
|
24 | const chalk = require('chalk');
|
25 | const fs = require('fs');
|
26 | const program = require('commander');
|
27 |
|
28 | const CWD = process.cwd();
|
29 | const env = require('./server/env.js');
|
30 |
|
31 | const {startDocusaurus} = require('./server/start.js');
|
32 |
|
33 | if (!fs.existsSync(`${CWD}/siteConfig.js`)) {
|
34 | console.error(
|
35 | chalk.red('Error: No siteConfig.js file found in website folder!'),
|
36 | );
|
37 | process.exit(1);
|
38 | }
|
39 |
|
40 | if (env.versioning.enabled && env.versioning.missingVersionsPage) {
|
41 | env.versioning.printMissingVersionsPageError();
|
42 | process.exit(1);
|
43 | }
|
44 |
|
45 | program
|
46 | .option('--port <number>', 'Specify port number')
|
47 | .option('--no-watch', 'Toggle live reload file watching')
|
48 | .option('--host <host>', 'use specified host (default: localhost)')
|
49 | .parse(process.argv);
|
50 |
|
51 | startDocusaurus().catch(ex => {
|
52 | console.error(chalk.red(`Failed to start Docusaurus server: ${ex}`));
|
53 | process.exit(1);
|
54 | });
|