From 401a8679ba9da0ac691f57ee300427413886bc03 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Thu, 12 Nov 2020 01:49:26 +0300 Subject: [PATCH 1/4] feat(v2: allow init project via npm --- admin/scripts/test-release.sh | 4 ++-- packages/docusaurus-init/bin/index.js | 5 +++-- packages/docusaurus-init/src/index.ts | 5 ++++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/admin/scripts/test-release.sh b/admin/scripts/test-release.sh index f3e678756392..1fd970a7f96c 100755 --- a/admin/scripts/test-release.sh +++ b/admin/scripts/test-release.sh @@ -12,7 +12,7 @@ NEW_VERSION="$(node -p "require('./packages/docusaurus/package.json').version"). CONTAINER_NAME="verdaccio" # 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 +24,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 --use-npm # 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 d77129efb3f2..162e209cffdb 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 61c8f76b50c2..f600e9e09fb1 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) From c09913957c4bf532169335d08ac776f5f5dfc203 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Thu, 12 Nov 2020 15:31:05 +0300 Subject: [PATCH 2/4] Add test-website to workspace --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 7e771406c5ad..50e05731a4d6 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "website", "website-1.x", "website-1.x-migrated", - "packages/docusaurus-init/templates/*" + "packages/docusaurus-init/templates/*", + "test-website" ], "scripts": { "start": "yarn build:packages && yarn start:v2", From 07fc596f49aa11479777534f977d3624f972e6a4 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Thu, 12 Nov 2020 18:04:55 +0300 Subject: [PATCH 3/4] Remove test-website from workspace --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index bfa5621b51e5..110434ebbbf0 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,7 @@ "website", "website-1.x", "website-1.x-migrated", - "packages/docusaurus-init/templates/*", - "test-website" + "packages/docusaurus-init/templates/*" ], "scripts": { "start": "yarn build:packages && yarn start:v2", From bcac6885f495bf0c9726bfc706dd122a11da5334 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Thu, 12 Nov 2020 18:24:13 +0300 Subject: [PATCH 4/4] Refactor --- admin/scripts/test-release.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/admin/scripts/test-release.sh b/admin/scripts/test-release.sh index 1fd970a7f96c..8013d1ff782d 100755 --- a/admin/scripts/test-release.sh +++ b/admin/scripts/test-release.sh @@ -10,6 +10,11 @@ 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:latest @@ -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 --use-npm +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