feat(v2): add disableVersioning config to docs plugin (#2989)

* add disableVersioning config to docs plugin

* fix test

* fix test
This commit is contained in:
Sébastien Lorber 2020-07-01 19:03:59 +02:00 committed by GitHub
parent 9265de982b
commit a5b2b6056b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 44 additions and 16 deletions

View file

@ -26,7 +26,12 @@ export function getVersionsJSONFile(siteDir: string): string {
return path.join(siteDir, VERSIONS_JSON_FILE);
}
export default function (siteDir: string): Env {
type EnvOptions = Partial<{disableVersioning: boolean}>;
export default function (
siteDir: string,
options: EnvOptions = {disableVersioning: false},
): Env {
const versioning: VersioningEnv = {
enabled: false,
versions: [],
@ -37,16 +42,18 @@ export default function (siteDir: string): Env {
const versionsJSONFile = getVersionsJSONFile(siteDir);
if (fs.existsSync(versionsJSONFile)) {
const parsedVersions = JSON.parse(
fs.readFileSync(versionsJSONFile, 'utf8'),
);
if (parsedVersions && parsedVersions.length > 0) {
// eslint-disable-next-line prefer-destructuring
versioning.latestVersion = parsedVersions[0];
versioning.enabled = true;
versioning.versions = parsedVersions;
versioning.docsDir = getVersionedDocsDir(siteDir);
versioning.sidebarsDir = getVersionedSidebarsDir(siteDir);
if (!options.disableVersioning) {
const parsedVersions = JSON.parse(
fs.readFileSync(versionsJSONFile, 'utf8'),
);
if (parsedVersions && parsedVersions.length > 0) {
// eslint-disable-next-line prefer-destructuring
versioning.latestVersion = parsedVersions[0];
versioning.enabled = true;
versioning.versions = parsedVersions;
versioning.docsDir = getVersionedDocsDir(siteDir);
versioning.sidebarsDir = getVersionedSidebarsDir(siteDir);
}
}
}