Skip to content

Commit 2fc50d7

Browse files
committed
Added build rollup config.
1 parent 47c5410 commit 2fc50d7

22 files changed

+114
-47
lines changed

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"version": "0.0.19",
44
"license": "MIT",
55
"module": "index.js",
6+
"main": "index.js",
67
"author": "Appnest",
78
"description": "High-quality Web Components with a small footprint",
89
"bugs": {
@@ -26,7 +27,6 @@
2627
"component",
2728
"element"
2829
],
29-
"main": "index.js",
3030
"types": "index.d.ts",
3131
"scripts": {
3232
"ncu": "ncu -u -a && npm update && npm install",
@@ -37,7 +37,7 @@
3737
"s:prod": "rollup -c --watch --environment NODE_ENV:prod",
3838
"s": "npm run s:dev",
3939
"start": "npm run s",
40-
"b:lib": "node pre-build.js && tsc -p tsconfig.build.json",
40+
"b:lib": "rollup -c rollup-build.config.js",
4141
"git:add:commit:push": "git add . && git commit --no-edit --amend --no-verify && git push",
4242
"bump:patch": "npm version patch && npm run git:add:commit:push",
4343
"bump:minor": "npm version minor && npm run git:add:commit:push",

rollup-build.config.js

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
import {importStyles} from "@appnest/web-config";
2+
import ts from '@wessberg/rollup-plugin-ts';
3+
import autoprefixer from 'autoprefixer';
4+
import {generate} from 'escodegen';
5+
import {parse} from 'esprima';
6+
import {minify} from 'html-minifier';
7+
import {createServer} from 'livereload';
8+
import cssnano from 'cssnano';
9+
import path from 'path';
10+
import precss from 'precss';
11+
import cleaner from 'rollup-plugin-cleaner';
12+
import commonjs from 'rollup-plugin-commonjs';
13+
import resolve from 'rollup-plugin-node-resolve';
14+
import progress from 'rollup-plugin-progress';
15+
import pkg from "./package.json";
16+
17+
const folders = {
18+
src: path.resolve(__dirname, "src/lib"),
19+
dist: path.resolve(__dirname, "dist"),
20+
};
21+
22+
const files = {
23+
src_index: path.join(folders.src, "index.ts"),
24+
dist_index: path.join(folders.dist, "index.js")
25+
};
26+
27+
const defaultConfig = {
28+
plugins: [
29+
progress(),
30+
cleaner({
31+
targets: [
32+
folders.dist
33+
]
34+
}),
35+
resolve(),
36+
importStyles({
37+
plugins: [
38+
precss(),
39+
autoprefixer(),
40+
cssnano({preset: ["default", {
41+
calc: false
42+
}]})
43+
]
44+
}),
45+
// Teaches Rollup how to transpile Typescript
46+
// https://github.com/wessberg/rollup-plugin-ts
47+
ts({
48+
transpiler: "typescript",
49+
// If your tsconfig is already called 'tsconfig.json', this option can be left out
50+
tsconfig: "tsconfig.build.json",
51+
exclude: ["node_modules/**/*.*"],
52+
// If there is no .browserslistrc within your project, and if your package.json doesn't include a Browserslist property, this option can be left out
53+
browserslist: false
54+
}),
55+
56+
// At the moment, the majority of packages on NPM are exposed as CommonJS modules
57+
commonjs({
58+
include: "**/node_modules/**",
59+
})
60+
],
61+
external: [
62+
...Object.keys(pkg.dependencies),
63+
...Object.keys(pkg.devDependencies),
64+
"@appnest/focus-trap/debounce",
65+
"lit-html/directives/if-defined",
66+
"tslib"
67+
],
68+
treeshake: false,
69+
preserveModules: true
70+
};
71+
72+
const configs = [
73+
{
74+
input: files.src_index,
75+
output: [
76+
{
77+
format: "esm",
78+
dir: folders.dist
79+
}
80+
],
81+
...defaultConfig
82+
},
83+
];
84+
85+
export default configs;
86+

src/lib/backdrop/wl-backdrop.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { html, LitElement, property } from "lit-element";
1+
import { html, LitElement, property, TemplateResult } from "lit-element";
22
import { customElement } from "lit-element";
3-
import { TemplateResult } from "lit-html";
43
import { AriaRole } from "../util/aria";
54
import { cssResult } from "../util/css";
65

src/lib/banner/wl-banner.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { customElement, html, LitElement, property } from "lit-element";
2-
import { TemplateResult } from "lit-html";
1+
import { customElement, html, LitElement, property, TemplateResult } from "lit-element";
32
import "../divider";
43
import { sharedStyles } from "../style/shared";
54
import { AriaRole } from "../util/aria";

src/lib/behavior/checkbox/checkbox-behavior.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { html, property } from "lit-element";
2-
import { TemplateResult } from "lit-html";
1+
import { html, property, TemplateResult } from "lit-element";
32
import { ifDefined } from "lit-html/directives/if-defined";
43
import { AriaRole, updateTabindex } from "../../util/aria";
54
import { SPACE } from "../../util/constant/keycode";

src/lib/behavior/overlay/open-overlay.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { render, TemplateResult } from "lit-html";
1+
import { TemplateResult } from "lit-element";
2+
import { render } from "lit-html";
23
import { addListener } from "../../util/event";
34
import { IOverlayBehaviorBaseProperties, OverlayBehavior, OverlayBehaviorEvent } from "./overlay-behavior";
45

src/lib/card/wl-card.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { html, LitElement, property } from "lit-element";
1+
import { html, LitElement, property, TemplateResult } from "lit-element";
22
import { customElement } from "lit-element";
3-
import { TemplateResult } from "lit-html";
43
import { sharedStyles } from "../style/shared";
54
import { cssResult } from "../util/css";
65

src/lib/checkbox/wl-checkbox.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { customElement, html } from "lit-element";
2-
import { TemplateResult } from "lit-html";
1+
import { customElement, html, TemplateResult } from "lit-element";
32
import { CheckboxBehavior, ICheckboxBehaviorProperties } from "../behavior/checkbox/checkbox-behavior";
43
import "../ripple";
54
import { cssResult } from "../util/css";

src/lib/divider/wl-divider.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { customElement, html, LitElement, property } from "lit-element";
2-
import { TemplateResult } from "lit-html";
1+
import { customElement, html, LitElement, property, TemplateResult } from "lit-element";
32
import { sharedStyles } from "../style/shared";
43
import { AriaRole } from "../util/aria";
54
import { cssResult } from "../util/css";

src/lib/icon/wl-icon.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { customElement, html, LitElement, property } from "lit-element";
2-
import { TemplateResult } from "lit-html";
1+
import { customElement, html, LitElement, property, TemplateResult } from "lit-element";
32
import { sharedStyles } from "../style/shared";
43
import { AriaRole } from "../util/aria";
54
import { cssResult } from "../util/css";

src/lib/label/wl-label.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { customElement, LitElement, property, html, PropertyValues } from "lit-element";
2-
import { TemplateResult } from "lit-html";
1+
import { customElement, LitElement, property, html, PropertyValues, TemplateResult } from "lit-element";
32
import { sharedStyles } from "../style/shared";
43
import { cssResult } from "../util/css";
54
import { addListener, EventListenerSubscription, removeListeners } from "../util/event";

src/lib/nav/wl-nav.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { customElement, html, LitElement, property } from "lit-element";
2-
import { TemplateResult } from "lit-html";
1+
import { customElement, html, LitElement, property, TemplateResult } from "lit-element";
32
import { sharedStyles } from "../style/shared";
43
import { AriaRole } from "../util/aria";
54
import { cssResult } from "../util/css";

src/lib/popover-card/wl-popover-card.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import { customElement, html, LitElement } from "lit-element";
2-
import { TemplateResult } from "lit-html";
1+
import { customElement, html, LitElement, TemplateResult } from "lit-element";
2+
import "../card/wl-card";
33
import { sharedStyles } from "../style/shared";
44
import { cssResult } from "../util/css";
5-
import "../card/wl-card";
65

76
import styles from "./wl-popover-card.scss";
87

src/lib/progress-bar/wl-progress-bar.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { customElement, html } from "lit-element";
2-
import { TemplateResult } from "lit-html";
1+
import { customElement, html, TemplateResult } from "lit-element";
32
import { IProgressBehaviorProperties, ProgressBehavior, ProgressMode } from "../behavior/progress/progress-behavior";
43
import { cssResult } from "../util/css";
54

src/lib/progress-spinner/wl-progress-spinner.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { customElement, html, svg } from "lit-element";
2-
import { TemplateResult } from "lit-html";
1+
import { customElement, html, svg, TemplateResult } from "lit-element";
32
import { IProgressBehaviorProperties, ProgressBehavior, ProgressMode } from "../behavior/progress/progress-behavior";
43
import { cssResult } from "../util/css";
54

src/lib/radio/wl-radio.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { customElement, html } from "lit-element";
2-
import { TemplateResult } from "lit-html";
1+
import { customElement, html, TemplateResult } from "lit-element";
32
import { IRadioBehaviorProperties, RadioBehavior } from "../behavior/radio/radio-behavior";
43

54
import "../ripple";

src/lib/ripple/wl-ripple.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { customElement, html, LitElement, property } from "lit-element";
2-
import { TemplateResult } from "lit-html";
1+
import { customElement, html, LitElement, property, TemplateResult } from "lit-element";
32
import { sharedStyles } from "../style/shared";
43
import { AriaRole } from "../util/aria";
54
import { cssResult } from "../util/css";

src/lib/select/wl-select.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { customElement, html, property } from "lit-element";
2-
import { TemplateResult } from "lit-html";
1+
import { customElement, html, property, TemplateResult } from "lit-element";
32
import { ifDefined } from "lit-html/directives/if-defined";
43
import { IInputBehaviorProperties, InputBehavior } from "../behavior/input/input-behavior";
54
import { AriaRole } from "../util/aria";

src/lib/textfield/wl-textfield.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { customElement, html, property } from "lit-element";
2-
import { TemplateResult } from "lit-html";
1+
import { customElement, html, property, TemplateResult} from "lit-element";
32
import { ifDefined } from "lit-html/directives/if-defined";
43
import { IInputBehaviorProperties, InputBehavior } from "../behavior/input/input-behavior";
54
import { cssResult } from "../util/css";

src/lib/title/wl-title.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { customElement, html, LitElement, property } from "lit-element";
2-
import { TemplateResult } from "lit-html";
1+
import { customElement, html, LitElement, property, TemplateResult } from "lit-element";
32
import { sharedStyles } from "../style/shared";
43
import { AriaRole } from "../util/aria";
54
import { cssResult } from "../util/css";

src/lib/tooltip/wl-tooltip.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { customElement, html } from "lit-element";
2-
import { TemplateResult } from "lit-html";
1+
import { customElement, html, TemplateResult } from "lit-element";
32
import { IPopoverProperties, WlPopover } from "../popover/wl-popover";
43
import { cssResult } from "../util/css";
54

tsconfig.build.json

+5-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
{
22
"extends": "./node_modules/@appnest/web-config/tsconfig.json",
33
"compilerOptions": {
4-
"outDir": "dist",
4+
"module": "esnext",
5+
"emitDecoratorMetadata": true,
56
"declaration": true,
6-
"target": "es2017",
7-
"importHelpers": true,
7+
"target": "esnext",
8+
"importHelpers": false,
89
"lib": [
910
"es2015.promise",
1011
"dom",
@@ -15,8 +16,5 @@
1516
"es2015.proxy",
1617
"esnext"
1718
]
18-
},
19-
"include": [
20-
"src/lib/**/*"
21-
]
19+
}
2220
}

0 commit comments

Comments
 (0)