UNPKG

@docusaurus/utils

Version:

Node utility functions for Docusaurus packages.

55 lines (49 loc) 1.38 kB
/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ type Env = 'production' | 'development'; /** * To easily work on draft/unlisted in dev mode, use this env variable! * SIMULATE_PRODUCTION_VISIBILITY=true yarn start:website */ const simulateProductionVisibility = process.env.SIMULATE_PRODUCTION_VISIBILITY === 'true'; /** * draft/unlisted is a production-only concept * In dev it is ignored and all content files are included */ function isProduction(env: Env | undefined): boolean { return ( simulateProductionVisibility || (env ?? process.env.NODE_ENV) === 'production' ); } /** * A draft content will not be included in the production build */ export function isDraft({ frontMatter, env, }: { frontMatter: {draft?: boolean}; env?: Env; }): boolean { return (isProduction(env) && frontMatter.draft) ?? false; } /** * An unlisted content will be included in the production build, but hidden. * It is excluded from sitemap, has noIndex, does not appear in lists etc... * Only users having the link can find it. */ export function isUnlisted({ frontMatter, env, }: { frontMatter: {unlisted?: boolean}; env?: Env; }): boolean { return (isProduction(env) && frontMatter.unlisted) ?? false; }