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:
Joshua Chen 2022-03-06 23:07:23 +08:00 committed by GitHub
parent a6e72192fa
commit 44d73f7230
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 94 additions and 64 deletions

View file

@ -13,18 +13,9 @@ import semver from 'semver';
import cli from 'commander';
import path from 'path';
import {createRequire} from 'module';
import {migrateDocusaurusProject, migrateMDToMDX} from '../lib/index.js';
const requiredVersion = createRequire(import.meta.url)('../package.json')
.engines.node;
function wrapCommand(fn) {
return (...args) =>
fn(...args).catch((err) => {
logger.error(err.stack);
process.exitCode = 1;
});
}
const moduleRequire = createRequire(import.meta.url);
const requiredVersion = moduleRequire('../package.json').engines.node;
if (!semver.satisfies(process.version, requiredVersion)) {
logger.error('Minimum Node.js version not met :(');
@ -32,6 +23,10 @@ if (!semver.satisfies(process.version, requiredVersion)) {
process.exit(1);
}
// See https://github.com/facebook/docusaurus/pull/6860
const {migrateDocusaurusProject, migrateMDToMDX} =
moduleRequire('../lib/index.js');
cli
.command('migrate [siteDir] [newDir]')
.option('--mdx', 'try to migrate MD to MDX too')
@ -40,7 +35,7 @@ cli
.action((siteDir = '.', newDir = '.', {mdx, page} = {}) => {
const sitePath = path.resolve(siteDir);
const newSitePath = path.resolve(newDir);
wrapCommand(migrateDocusaurusProject)(sitePath, newSitePath, mdx, page);
migrateDocusaurusProject(sitePath, newSitePath, mdx, page);
});
cli
@ -49,7 +44,7 @@ cli
.action((siteDir = '.', newDir = '.') => {
const sitePath = path.resolve(siteDir);
const newSitePath = path.resolve(newDir);
wrapCommand(migrateMDToMDX)(sitePath, newSitePath);
migrateMDToMDX(sitePath, newSitePath);
});
cli.parse(process.argv);
@ -57,3 +52,8 @@ cli.parse(process.argv);
if (!process.argv.slice(2).length) {
cli.outputHelp();
}
process.on('unhandledRejection', (err) => {
logger.error(err);
process.exit(1);
});

View file

@ -2,14 +2,13 @@
"name": "@docusaurus/migrate",
"version": "2.0.0-beta.17",
"description": "A CLI tool to migrate from older versions of Docusaurus.",
"main": "lib/index.js",
"license": "MIT",
"engines": {
"node": ">=14"
},
"scripts": {
"build": "tsc",
"watch": "tsc --watch"
"build": "tsc -p tsconfig.build.json",
"watch": "tsc -p tsconfig.build.json --watch"
},
"repository": {
"type": "git",

View file

@ -0,0 +1,10 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"incremental": true,
"tsBuildInfoFile": "./lib/.tsbuildinfo",
"rootDir": "src",
"outDir": "lib"
},
"include": ["src"]
}

View file

@ -1,9 +1,11 @@
// For editor typechecking; includes bin
{
"extends": "../../tsconfig.json",
"extends": "./tsconfig.build.json",
"compilerOptions": {
"incremental": true,
"tsBuildInfoFile": "./lib/.tsbuildinfo",
"rootDir": "src",
"outDir": "lib"
}
"noEmit": true,
"module": "esnext",
"allowJs": true,
"rootDir": "."
},
"include": ["src", "bin"]
}