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]')
|
||||
.description('Build website')
|
||||
.option(
|
||||
'-sic, --skip-image-compression <skipImageCompression>',
|
||||
'Skip compression of image assets (default: false)',
|
||||
'--skip-next-release',
|
||||
'Skip documents from next release (default = false)',
|
||||
)
|
||||
.option('--skip-next-release', 'Skip documents from next release')
|
||||
.action((siteDir = '.', {skipImageCompression, skipNextRelease}) => {
|
||||
.action((siteDir = '.', {skipNextRelease}) => {
|
||||
wrapCommand(build)(path.resolve(siteDir), {
|
||||
skipImageCompression,
|
||||
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';
|
||||
console.log('Build command invoked ...');
|
||||
|
||||
const props = await load(siteDir, options.skipNextRelease);
|
||||
const props = await load(siteDir, cliOptions);
|
||||
|
||||
// Apply user webpack config.
|
||||
const {outDir, plugins} = props;
|
||||
|
|
|
@ -12,10 +12,13 @@ const createOrder = require('./order');
|
|||
const loadSidebars = require('./sidebars');
|
||||
const processMetadata = require('./metadata');
|
||||
|
||||
async function loadDocs(
|
||||
{siteDir, docsDir, env, siteConfig},
|
||||
async function loadDocs({
|
||||
siteDir,
|
||||
docsDir,
|
||||
env,
|
||||
siteConfig,
|
||||
skipNextRelease = false,
|
||||
) {
|
||||
}) {
|
||||
// @tested - load all sidebars including versioned sidebars
|
||||
const docsSidebars = loadSidebars({siteDir, env});
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ const loadRoutes = require('./routes');
|
|||
const loadPlugins = require('./plugins');
|
||||
const constants = require('../constants');
|
||||
|
||||
module.exports = async function load(siteDir, skipNextRelease = false) {
|
||||
module.exports = async function load(siteDir, cliOptions = {}) {
|
||||
const generatedFilesDir = path.resolve(
|
||||
siteDir,
|
||||
constants.GENERATED_FILES_DIR_NAME,
|
||||
|
@ -42,15 +42,14 @@ module.exports = async function load(siteDir, skipNextRelease = false) {
|
|||
|
||||
// Docs
|
||||
const docsDir = path.resolve(siteDir, '..', siteConfig.customDocsPath);
|
||||
const {docsMetadatas, docsSidebars} = await loadDocs(
|
||||
{
|
||||
const {skipNextRelease} = cliOptions;
|
||||
const {docsMetadatas, docsSidebars} = await loadDocs({
|
||||
siteDir,
|
||||
docsDir,
|
||||
env,
|
||||
siteConfig,
|
||||
},
|
||||
skipNextRelease,
|
||||
);
|
||||
});
|
||||
await generate(
|
||||
generatedFilesDir,
|
||||
'docsMetadatas.js',
|
||||
|
|
|
@ -177,10 +177,13 @@ describe('loadDocs', () => {
|
|||
test('versioned website with skip next release', async () => {
|
||||
const props = await loadSetup('versioned');
|
||||
const {siteDir, docsDir, versionedDir, env, siteConfig} = props;
|
||||
const {docsMetadatas} = await loadDocs(
|
||||
{siteDir, docsDir, env, siteConfig},
|
||||
true,
|
||||
);
|
||||
const {docsMetadatas} = await loadDocs({
|
||||
siteDir,
|
||||
docsDir,
|
||||
env,
|
||||
siteConfig,
|
||||
skipNextRelease: true,
|
||||
});
|
||||
expect(docsMetadatas['version-1.0.0-foo/bar']).toEqual({
|
||||
category: 'Test',
|
||||
id: 'version-1.0.0-foo/bar',
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue