Skip to content

Commit ef322f8

Browse files
authored
Add include and exclude options and update packages (#93)
1 parent 8c685f5 commit ef322f8

File tree

4 files changed

+133
-48
lines changed

4 files changed

+133
-48
lines changed

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,11 @@ const build = async () => {
5050
const bundle = await rollup({
5151
input: "src/index.js",
5252
external: ["vue", "vuetify/lib"],
53-
plugins: [postcss(), vue(), vuetify()],
53+
plugins: [
54+
postcss(),
55+
vue(),
56+
vuetify({ include: 'src/**', exclude: 'someFolder/**' }/* options are optional */)
57+
],
5458
});
5559

5660
bundle.write({

package-lock.json

Lines changed: 97 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "rollup-plugin-vuetify",
3-
"version": "0.2.4",
3+
"version": "0.2.5",
44
"description": "A-la-carte (treeshaking) for you vuetify",
55
"main": "src/plugin.js",
66
"scripts": {
@@ -33,19 +33,20 @@
3333
"@rollup/plugin-node-resolve": "9.0.0",
3434
"@rollup/plugin-replace": "2.3.3",
3535
"@rollup/plugin-typescript": "3.1.1",
36+
"rollup-pluginutils": "^2.8.2",
3637
"rollup": "2.32.0",
3738
"rollup-plugin-postcss": "3.1.8",
3839
"rollup-plugin-typescript2": "0.28.0",
3940
"rollup-plugin-vue": "5.1.9",
4041
"typescript": "4.0.3",
41-
"vue": "2.6.12",
42+
"vue": "2.6.14",
4243
"vue-template-compiler": "2.6.12",
4344
"vue-class-decorator": "7.6.3",
4445
"vue-property-decorator": "9.0.2",
45-
"vuetify": "2.3.14"
46+
"vuetify": "^2.4.4"
4647
},
4748
"dependencies": {
4849
"jscodeshift": "^0.11.0",
49-
"vuetify-loader": "^1.4.3"
50+
"vuetify-loader": "^1.7.2"
5051
}
5152
}

src/plugin.js

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
const { createFilter } = require("rollup-pluginutils");
12
const load = require("./load");
23
const extract = require("./extract");
34
const transform = require("./transform");
@@ -13,24 +14,30 @@ const extractAndTransform = (code, template = "") => {
1314

1415
const externalScriptTemplate = new Map();
1516

16-
module.exports = () => ({
17-
name: "vuetify",
18-
async transform(code, id) {
19-
if (externalScriptTemplate.has(id)) {
20-
return extractAndTransform(code, externalScriptTemplate.get(id));
21-
} else if (/.*\.vue/.test(id)) {
22-
const source = await load(id);
23-
24-
if (source.isExternalScript) {
25-
externalScriptTemplate.set(source.scriptPath, source.template);
26-
return;
27-
} else if (/\.*vue\?rollup-plugin-vue=script((?!map).)*$/i.test(id) || !source.script) {
28-
if (typeof source.script === "string" && source.script.trim() === "") {
29-
code = "export default {}";
30-
}
17+
module.exports = (options = {}) => {
18+
const filter = createFilter(options.include, options.exclude);
19+
20+
return {
21+
name: "vuetify",
22+
async transform (code, id) {
23+
if (!filter(id)) return null;
24+
25+
if (externalScriptTemplate.has(id)) {
26+
return extractAndTransform(code, externalScriptTemplate.get(id));
27+
} else if (/.*\.vue/.test(id)) {
28+
const source = await load(id);
29+
30+
if (source.isExternalScript) {
31+
externalScriptTemplate.set(source.scriptPath, source.template);
32+
return;
33+
} else if (/\.*vue\?rollup-plugin-vue=script((?!map).)*$/i.test(id) || !source.script) {
34+
if (typeof source.script === "string" && source.script.trim() === "") {
35+
code = "export default {}";
36+
}
3137

32-
return extractAndTransform(code, source.template);
38+
return extractAndTransform(code, source.template);
39+
}
3340
}
34-
}
35-
},
36-
});
41+
},
42+
}
43+
};

0 commit comments

Comments
 (0)