diff --git a/src/index.js b/src/index.js index 7816794..78ec80c 100644 --- a/src/index.js +++ b/src/index.js @@ -181,7 +181,7 @@ export default function svelte(options = {}) { if (!filter(id)) return null; if (!~extensions.indexOf(path.extname(id))) return null; - return (options.preprocess ? preprocess(code, options.preprocess) : Promise.resolve(code)).then(code => { + return (options.preprocess ? preprocess(code, Object.assign({}, options.preprocess, { filename : id })) : Promise.resolve(code)).then(code => { const compiled = compile( code.toString(), Object.assign({}, { diff --git a/test/test.js b/test/test.js index b8eb831..e9cc659 100644 --- a/test/test.js +++ b/test/test.js @@ -137,9 +137,11 @@ describe('rollup-plugin-svelte', () => { it('preprocesses components', () => { const { transform } = plugin({ preprocess: { - markup: ({ content }) => { + markup: ({ content, filename }) => { return { - code: content.replace('__REPLACEME__', 'replaced') + code: content + .replace('__REPLACEME__', 'replaced') + .replace('__FILENAME__', filename) }; } } @@ -147,8 +149,10 @@ describe('rollup-plugin-svelte', () => { return transform(`

Hello __REPLACEME__!

+

file: __FILENAME__

`, 'test.html').then(({ code }) => { - assert.equal(code.indexOf('__REPLACEME__'), -1); + assert.equal(code.indexOf('__REPLACEME__'), -1, 'content not modified'); + assert.notEqual(code.indexOf('file: test.html'), -1, 'filename not replaced'); }); }); });