diff --git a/src/compiler/preprocess/index.ts b/src/compiler/preprocess/index.ts index 0b83c05deb..60609f0275 100644 --- a/src/compiler/preprocess/index.ts +++ b/src/compiler/preprocess/index.ts @@ -184,19 +184,25 @@ export default async function preprocess( if (p.markup) { processed = await process_markup(source, p.markup, filename); source = processed.source; - if (processed.dependencies.length) dependencies.push(...processed.dependencies); + if (processed.dependencies && processed.dependencies.length) { + dependencies.push(...processed.dependencies); + } } if (p.script) { processed = await process_script(source, p.script, filename); source = processed.source; - if (processed.dependencies.length) dependencies.push(...processed.dependencies); + if (processed.dependencies && processed.dependencies.length) { + dependencies.push(...processed.dependencies); + } } if (p.style) { processed = await process_style(source, p.style, filename); source = processed.source; - if (processed.dependencies.length) dependencies.push(...processed.dependencies); + if (processed.dependencies && processed.dependencies.length) { + dependencies.push(...processed.dependencies); + } } }); diff --git a/test/preprocess/samples/strict-order/_config.js b/test/preprocess/samples/strict-order/_config.js new file mode 100644 index 0000000000..e47e14b929 --- /dev/null +++ b/test/preprocess/samples/strict-order/_config.js @@ -0,0 +1,11 @@ +export default { + strictOrder: false, + preprocess: [ + { + style: ({ content }) => ({ code: content.replace(/one/g, 'two') }), + }, + { + markup: ({ content }) => ({ code: content.replace(/two/g, 'three') }), + }, + ], +}; diff --git a/test/preprocess/samples/strict-order/input.svelte b/test/preprocess/samples/strict-order/input.svelte new file mode 100644 index 0000000000..3bf89c6b95 --- /dev/null +++ b/test/preprocess/samples/strict-order/input.svelte @@ -0,0 +1,11 @@ +
one
+ + + + \ No newline at end of file diff --git a/test/preprocess/samples/strict-order/output.svelte b/test/preprocess/samples/strict-order/output.svelte new file mode 100644 index 0000000000..3bf89c6b95 --- /dev/null +++ b/test/preprocess/samples/strict-order/output.svelte @@ -0,0 +1,11 @@ +one
+ + + + \ No newline at end of file