diff --git a/admin/scripts/test-release.sh b/admin/scripts/test-release.sh index f3e6787563..8013d1ff78 100755 --- a/admin/scripts/test-release.sh +++ b/admin/scripts/test-release.sh @@ -10,9 +10,14 @@ set -euo pipefail CUSTOM_REGISTRY_URL="http://localhost:4873" NEW_VERSION="$(node -p "require('./packages/docusaurus/package.json').version").NEW" CONTAINER_NAME="verdaccio" +EXTRA_OPTS="" + +if getopts ":n" arg; then + EXTRA_OPTS="--use-npm" +fi # Run Docker container with private npm registry Verdaccio -docker run -d --rm --name "$CONTAINER_NAME" -p 4873:4873 -v "$PWD/admin/verdaccio.yaml":/verdaccio/conf/config.yaml verdaccio/verdaccio:4 +docker run -d --rm --name "$CONTAINER_NAME" -p 4873:4873 -v "$PWD/admin/verdaccio.yaml":/verdaccio/conf/config.yaml verdaccio/verdaccio:latest # Build packages yarn build:packages @@ -24,7 +29,7 @@ npx --no-install lerna publish --yes --no-verify-access --no-git-reset --no-git- git diff --name-only -- '*.json' | sed 's, ,\\&,g' | xargs git checkout -- # Build skeleton website with new version -npm_config_registry="$CUSTOM_REGISTRY_URL" npx @docusaurus/init@"$NEW_VERSION" init test-website classic +npm_config_registry="$CUSTOM_REGISTRY_URL" npx @docusaurus/init@"$NEW_VERSION" init test-website classic $EXTRA_OPTS # Stop Docker container if [[ -z "${KEEP_CONTAINER:-}" ]] && ( $(docker container inspect "$CONTAINER_NAME" > /dev/null 2>&1) ); then diff --git a/packages/docusaurus-init/bin/index.js b/packages/docusaurus-init/bin/index.js index d77129efb3..162e209cff 100755 --- a/packages/docusaurus-init/bin/index.js +++ b/packages/docusaurus-init/bin/index.js @@ -38,9 +38,10 @@ program program .command('init [siteName] [template] [rootDir]') + .option('--use-npm') .description('Initialize website') - .action((siteName, template, rootDir = '.') => { - wrapCommand(init)(path.resolve(rootDir), siteName, template); + .action((siteName, template, rootDir = '.', {useNpm}) => { + wrapCommand(init)(path.resolve(rootDir), siteName, template, {useNpm}); }); program.arguments('').action((cmd) => { diff --git a/packages/docusaurus-init/src/index.ts b/packages/docusaurus-init/src/index.ts index 61c8f76b50..f600e9e09f 100644 --- a/packages/docusaurus-init/src/index.ts +++ b/packages/docusaurus-init/src/index.ts @@ -41,8 +41,11 @@ export default async function init( rootDir: string, siteName?: string, reqTemplate?: string, + cliOptions: Partial<{ + useNpm: boolean; + }> = {}, ): Promise { - const useYarn = hasYarn(); + const useYarn = !cliOptions.useNpm ? hasYarn() : false; const templatesDir = path.resolve(__dirname, '../templates'); const templates = fs .readdirSync(templatesDir)