From e63681cc6525beb97520d1b6dd778442decd9dbc Mon Sep 17 00:00:00 2001 From: "S. Elliott Johnson" Date: Tue, 24 May 2022 14:30:51 -0600 Subject: [PATCH 1/4] fix: sync no longer permanently deletes directory --- packages/kit/src/core/sync/utils.js | 10 ++++++++++ packages/kit/src/core/sync/write_types.js | 7 ++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/packages/kit/src/core/sync/utils.js b/packages/kit/src/core/sync/utils.js index aaf27a3ef74c..d26803e9754a 100644 --- a/packages/kit/src/core/sync/utils.js +++ b/packages/kit/src/core/sync/utils.js @@ -17,6 +17,16 @@ export function write_if_changed(file, code) { } } +/** + * @param {string} file + * @param {string} code + */ +export function write(file, code) { + previous_contents.set(file, code); + mkdirp(path.dirname(file)); + fs.writeFileSync(file, code); +} + /** @param {string} str */ export function trim(str) { const indentation = /** @type {RegExpExecArray} */ (/\n?(\s*)/.exec(str))[1]; diff --git a/packages/kit/src/core/sync/write_types.js b/packages/kit/src/core/sync/write_types.js index 01f129aa8e37..9327020add85 100644 --- a/packages/kit/src/core/sync/write_types.js +++ b/packages/kit/src/core/sync/write_types.js @@ -1,6 +1,6 @@ import { rimraf } from '../../utils/filesystem.js'; import { parse_route_id } from '../../utils/routing.js'; -import { write_if_changed } from './utils.js'; +import { write } from './utils.js'; /** @param {string} imports */ const header = (imports) => ` @@ -76,9 +76,6 @@ export function write_types(config, manifest_data) { const parts = (key || 'index').split('/'); parts.push('__types', /** @type {string} */ (parts.pop())); - write_if_changed( - `${config.kit.outDir}/types/${parts.join('/')}.d.ts`, - content.join('\n').trim() - ); + write(`${config.kit.outDir}/types/${parts.join('/')}.d.ts`, content.join('\n').trim()); }); } From 27eb371af0e6d2e078eaece90b261b0f8aed47f0 Mon Sep 17 00:00:00 2001 From: "S. Elliott Johnson" Date: Tue, 24 May 2022 14:31:43 -0600 Subject: [PATCH 2/4] Changelog --- .changeset/lemon-planets-sit.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/lemon-planets-sit.md diff --git a/.changeset/lemon-planets-sit.md b/.changeset/lemon-planets-sit.md new file mode 100644 index 000000000000..ef79aab28828 --- /dev/null +++ b/.changeset/lemon-planets-sit.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +[fix] svelte-kit sync no longer permanently deletes the types directory From 5fc709b6d6774913da996e24b8efa8d32bf1a411 Mon Sep 17 00:00:00 2001 From: "S. Elliott Johnson" Date: Tue, 24 May 2022 14:50:28 -0600 Subject: [PATCH 3/4] DRY, you idiot --- packages/kit/src/core/sync/utils.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/kit/src/core/sync/utils.js b/packages/kit/src/core/sync/utils.js index d26803e9754a..48be306ae001 100644 --- a/packages/kit/src/core/sync/utils.js +++ b/packages/kit/src/core/sync/utils.js @@ -11,9 +11,7 @@ const previous_contents = new Map(); */ export function write_if_changed(file, code) { if (code !== previous_contents.get(file)) { - previous_contents.set(file, code); - mkdirp(path.dirname(file)); - fs.writeFileSync(file, code); + write(file, code) } } From 8a351a47d2f861b11eeb2a7a2a47bc2494e359a8 Mon Sep 17 00:00:00 2001 From: "S. Elliott Johnson" Date: Tue, 24 May 2022 15:07:18 -0600 Subject: [PATCH 4/4] fix: Lint --- packages/kit/src/core/sync/utils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/src/core/sync/utils.js b/packages/kit/src/core/sync/utils.js index 48be306ae001..be1862cd1927 100644 --- a/packages/kit/src/core/sync/utils.js +++ b/packages/kit/src/core/sync/utils.js @@ -11,7 +11,7 @@ const previous_contents = new Map(); */ export function write_if_changed(file, code) { if (code !== previous_contents.get(file)) { - write(file, code) + write(file, code); } }