From c91d3baab1d91872fc3eae90737d53b9ca6840fe Mon Sep 17 00:00:00 2001 From: Suguru Inatomi Date: Wed, 16 Aug 2023 20:40:36 +0900 Subject: [PATCH 1/8] chore: upload _redirects file for cf pages --- aio-ja/src/_redirects | 1 + tools/build.mjs | 11 ++++++++++- tools/lib/common.mjs | 8 ++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 aio-ja/src/_redirects diff --git a/aio-ja/src/_redirects b/aio-ja/src/_redirects new file mode 100644 index 0000000000..bbb3e7a1fb --- /dev/null +++ b/aio-ja/src/_redirects @@ -0,0 +1 @@ +/* /index.html 200 diff --git a/tools/build.mjs b/tools/build.mjs index 24dca50724..66c1b02f52 100644 --- a/tools/build.mjs +++ b/tools/build.mjs @@ -1,7 +1,15 @@ #!/usr/bin/env zx import { chalk } from 'zx'; -import { applyPatches, buildAIO, copyLocalizedFiles, copyRobots, modifySitemap, resetBuildDir } from './lib/common.mjs'; +import { + applyPatches, + buildAIO, + copyLocalizedFiles, + copyRedirects, + copyRobots, + modifySitemap, + resetBuildDir, +} from './lib/common.mjs'; try { console.log(chalk.green('==== setup ====')); @@ -38,5 +46,6 @@ async function build() { async function postBuild() { await copyRobots(); + await copyRedirects(); await modifySitemap(); } diff --git a/tools/lib/common.mjs b/tools/lib/common.mjs index 2d39c34ce5..971bc95dd5 100644 --- a/tools/lib/common.mjs +++ b/tools/lib/common.mjs @@ -102,3 +102,11 @@ export async function modifySitemap() { const sitemapPath = resolve(outDir, 'dist/bin/aio/build/generated/sitemap.xml'); await sed(sitemapPath, 'angular.io', 'angular.jp'); } + +// copy _redirect +export async function copyRedirects() { + await $`chmod -R +w ${resolve(outDir, 'dist/bin/aio/build')}`; + const src = resolve(aiojaDir, 'src/_redirect'); + const dest = resolve(outDir, 'dist/bin/aio/build/_redirect'); + await cpRf(src, dest); +} From 787ce59c8511a283241d510203d695139f7a065b Mon Sep 17 00:00:00 2001 From: Suguru Inatomi Date: Wed, 16 Aug 2023 20:56:07 +0900 Subject: [PATCH 2/8] use correct name --- tools/lib/common.mjs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/lib/common.mjs b/tools/lib/common.mjs index 971bc95dd5..52988bd2ab 100644 --- a/tools/lib/common.mjs +++ b/tools/lib/common.mjs @@ -103,10 +103,10 @@ export async function modifySitemap() { await sed(sitemapPath, 'angular.io', 'angular.jp'); } -// copy _redirect +// copy _redirects export async function copyRedirects() { await $`chmod -R +w ${resolve(outDir, 'dist/bin/aio/build')}`; - const src = resolve(aiojaDir, 'src/_redirect'); - const dest = resolve(outDir, 'dist/bin/aio/build/_redirect'); + const src = resolve(aiojaDir, 'src/_redirects'); + const dest = resolve(outDir, 'dist/bin/aio/build/_redirects'); await cpRf(src, dest); } From 07e79f7f0966d5c295b133eac1400373770ec8c4 Mon Sep 17 00:00:00 2001 From: Suguru Inatomi Date: Wed, 16 Aug 2023 21:50:41 +0900 Subject: [PATCH 3/8] remove additional spaces --- aio-ja/src/_redirects | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aio-ja/src/_redirects b/aio-ja/src/_redirects index bbb3e7a1fb..7797f7c6a7 100644 --- a/aio-ja/src/_redirects +++ b/aio-ja/src/_redirects @@ -1 +1 @@ -/* /index.html 200 +/* /index.html 200 From f11b8bb9b46e6d2af8e2aa83b9111597faeea50f Mon Sep 17 00:00:00 2001 From: Suguru Inatomi Date: Wed, 16 Aug 2023 22:16:34 +0900 Subject: [PATCH 4/8] use /index --- aio-ja/src/_redirects | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aio-ja/src/_redirects b/aio-ja/src/_redirects index 7797f7c6a7..d4fb725d93 100644 --- a/aio-ja/src/_redirects +++ b/aio-ja/src/_redirects @@ -1 +1 @@ -/* /index.html 200 +/* /index 200 From a6986111a60a9cb67f6f956a06dbc7025a9e1834 Mon Sep 17 00:00:00 2001 From: Suguru Inatomi Date: Wed, 16 Aug 2023 22:46:43 +0900 Subject: [PATCH 5/8] separate redirect rules --- aio-ja/src/_redirects | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/aio-ja/src/_redirects b/aio-ja/src/_redirects index d4fb725d93..c6dfbe202e 100644 --- a/aio-ja/src/_redirects +++ b/aio-ja/src/_redirects @@ -1 +1,2 @@ -/* /index 200 +/index.html / 200 +/* / 200 From 6701cd31f38f57e8151d4aa3b74633dbdd5ffd33 Mon Sep 17 00:00:00 2001 From: Suguru Inatomi Date: Wed, 16 Aug 2023 23:10:54 +0900 Subject: [PATCH 6/8] try --- aio-ja/src/_redirects | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aio-ja/src/_redirects b/aio-ja/src/_redirects index c6dfbe202e..1bfe65abb5 100644 --- a/aio-ja/src/_redirects +++ b/aio-ja/src/_redirects @@ -1,2 +1,2 @@ -/index.html / 200 -/* / 200 +/index.html / 200 +/* /index.html 200 From ae6cba147d375f7758674b2bd39ce95ab6e7f3ef Mon Sep 17 00:00:00 2001 From: Suguru Inatomi Date: Wed, 16 Aug 2023 23:26:07 +0900 Subject: [PATCH 7/8] try --- aio-ja/src/_redirects | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/aio-ja/src/_redirects b/aio-ja/src/_redirects index 1bfe65abb5..96f7aad958 100644 --- a/aio-ja/src/_redirects +++ b/aio-ja/src/_redirects @@ -1,2 +1 @@ -/index.html / 200 -/* /index.html 200 +/* / 200 From 3421ac37c777619567e817f99df5d2437ddaeff3 Mon Sep 17 00:00:00 2001 From: Suguru Inatomi Date: Thu, 17 Aug 2023 00:00:46 +0900 Subject: [PATCH 8/8] rename 404.html after build --- aio-ja/src/_redirects | 1 - tools/build.mjs | 4 ++-- tools/lib/common.mjs | 10 +++++----- tools/lib/fileutils.mjs | 5 +++++ 4 files changed, 12 insertions(+), 8 deletions(-) delete mode 100644 aio-ja/src/_redirects diff --git a/aio-ja/src/_redirects b/aio-ja/src/_redirects deleted file mode 100644 index 96f7aad958..0000000000 --- a/aio-ja/src/_redirects +++ /dev/null @@ -1 +0,0 @@ -/* / 200 diff --git a/tools/build.mjs b/tools/build.mjs index 66c1b02f52..8c7f198962 100644 --- a/tools/build.mjs +++ b/tools/build.mjs @@ -5,7 +5,7 @@ import { applyPatches, buildAIO, copyLocalizedFiles, - copyRedirects, + remove404HTML, copyRobots, modifySitemap, resetBuildDir, @@ -46,6 +46,6 @@ async function build() { async function postBuild() { await copyRobots(); - await copyRedirects(); + await remove404HTML(); await modifySitemap(); } diff --git a/tools/lib/common.mjs b/tools/lib/common.mjs index 52988bd2ab..c320677dad 100644 --- a/tools/lib/common.mjs +++ b/tools/lib/common.mjs @@ -1,7 +1,7 @@ import { watch } from 'chokidar'; import { resolve } from 'node:path'; import { $, cd, chalk, glob, within } from 'zx'; -import { initDir, cpRf, exists, sed } from './fileutils.mjs'; +import { initDir, cpRf, exists, sed, rmrf, rename } from './fileutils.mjs'; const rootDir = resolve(__dirname, '../'); const aiojaDir = resolve(rootDir, 'aio-ja'); @@ -104,9 +104,9 @@ export async function modifySitemap() { } // copy _redirects -export async function copyRedirects() { +export async function remove404HTML() { await $`chmod -R +w ${resolve(outDir, 'dist/bin/aio/build')}`; - const src = resolve(aiojaDir, 'src/_redirects'); - const dest = resolve(outDir, 'dist/bin/aio/build/_redirects'); - await cpRf(src, dest); + const from = resolve(outDir, 'dist/bin/aio/build/404.html'); + const to = resolve(outDir, 'dist/bin/aio/build/_404.html'); + await rename(from, to); } diff --git a/tools/lib/fileutils.mjs b/tools/lib/fileutils.mjs index ebf2f99ea2..01ee1b8825 100644 --- a/tools/lib/fileutils.mjs +++ b/tools/lib/fileutils.mjs @@ -26,3 +26,8 @@ export async function sed(path, pattern, replacement) { const newContent = content.replaceAll(pattern, replacement); await writeFile(path, newContent, 'utf-8'); } + +export async function rename(oldPath, newPath) { + await cp(oldPath, newPath); + await rm(oldPath); +}