annotate rollup.config.js @ 78:ea9c9db282d6

automate 'external' list, get all local code to appear in lib.bundle.js
author drewp@bigasterisk.com
date Tue, 11 Feb 2020 22:55:24 -0800
parents 0ba4bd0ba245
children 0c188ed3bcd8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
35
29d8ed02a275 build and tests, including jsonld
drewp@bigasterisk.com
parents: 34
diff changeset
1 import builtins from "rollup-plugin-node-builtins";
47
7d17a02b5ae0 reformats and minor edits
drewp@bigasterisk.com
parents: 43
diff changeset
2 import commonjs from "@rollup/plugin-commonjs";
48
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
3 import postcss from "rollup-plugin-postcss";
34
3d8b98e9c01d building, but without jsonld so far
drewp@bigasterisk.com
parents:
diff changeset
4 import resolve from "@rollup/plugin-node-resolve";
3d8b98e9c01d building, but without jsonld so far
drewp@bigasterisk.com
parents:
diff changeset
5 import typescript from "rollup-plugin-typescript2";
3d8b98e9c01d building, but without jsonld so far
drewp@bigasterisk.com
parents:
diff changeset
6
48
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
7 const workaround_jsonld_module_system_picker = "process = {version: '1.0.0'}";
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
8 const workaround_some_browser_detector = "global = window";
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
9 const workaround_jsonld_expand_issue = {
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
10 namedExports: {
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
11 jsonld: ["expand"] // fixes "expand is not exported by node_modules/jsonld/lib/index.js"
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
12 }
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
13 };
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
14
78
ea9c9db282d6 automate 'external' list, get all local code to appear in lib.bundle.js
drewp@bigasterisk.com
parents: 75
diff changeset
15 const moduleIsntLocal = (id, parentId, isResolved) => {
ea9c9db282d6 automate 'external' list, get all local code to appear in lib.bundle.js
drewp@bigasterisk.com
parents: 75
diff changeset
16 console.log("check", id, !id.startsWith("./"));
ea9c9db282d6 automate 'external' list, get all local code to appear in lib.bundle.js
drewp@bigasterisk.com
parents: 75
diff changeset
17 if (isResolved || id == "src/index.ts") {
ea9c9db282d6 automate 'external' list, get all local code to appear in lib.bundle.js
drewp@bigasterisk.com
parents: 75
diff changeset
18 return false;
ea9c9db282d6 automate 'external' list, get all local code to appear in lib.bundle.js
drewp@bigasterisk.com
parents: 75
diff changeset
19 }
ea9c9db282d6 automate 'external' list, get all local code to appear in lib.bundle.js
drewp@bigasterisk.com
parents: 75
diff changeset
20 return !id.startsWith("./");
ea9c9db282d6 automate 'external' list, get all local code to appear in lib.bundle.js
drewp@bigasterisk.com
parents: 75
diff changeset
21 };
ea9c9db282d6 automate 'external' list, get all local code to appear in lib.bundle.js
drewp@bigasterisk.com
parents: 75
diff changeset
22
48
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
23 export default [
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
24 {
35
29d8ed02a275 build and tests, including jsonld
drewp@bigasterisk.com
parents: 34
diff changeset
25 input: "src/index.ts",
29d8ed02a275 build and tests, including jsonld
drewp@bigasterisk.com
parents: 34
diff changeset
26 output: {
50
1264ba9ffb10 make a full-element version for pages that want to try to use that
drewp@bigasterisk.com
parents: 48
diff changeset
27 file: "build/lib.bundle.js",
48
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
28 format: "esm",
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
29 intro: `const ${workaround_some_browser_detector}, ${workaround_jsonld_module_system_picker};`
35
29d8ed02a275 build and tests, including jsonld
drewp@bigasterisk.com
parents: 34
diff changeset
30 },
78
ea9c9db282d6 automate 'external' list, get all local code to appear in lib.bundle.js
drewp@bigasterisk.com
parents: 75
diff changeset
31 external: moduleIsntLocal,
35
29d8ed02a275 build and tests, including jsonld
drewp@bigasterisk.com
parents: 34
diff changeset
32 plugins: [
48
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
33 builtins(),
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
34 resolve({
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
35 extensions: [".js", ".ts"],
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
36 browser: true,
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
37 }),
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
38 typescript(),
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
39 postcss({
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
40 inject: false
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
41 }),
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
42 commonjs(workaround_jsonld_expand_issue)
35
29d8ed02a275 build and tests, including jsonld
drewp@bigasterisk.com
parents: 34
diff changeset
43 ]
48
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
44 },
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
45 {
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
46 input: "src/demo.ts",
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
47 output: {
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
48 file: "build/demo.js",
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
49 format: "esm",
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
50 intro: `const ${workaround_some_browser_detector}, ${workaround_jsonld_module_system_picker};`
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
51 },
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
52 external: [],
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
53 plugins: [
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
54 builtins(),
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
55 resolve({
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
56 extensions: [".js", ".ts"],
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
57 browser: true
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
58 }),
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
59 typescript(),
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
60 postcss({
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
61 inject: false
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
62 }),
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
63 commonjs(workaround_jsonld_expand_issue)
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
64 ]
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
65 }
b8e5850acca0 local demo; styles
drewp@bigasterisk.com
parents: 47
diff changeset
66 ];