Skip to content
This repository was archived by the owner on Mar 1, 2023. It is now read-only.

Commit d45a4fb

Browse files
committed
feat: add svelte2 rollup loader
1 parent d5102e2 commit d45a4fb

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

rollup/svelte2.js

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
const svelte = require("svelte2");
2+
const { createFilter } = require("rollup-pluginutils");
3+
4+
const defaults = {
5+
include : [ /\.html$/ ],
6+
exclude : [ "**/node_modules/**" ],
7+
preprocess : false,
8+
options : {
9+
format : "es",
10+
},
11+
};
12+
13+
module.exports = (args = {}) => {
14+
const options = {
15+
...defaults,
16+
...args,
17+
};
18+
19+
const filter = createFilter(options.include, options.exclude);
20+
21+
return {
22+
name : "svelte-translator-rollup-svelte2",
23+
24+
async transform(code, filename) {
25+
if(!filter(filename)) {
26+
return null;
27+
}
28+
29+
// const { code : processed, dependencies } = await options.preprocess ?
30+
const result = options.preprocess ?
31+
await svelte.preprocess(code, options.preprocess, { filename }) :
32+
await Promise.resolve({ toString : () => code });
33+
34+
const { js } = svelte.compile(result.toString(), {
35+
onwarn : (warning) => this.warn(warning),
36+
37+
...options.options,
38+
39+
filename,
40+
});
41+
42+
return js;
43+
},
44+
};
45+
};

0 commit comments

Comments
 (0)