mirror of
https://github.com/facebook/docusaurus.git
synced 2025-06-10 06:42:31 +02:00
parent
d279836c40
commit
f96ba2d381
5 changed files with 26 additions and 23 deletions
|
@ -42,13 +42,11 @@ program
|
||||||
.command('build [siteDir]')
|
.command('build [siteDir]')
|
||||||
.description('Build website')
|
.description('Build website')
|
||||||
.option(
|
.option(
|
||||||
'-sic, --skip-image-compression <skipImageCompression>',
|
'--skip-next-release',
|
||||||
'Skip compression of image assets (default: false)',
|
'Skip documents from next release (default = false)',
|
||||||
)
|
)
|
||||||
.option('--skip-next-release', 'Skip documents from next release')
|
.action((siteDir = '.', {skipNextRelease}) => {
|
||||||
.action((siteDir = '.', {skipImageCompression, skipNextRelease}) => {
|
|
||||||
wrapCommand(build)(path.resolve(siteDir), {
|
wrapCommand(build)(path.resolve(siteDir), {
|
||||||
skipImageCompression,
|
|
||||||
skipNextRelease,
|
skipNextRelease,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -38,11 +38,11 @@ function compile(config) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = async function build(siteDir, options) {
|
module.exports = async function build(siteDir, cliOptions = {}) {
|
||||||
process.env.NODE_ENV = 'production';
|
process.env.NODE_ENV = 'production';
|
||||||
console.log('Build command invoked ...');
|
console.log('Build command invoked ...');
|
||||||
|
|
||||||
const props = await load(siteDir, options.skipNextRelease);
|
const props = await load(siteDir, cliOptions);
|
||||||
|
|
||||||
// Apply user webpack config.
|
// Apply user webpack config.
|
||||||
const {outDir, plugins} = props;
|
const {outDir, plugins} = props;
|
||||||
|
|
|
@ -12,10 +12,13 @@ const createOrder = require('./order');
|
||||||
const loadSidebars = require('./sidebars');
|
const loadSidebars = require('./sidebars');
|
||||||
const processMetadata = require('./metadata');
|
const processMetadata = require('./metadata');
|
||||||
|
|
||||||
async function loadDocs(
|
async function loadDocs({
|
||||||
{siteDir, docsDir, env, siteConfig},
|
siteDir,
|
||||||
|
docsDir,
|
||||||
|
env,
|
||||||
|
siteConfig,
|
||||||
skipNextRelease = false,
|
skipNextRelease = false,
|
||||||
) {
|
}) {
|
||||||
// @tested - load all sidebars including versioned sidebars
|
// @tested - load all sidebars including versioned sidebars
|
||||||
const docsSidebars = loadSidebars({siteDir, env});
|
const docsSidebars = loadSidebars({siteDir, env});
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ const loadRoutes = require('./routes');
|
||||||
const loadPlugins = require('./plugins');
|
const loadPlugins = require('./plugins');
|
||||||
const constants = require('../constants');
|
const constants = require('../constants');
|
||||||
|
|
||||||
module.exports = async function load(siteDir, skipNextRelease = false) {
|
module.exports = async function load(siteDir, cliOptions = {}) {
|
||||||
const generatedFilesDir = path.resolve(
|
const generatedFilesDir = path.resolve(
|
||||||
siteDir,
|
siteDir,
|
||||||
constants.GENERATED_FILES_DIR_NAME,
|
constants.GENERATED_FILES_DIR_NAME,
|
||||||
|
@ -42,15 +42,14 @@ module.exports = async function load(siteDir, skipNextRelease = false) {
|
||||||
|
|
||||||
// Docs
|
// Docs
|
||||||
const docsDir = path.resolve(siteDir, '..', siteConfig.customDocsPath);
|
const docsDir = path.resolve(siteDir, '..', siteConfig.customDocsPath);
|
||||||
const {docsMetadatas, docsSidebars} = await loadDocs(
|
const {skipNextRelease} = cliOptions;
|
||||||
{
|
const {docsMetadatas, docsSidebars} = await loadDocs({
|
||||||
siteDir,
|
siteDir,
|
||||||
docsDir,
|
docsDir,
|
||||||
env,
|
env,
|
||||||
siteConfig,
|
siteConfig,
|
||||||
},
|
|
||||||
skipNextRelease,
|
skipNextRelease,
|
||||||
);
|
});
|
||||||
await generate(
|
await generate(
|
||||||
generatedFilesDir,
|
generatedFilesDir,
|
||||||
'docsMetadatas.js',
|
'docsMetadatas.js',
|
||||||
|
|
|
@ -177,10 +177,13 @@ describe('loadDocs', () => {
|
||||||
test('versioned website with skip next release', async () => {
|
test('versioned website with skip next release', async () => {
|
||||||
const props = await loadSetup('versioned');
|
const props = await loadSetup('versioned');
|
||||||
const {siteDir, docsDir, versionedDir, env, siteConfig} = props;
|
const {siteDir, docsDir, versionedDir, env, siteConfig} = props;
|
||||||
const {docsMetadatas} = await loadDocs(
|
const {docsMetadatas} = await loadDocs({
|
||||||
{siteDir, docsDir, env, siteConfig},
|
siteDir,
|
||||||
true,
|
docsDir,
|
||||||
);
|
env,
|
||||||
|
siteConfig,
|
||||||
|
skipNextRelease: true,
|
||||||
|
});
|
||||||
expect(docsMetadatas['version-1.0.0-foo/bar']).toEqual({
|
expect(docsMetadatas['version-1.0.0-foo/bar']).toEqual({
|
||||||
category: 'Test',
|
category: 'Test',
|
||||||
id: 'version-1.0.0-foo/bar',
|
id: 'version-1.0.0-foo/bar',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue