mirror of
https://github.com/facebook/docusaurus.git
synced 2025-04-30 18:58:36 +02:00
refactor: make JS executables included in the tsconfig for editor hints (#6861)
* refactor: make JS executables included in the tsconfig for editor hints * oops
This commit is contained in:
parent
a6e72192fa
commit
44d73f7230
11 changed files with 94 additions and 64 deletions
|
@ -13,8 +13,8 @@
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"create-docusaurus": "create-docusaurus",
|
"create-docusaurus": "create-docusaurus",
|
||||||
"build": "tsc",
|
"build": "tsc -p tsconfig.build.json",
|
||||||
"watch": "tsc --watch"
|
"watch": "tsc -p tsconfig.build.json --watch"
|
||||||
},
|
},
|
||||||
"bin": "bin/index.js",
|
"bin": "bin/index.js",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
|
|
12
packages/create-docusaurus/tsconfig.build.json
Normal file
12
packages/create-docusaurus/tsconfig.build.json
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"extends": "../../tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"module": "es2020",
|
||||||
|
"incremental": true,
|
||||||
|
"tsBuildInfoFile": "./lib/.tsbuildinfo",
|
||||||
|
"rootDir": "src",
|
||||||
|
"outDir": "lib"
|
||||||
|
},
|
||||||
|
"include": ["src/"],
|
||||||
|
"exclude": ["templates/"]
|
||||||
|
}
|
|
@ -1,12 +1,10 @@
|
||||||
|
// For editor typechecking; includes bin
|
||||||
{
|
{
|
||||||
"extends": "../../tsconfig.json",
|
"extends": "./tsconfig.build.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"module": "es2020",
|
"noEmit": true,
|
||||||
"incremental": true,
|
"allowJs": true,
|
||||||
"tsBuildInfoFile": "./lib/.tsbuildinfo",
|
"rootDir": "."
|
||||||
"rootDir": "src",
|
|
||||||
"outDir": "lib"
|
|
||||||
},
|
},
|
||||||
"include": ["src/"],
|
"include": ["src", "bin"]
|
||||||
"exclude": ["templates/"]
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,18 +13,9 @@ import semver from 'semver';
|
||||||
import cli from 'commander';
|
import cli from 'commander';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import {createRequire} from 'module';
|
import {createRequire} from 'module';
|
||||||
import {migrateDocusaurusProject, migrateMDToMDX} from '../lib/index.js';
|
|
||||||
|
|
||||||
const requiredVersion = createRequire(import.meta.url)('../package.json')
|
const moduleRequire = createRequire(import.meta.url);
|
||||||
.engines.node;
|
const requiredVersion = moduleRequire('../package.json').engines.node;
|
||||||
|
|
||||||
function wrapCommand(fn) {
|
|
||||||
return (...args) =>
|
|
||||||
fn(...args).catch((err) => {
|
|
||||||
logger.error(err.stack);
|
|
||||||
process.exitCode = 1;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!semver.satisfies(process.version, requiredVersion)) {
|
if (!semver.satisfies(process.version, requiredVersion)) {
|
||||||
logger.error('Minimum Node.js version not met :(');
|
logger.error('Minimum Node.js version not met :(');
|
||||||
|
@ -32,6 +23,10 @@ if (!semver.satisfies(process.version, requiredVersion)) {
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// See https://github.com/facebook/docusaurus/pull/6860
|
||||||
|
const {migrateDocusaurusProject, migrateMDToMDX} =
|
||||||
|
moduleRequire('../lib/index.js');
|
||||||
|
|
||||||
cli
|
cli
|
||||||
.command('migrate [siteDir] [newDir]')
|
.command('migrate [siteDir] [newDir]')
|
||||||
.option('--mdx', 'try to migrate MD to MDX too')
|
.option('--mdx', 'try to migrate MD to MDX too')
|
||||||
|
@ -40,7 +35,7 @@ cli
|
||||||
.action((siteDir = '.', newDir = '.', {mdx, page} = {}) => {
|
.action((siteDir = '.', newDir = '.', {mdx, page} = {}) => {
|
||||||
const sitePath = path.resolve(siteDir);
|
const sitePath = path.resolve(siteDir);
|
||||||
const newSitePath = path.resolve(newDir);
|
const newSitePath = path.resolve(newDir);
|
||||||
wrapCommand(migrateDocusaurusProject)(sitePath, newSitePath, mdx, page);
|
migrateDocusaurusProject(sitePath, newSitePath, mdx, page);
|
||||||
});
|
});
|
||||||
|
|
||||||
cli
|
cli
|
||||||
|
@ -49,7 +44,7 @@ cli
|
||||||
.action((siteDir = '.', newDir = '.') => {
|
.action((siteDir = '.', newDir = '.') => {
|
||||||
const sitePath = path.resolve(siteDir);
|
const sitePath = path.resolve(siteDir);
|
||||||
const newSitePath = path.resolve(newDir);
|
const newSitePath = path.resolve(newDir);
|
||||||
wrapCommand(migrateMDToMDX)(sitePath, newSitePath);
|
migrateMDToMDX(sitePath, newSitePath);
|
||||||
});
|
});
|
||||||
|
|
||||||
cli.parse(process.argv);
|
cli.parse(process.argv);
|
||||||
|
@ -57,3 +52,8 @@ cli.parse(process.argv);
|
||||||
if (!process.argv.slice(2).length) {
|
if (!process.argv.slice(2).length) {
|
||||||
cli.outputHelp();
|
cli.outputHelp();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
process.on('unhandledRejection', (err) => {
|
||||||
|
logger.error(err);
|
||||||
|
process.exit(1);
|
||||||
|
});
|
|
@ -2,14 +2,13 @@
|
||||||
"name": "@docusaurus/migrate",
|
"name": "@docusaurus/migrate",
|
||||||
"version": "2.0.0-beta.17",
|
"version": "2.0.0-beta.17",
|
||||||
"description": "A CLI tool to migrate from older versions of Docusaurus.",
|
"description": "A CLI tool to migrate from older versions of Docusaurus.",
|
||||||
"main": "lib/index.js",
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14"
|
"node": ">=14"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsc",
|
"build": "tsc -p tsconfig.build.json",
|
||||||
"watch": "tsc --watch"
|
"watch": "tsc -p tsconfig.build.json --watch"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|
10
packages/docusaurus-migrate/tsconfig.build.json
Normal file
10
packages/docusaurus-migrate/tsconfig.build.json
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"extends": "../../tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"incremental": true,
|
||||||
|
"tsBuildInfoFile": "./lib/.tsbuildinfo",
|
||||||
|
"rootDir": "src",
|
||||||
|
"outDir": "lib"
|
||||||
|
},
|
||||||
|
"include": ["src"]
|
||||||
|
}
|
|
@ -1,9 +1,11 @@
|
||||||
|
// For editor typechecking; includes bin
|
||||||
{
|
{
|
||||||
"extends": "../../tsconfig.json",
|
"extends": "./tsconfig.build.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"incremental": true,
|
"noEmit": true,
|
||||||
"tsBuildInfoFile": "./lib/.tsbuildinfo",
|
"module": "esnext",
|
||||||
"rootDir": "src",
|
"allowJs": true,
|
||||||
"outDir": "lib"
|
"rootDir": "."
|
||||||
}
|
},
|
||||||
|
"include": ["src", "bin"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -245,34 +245,33 @@ cli.arguments('<command>').action((cmd) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string} command
|
* @param {string | undefined} command
|
||||||
*/
|
*/
|
||||||
function isInternalCommand(command) {
|
function isInternalCommand(command) {
|
||||||
return [
|
return (
|
||||||
'start',
|
command &&
|
||||||
'build',
|
[
|
||||||
'swizzle',
|
'start',
|
||||||
'deploy',
|
'build',
|
||||||
'serve',
|
'swizzle',
|
||||||
'clear',
|
'deploy',
|
||||||
'write-translations',
|
'serve',
|
||||||
'write-heading-ids',
|
'clear',
|
||||||
].includes(command);
|
'write-translations',
|
||||||
|
'write-heading-ids',
|
||||||
|
].includes(command)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function run() {
|
if (!isInternalCommand(process.argv.slice(2)[0])) {
|
||||||
if (!isInternalCommand(process.argv.slice(2)[0])) {
|
await externalCommand(cli, await resolveDir('.'));
|
||||||
await externalCommand(cli, await resolveDir('.'));
|
|
||||||
}
|
|
||||||
|
|
||||||
cli.parse(process.argv);
|
|
||||||
|
|
||||||
if (!process.argv.slice(2).length) {
|
|
||||||
cli.outputHelp();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
run();
|
if (!process.argv.slice(2).length) {
|
||||||
|
cli.outputHelp();
|
||||||
|
}
|
||||||
|
|
||||||
|
cli.parse(process.argv);
|
||||||
|
|
||||||
process.on('unhandledRejection', (err) => {
|
process.on('unhandledRejection', (err) => {
|
||||||
logger.error(err);
|
logger.error(err);
|
||||||
|
|
|
@ -24,8 +24,8 @@
|
||||||
"docusaurus": "bin/docusaurus.mjs"
|
"docusaurus": "bin/docusaurus.mjs"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "tsc && tsc -p tsconfig.client.json && node copyUntypedFiles.mjs",
|
"build": "tsc -p tsconfig.server.json && tsc -p tsconfig.client.json && node copyUntypedFiles.mjs",
|
||||||
"watch": "node copyUntypedFiles.mjs && concurrently -n \"server,client\" --kill-others \"tsc --watch\" \"tsc -p tsconfig.client.json --watch\""
|
"watch": "node copyUntypedFiles.mjs && concurrently -n \"server,client\" --kill-others \"tsc -p tsconfig.server.json --watch\" \"tsc -p tsconfig.client.json --watch\""
|
||||||
},
|
},
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/facebook/docusaurus/issues"
|
"url": "https://github.com/facebook/docusaurus/issues"
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
|
// For editor typechecking; includes bin
|
||||||
{
|
{
|
||||||
"extends": "../../tsconfig.json",
|
"extends": "./tsconfig.server.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"incremental": true,
|
"noEmit": true,
|
||||||
"tsBuildInfoFile": "./lib/.tsbuildinfo",
|
"rootDir": ".",
|
||||||
"rootDir": "src",
|
"module": "esnext"
|
||||||
"outDir": "lib",
|
|
||||||
"allowJs": true
|
|
||||||
},
|
},
|
||||||
"include": ["src"],
|
"include": ["src", "bin"]
|
||||||
"exclude": ["**/__tests__/**/*", "src/client"]
|
|
||||||
}
|
}
|
||||||
|
|
12
packages/docusaurus/tsconfig.server.json
Normal file
12
packages/docusaurus/tsconfig.server.json
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"extends": "../../tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"incremental": true,
|
||||||
|
"tsBuildInfoFile": "./lib/.tsbuildinfo",
|
||||||
|
"rootDir": "src",
|
||||||
|
"outDir": "lib",
|
||||||
|
"allowJs": true
|
||||||
|
},
|
||||||
|
"include": ["src"],
|
||||||
|
"exclude": ["**/__tests__/**/*", "src/client"]
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue