p-elements-core 2.0.15 → 2.1.0-rc10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/p-elements-core.js +1 -72
- package/package.json +56 -56
- package/readme.md +386 -0
- package/typings/custom-element-controller.d.ts +18 -0
- package/typings/custom-element-controller.d.ts.map +1 -0
- package/typings/custom-element.d.ts +140 -0
- package/typings/custom-element.d.ts.map +1 -0
- package/typings/decorators/bind.d.ts +6 -0
- package/typings/decorators/bind.d.ts.map +1 -0
- package/typings/decorators/custom-element-config.d.ts +8 -0
- package/typings/decorators/custom-element-config.d.ts.map +1 -0
- package/typings/decorators/property.d.ts +213 -0
- package/typings/decorators/property.d.ts.map +1 -0
- package/typings/decorators/query.d.ts +2 -0
- package/typings/decorators/query.d.ts.map +1 -0
- package/typings/decorators/render-property-on-set.d.ts +2 -0
- package/typings/decorators/render-property-on-set.d.ts.map +1 -0
- package/typings/maquette/cache.d.ts +10 -0
- package/typings/maquette/cache.d.ts.map +1 -0
- package/typings/maquette/dom.d.ts +60 -0
- package/typings/maquette/dom.d.ts.map +1 -0
- package/typings/maquette/h.d.ts +35 -0
- package/typings/maquette/h.d.ts.map +1 -0
- package/typings/maquette/index.d.ts +12 -0
- package/typings/maquette/index.d.ts.map +1 -0
- package/typings/maquette/interfaces.d.ts +475 -0
- package/typings/maquette/interfaces.d.ts.map +1 -0
- package/typings/maquette/jsx.d.ts +6 -0
- package/typings/maquette/jsx.d.ts.map +1 -0
- package/typings/maquette/mapping.d.ts +14 -0
- package/typings/maquette/mapping.d.ts.map +1 -0
- package/typings/maquette/projection.d.ts +9 -0
- package/typings/maquette/projection.d.ts.map +1 -0
- package/typings/maquette/projector.d.ts +27 -0
- package/typings/maquette/projector.d.ts.map +1 -0
- package/typings/p-elements-core.d.ts +225 -0
- package/typings/p-elements-core.d.ts.map +1 -0
- package/.editorconfig +0 -17
- package/.gitlab-ci.yml +0 -16
- package/dist/p-elements-core-modern.js +0 -72
- package/dist/sample.js +0 -20
- package/index.html +0 -171
- package/karma.conf.js +0 -32
- package/p-elements-core.d.ts +0 -141
- package/screen.css +0 -16
- package/src/bar.css +0 -3
- package/src/cache.ts +0 -35
- package/src/commonjs.js +0 -182
- package/src/custom-element.ts +0 -185
- package/src/custom-inline-style-element.ts +0 -42
- package/src/custom-style-element.ts +0 -27
- package/src/decorators/bind.ts +0 -40
- package/src/decorators/custom-element-config.ts +0 -17
- package/src/decorators/property-render-on-set.ts +0 -49
- package/src/decorators/reflect-to-attribute.ts +0 -51
- package/src/dom.ts +0 -100
- package/src/h.ts +0 -93
- package/src/index.tsx +0 -84
- package/src/interfaces.ts +0 -455
- package/src/mapping.ts +0 -55
- package/src/projection.ts +0 -537
- package/src/projector.ts +0 -168
- package/src/sample.css +0 -19
- package/src/sample.spec.ts +0 -112
- package/src/sample.tsx +0 -187
- package/src/tsconfig.json +0 -16
- package/theme.css +0 -12
- package/tsconfig.json +0 -17
- package/tslint.json +0 -33
- package/webpack.config.js +0 -100
- package/webpack.config.karma.js +0 -35
package/src/sample.css
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
:host{
|
|
2
|
-
display: block;
|
|
3
|
-
@apply --mixin-sample;
|
|
4
|
-
}
|
|
5
|
-
.root {
|
|
6
|
-
display: flex;
|
|
7
|
-
padding: 10px;
|
|
8
|
-
flex-direction: row;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
div .xxx{
|
|
12
|
-
color: var(--color-primary, blue);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
#SlotContainer ::slotted(*) {
|
|
16
|
-
font-weight: bold;
|
|
17
|
-
color: black;
|
|
18
|
-
font-size: 1.5em;
|
|
19
|
-
}
|
package/src/sample.spec.ts
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
describe("my-greetings custom element", () => {
|
|
2
|
-
|
|
3
|
-
it("Should be defined", (done) => {
|
|
4
|
-
let elementIsDefined = false;
|
|
5
|
-
customElements.whenDefined("my-greetings").then(() => {
|
|
6
|
-
elementIsDefined = true;
|
|
7
|
-
expect(elementIsDefined).toBe(true);
|
|
8
|
-
done();
|
|
9
|
-
});
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
it("Should have shadow root", (done) => {
|
|
13
|
-
const element = document.createElement("my-greetings");
|
|
14
|
-
document.body.appendChild(element);
|
|
15
|
-
expect(typeof element.shadowRoot).toBe("object");
|
|
16
|
-
element.parentNode.removeChild(element);
|
|
17
|
-
done();
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
it("Should have shadow root child element with text 'Hello!!'", (done) => {
|
|
21
|
-
const element = document.createElement("my-greetings");
|
|
22
|
-
document.body.appendChild(element);
|
|
23
|
-
expect( (element.shadowRoot.querySelector(".sample") as HTMLElement).innerText).toBe("Hello!!");
|
|
24
|
-
element.parentNode.removeChild(element);
|
|
25
|
-
done();
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
it("Should display heading with text typed in input", (done) => {
|
|
29
|
-
const element = document.createElement("my-greetings");
|
|
30
|
-
document.body.appendChild(element);
|
|
31
|
-
const inputElement = element.shadowRoot.querySelector("input");
|
|
32
|
-
|
|
33
|
-
inputElement.value = "Lorem ipsum Dolar sit";
|
|
34
|
-
inputElement.dispatchEvent(new Event("input"));
|
|
35
|
-
|
|
36
|
-
setTimeout(() => {
|
|
37
|
-
expect( element.shadowRoot.querySelector(".title").innerHTML).toBe(inputElement.value);
|
|
38
|
-
element.parentNode.removeChild(element);
|
|
39
|
-
done();
|
|
40
|
-
}, 100)
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
it("Should display heading with the same text as element attribute name", (done) => {
|
|
44
|
-
const element = document.createElement("my-greetings");
|
|
45
|
-
element.setAttribute("name", "Arnold");
|
|
46
|
-
document.body.appendChild(element);
|
|
47
|
-
expect( element.shadowRoot.querySelector(".title").innerHTML).toBe("Arnold");
|
|
48
|
-
element.parentNode.removeChild(element);
|
|
49
|
-
done();
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
it("Should display heading with the same text as element attribute name after changing the attribute", (done) => {
|
|
53
|
-
const element = document.createElement("my-greetings");
|
|
54
|
-
element.setAttribute("name", "Arnold");
|
|
55
|
-
document.body.appendChild(element);
|
|
56
|
-
element.setAttribute("name", "Kees");
|
|
57
|
-
expect( element.shadowRoot.querySelector(".title").innerHTML).toBe("Kees");
|
|
58
|
-
element.parentNode.removeChild(element);
|
|
59
|
-
done();
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
it("Should display heading with the same text as element propery", (done) => {
|
|
63
|
-
const element = document.createElement("my-greetings") as any;
|
|
64
|
-
element.name = "Arie";
|
|
65
|
-
document.body.appendChild(element);
|
|
66
|
-
expect( element.shadowRoot.querySelector(".title").innerHTML).toBe("Arie");
|
|
67
|
-
element.parentNode.removeChild(element);
|
|
68
|
-
done();
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
it("Should display heading with the same text as element property name after changing the property", (done) => {
|
|
72
|
-
const element = document.createElement("my-greetings") as any;
|
|
73
|
-
element.name = "Jeffreyd";
|
|
74
|
-
document.body.appendChild(element);
|
|
75
|
-
element.name = "Martijn";
|
|
76
|
-
expect( element.shadowRoot.querySelector(".title").innerHTML).toBe("Martijn");
|
|
77
|
-
element.parentNode.removeChild(element);
|
|
78
|
-
done();
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
// betty BOOP => Brilliant Online Objects Programmers
|
|
82
|
-
it("Should display BB when property name is 'Peter'", (done) => {
|
|
83
|
-
const element = document.createElement("my-greetings") as any;
|
|
84
|
-
element.name = "Peter";
|
|
85
|
-
document.body.appendChild(element);
|
|
86
|
-
expect( typeof element.shadowRoot.querySelector(".is-peter--image")).toBe("object");
|
|
87
|
-
element.parentNode.removeChild(element);
|
|
88
|
-
done();
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
describe("super-a custom element extends a", () => {
|
|
94
|
-
|
|
95
|
-
it("Should be defined", (done) => {
|
|
96
|
-
let elementIsDefined = false;
|
|
97
|
-
customElements.whenDefined("super-a").then(() => {
|
|
98
|
-
elementIsDefined = true;
|
|
99
|
-
expect(elementIsDefined).toBe(true);
|
|
100
|
-
done();
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
it("Should be red", (done) => {
|
|
105
|
-
const element = (document as any).createElement("a", {is: "super-a"});
|
|
106
|
-
document.body.appendChild(element);
|
|
107
|
-
expect(element.style.color).toBe("red");
|
|
108
|
-
element.parentNode.removeChild(element);
|
|
109
|
-
done();
|
|
110
|
-
});
|
|
111
|
-
|
|
112
|
-
});
|
package/src/sample.tsx
DELETED
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
import { Bind } from "./decorators/bind";
|
|
2
|
-
import { CustomElementConfig } from "./decorators/custom-element-config";
|
|
3
|
-
import { PropertyRenderOnSet } from "./decorators/property-render-on-set";
|
|
4
|
-
import { ReflectToAttribute } from "./decorators/reflect-to-attribute";
|
|
5
|
-
|
|
6
|
-
import { CustomElement } from "./custom-element";
|
|
7
|
-
|
|
8
|
-
import * as anime from "animejs";
|
|
9
|
-
|
|
10
|
-
declare var require: any;
|
|
11
|
-
|
|
12
|
-
@CustomElementConfig({
|
|
13
|
-
tagName: "my-greetings",
|
|
14
|
-
})
|
|
15
|
-
class MyGreetings extends CustomElement {
|
|
16
|
-
|
|
17
|
-
static get observedAttributes() {
|
|
18
|
-
return ["name"];
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
@PropertyRenderOnSet
|
|
22
|
-
@ReflectToAttribute
|
|
23
|
-
public foo: string = "foo";
|
|
24
|
-
|
|
25
|
-
private count: number = 1;
|
|
26
|
-
|
|
27
|
-
@PropertyRenderOnSet
|
|
28
|
-
@ReflectToAttribute
|
|
29
|
-
private name: string = "";
|
|
30
|
-
|
|
31
|
-
private onInput = (e) => {
|
|
32
|
-
this.name = e.target.value;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
private init() {
|
|
36
|
-
//
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
private enterAnimation(domNode, properties) {
|
|
40
|
-
anime({
|
|
41
|
-
targets: domNode,
|
|
42
|
-
translateX: [
|
|
43
|
-
{ value: 100, duration: 1200 },
|
|
44
|
-
{ value: 0, duration: 800 },
|
|
45
|
-
],
|
|
46
|
-
rotate: "1turn",
|
|
47
|
-
duration: 3000,
|
|
48
|
-
loop: false,
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
private exitAnimation(domNode, removeDomNodeFunction, properties) {
|
|
53
|
-
anime({
|
|
54
|
-
targets: domNode,
|
|
55
|
-
translateX: [
|
|
56
|
-
{ value: 100, duration: 1200 },
|
|
57
|
-
{ value: 0, duration: 800 },
|
|
58
|
-
],
|
|
59
|
-
duration: 3000,
|
|
60
|
-
opacity: 0,
|
|
61
|
-
loop: false,
|
|
62
|
-
complete: () => {
|
|
63
|
-
removeDomNodeFunction(domNode);
|
|
64
|
-
},
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
private countUpdateAnimation(domNode, properties, previousProperties) {
|
|
69
|
-
const basicTimeline = anime.timeline();
|
|
70
|
-
basicTimeline.add([{
|
|
71
|
-
duration: 300,
|
|
72
|
-
targets: domNode,
|
|
73
|
-
translateX: 200,
|
|
74
|
-
scale: 1.9,
|
|
75
|
-
easing: "easeOutExpo",
|
|
76
|
-
}, {
|
|
77
|
-
duration: 300,
|
|
78
|
-
targets: domNode,
|
|
79
|
-
translateX: 0,
|
|
80
|
-
scale: 1,
|
|
81
|
-
easing: "easeInExpo",
|
|
82
|
-
}]);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
private render() {
|
|
86
|
-
return <div class="xxx">
|
|
87
|
-
<h1 data-title={this.name && this.name.toLocaleUpperCase()} class="title">{this.foo} {this.name}</h1>
|
|
88
|
-
<p data-count={this.count} updateAnimation={this.countUpdateAnimation}>{this.count}</p>
|
|
89
|
-
<div id="SlotContainer"><slot></slot></div>
|
|
90
|
-
<p>Please enter your name (hint type <em><strong>Peter</strong></em>)<br />
|
|
91
|
-
<input type="text" value={this.name} oninput={this.onInput} />
|
|
92
|
-
</p>
|
|
93
|
-
<p><a is="super-a">Super a</a></p>
|
|
94
|
-
{
|
|
95
|
-
this.name && this.name.toLowerCase && this.name.toLowerCase().indexOf("peter") > -1 ?
|
|
96
|
-
<div key="peter" afterRemoved={this.peterRemoved} afterCreate={this.peterCreate}
|
|
97
|
-
class="is-peter"
|
|
98
|
-
enterAnimation={this.enterAnimation}
|
|
99
|
-
exitAnimation={this.exitAnimation}>
|
|
100
|
-
<p>Hello Peter</p>
|
|
101
|
-
<img class="is-peter--image" src="https://s-media-cache-ak0.pinimg.com/474x/ce/1d/07/ce1d07011c0afb8e0614a0ae42a8c861.jpg" height="140" />
|
|
102
|
-
</div> : ""
|
|
103
|
-
}
|
|
104
|
-
</div>;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
private peterRemoved() {
|
|
108
|
-
console.log("removed");
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
private peterCreate() {
|
|
112
|
-
console.log("create");
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
private connectedCallback() {
|
|
116
|
-
const css = require("./sample.css");
|
|
117
|
-
const template = this.templateFromString(`
|
|
118
|
-
<style>${css}</style>
|
|
119
|
-
<div class="root"></div>
|
|
120
|
-
`);
|
|
121
|
-
this.shadowRoot.appendChild(template);
|
|
122
|
-
|
|
123
|
-
this.createProjector(this.shadowRoot.querySelector(".root"), this.render.bind(this));
|
|
124
|
-
|
|
125
|
-
setInterval(() => {
|
|
126
|
-
this.count++;
|
|
127
|
-
this.renderNow();
|
|
128
|
-
}, 5000);
|
|
129
|
-
|
|
130
|
-
window.addEventListener("foo", this.onFooEvent);
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
private onFooEvent = (e: CustomEvent) => {
|
|
135
|
-
this.foo = e.detail.foo;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
private attributeChangedCallback(name, oldValue, newValue) {
|
|
139
|
-
if (name === "name") {
|
|
140
|
-
this.name = newValue;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
@CustomElementConfig({
|
|
146
|
-
tagName: "p-foo",
|
|
147
|
-
})
|
|
148
|
-
class PFoo extends CustomElement {
|
|
149
|
-
private connectedCallback() {
|
|
150
|
-
const css = require("./sample.css");
|
|
151
|
-
this.innerHTML = `
|
|
152
|
-
<div class="root">P-FOO</div>
|
|
153
|
-
`;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
@CustomElementConfig({
|
|
159
|
-
tagName: "p-bar",
|
|
160
|
-
})
|
|
161
|
-
class PBar extends CustomElement {
|
|
162
|
-
|
|
163
|
-
private connectedCallback() {
|
|
164
|
-
const css = require("./bar.css");
|
|
165
|
-
this.initShadowRoot(`<style>${css}</style>`, this.render);
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
private render = function() {
|
|
169
|
-
return <div>
|
|
170
|
-
<h1 onclick={(e) => {console.log(this); }}>Foo bar</h1>
|
|
171
|
-
</div>;
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
(window as any).PBar = PBar;
|
|
177
|
-
|
|
178
|
-
class SuperAnchorElement extends HTMLAnchorElement {
|
|
179
|
-
|
|
180
|
-
public connectedCallback() {
|
|
181
|
-
this.classList.add("super");
|
|
182
|
-
this.style.color = "red";
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
window.customElements.define("super-a", SuperAnchorElement, { extends: "a" });
|
package/src/tsconfig.json
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "../tsconfig.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"module": "es6",
|
|
5
|
-
"strictNullChecks": true,
|
|
6
|
-
"noEmitOnError": true,
|
|
7
|
-
"noEmit": false,
|
|
8
|
-
"declaration": true,
|
|
9
|
-
"outDir": "../dist",
|
|
10
|
-
"rootDir": "."
|
|
11
|
-
},
|
|
12
|
-
"include": [
|
|
13
|
-
"./**/*.ts",
|
|
14
|
-
"../typings/extensions.d.ts"
|
|
15
|
-
]
|
|
16
|
-
}
|
package/theme.css
DELETED
package/tsconfig.json
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "es6",
|
|
4
|
-
"moduleResolution": "node",
|
|
5
|
-
"allowJs": false,
|
|
6
|
-
"noEmit": false,
|
|
7
|
-
"strict": false,
|
|
8
|
-
"isolatedModules": false,
|
|
9
|
-
"esModuleInterop": true,
|
|
10
|
-
"noImplicitThis": false,
|
|
11
|
-
"experimentalDecorators": true,
|
|
12
|
-
"jsx": "preserve"
|
|
13
|
-
},
|
|
14
|
-
"include": [
|
|
15
|
-
"src"
|
|
16
|
-
]
|
|
17
|
-
}
|
package/tslint.json
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
/*
|
|
3
|
-
* Possible values:
|
|
4
|
-
* - the name of a built-in config
|
|
5
|
-
* - the name of an NPM module which has a "main" file that exports a config object
|
|
6
|
-
* - a relative path to a JSON file
|
|
7
|
-
*/
|
|
8
|
-
"extends": "tslint:recommended",
|
|
9
|
-
"rules": {
|
|
10
|
-
/*
|
|
11
|
-
* Any rules specified here will override those from the base config we are extending.
|
|
12
|
-
*/
|
|
13
|
-
"curly": true,
|
|
14
|
-
"variable-name": [
|
|
15
|
-
true,
|
|
16
|
-
"ban-keywords",
|
|
17
|
-
"check-format",
|
|
18
|
-
"allow-leading-underscore"
|
|
19
|
-
]
|
|
20
|
-
},
|
|
21
|
-
"jsRules": {
|
|
22
|
-
/*
|
|
23
|
-
* Any rules specified here will override those from the base config we are extending.
|
|
24
|
-
*/
|
|
25
|
-
"curly": true
|
|
26
|
-
},
|
|
27
|
-
"rulesDirectory": [
|
|
28
|
-
/*
|
|
29
|
-
* A list of relative or absolute paths to directories that contain custom rules.
|
|
30
|
-
* See the Custom Rules documentation below for more details.
|
|
31
|
-
*/
|
|
32
|
-
]
|
|
33
|
-
}
|
package/webpack.config.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
const path = require('path');
|
|
2
|
-
const babelOptions = {
|
|
3
|
-
"presets": [
|
|
4
|
-
["@babel/preset-env", {
|
|
5
|
-
"targets": {
|
|
6
|
-
"browsers": require("./package.json").browserslist
|
|
7
|
-
}
|
|
8
|
-
}],
|
|
9
|
-
["@babel/preset-react", {
|
|
10
|
-
"pragma": "h"
|
|
11
|
-
}]
|
|
12
|
-
],
|
|
13
|
-
"plugins": [
|
|
14
|
-
"@babel/proposal-class-properties",
|
|
15
|
-
"@babel/proposal-object-rest-spread"
|
|
16
|
-
]
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
module.exports = {
|
|
20
|
-
mode: 'production',
|
|
21
|
-
devServer: {
|
|
22
|
-
contentBase: path.join(__dirname),
|
|
23
|
-
compress: true,
|
|
24
|
-
useLocalIp: true,
|
|
25
|
-
disableHostCheck: true,
|
|
26
|
-
host: '0.0.0.0',
|
|
27
|
-
port: 8000,
|
|
28
|
-
open: false,
|
|
29
|
-
openPage: 'demo/index.html',
|
|
30
|
-
publicPath: '/dist/'
|
|
31
|
-
},
|
|
32
|
-
entry: {
|
|
33
|
-
'p-elements-core': [
|
|
34
|
-
'@babel/polyfill',
|
|
35
|
-
'@webcomponents/template/template.js',
|
|
36
|
-
'whatwg-fetch/fetch.js',
|
|
37
|
-
'document-register-element/build/document-register-element.max.js',
|
|
38
|
-
'@webcomponents/shadydom/shadydom.min.js',
|
|
39
|
-
'@webcomponents/shadycss/custom-style-interface.min.js',
|
|
40
|
-
'@webcomponents/shadycss/apply-shim.min.js',
|
|
41
|
-
'@webcomponents/shadycss/scoping-shim.min.js',
|
|
42
|
-
'dom4/build/dom4.max.js',
|
|
43
|
-
'./src/index.tsx',
|
|
44
|
-
],
|
|
45
|
-
'p-elements-core-modern': [
|
|
46
|
-
'@webcomponents/template/template.js',
|
|
47
|
-
'document-register-element/build/document-register-element.max.js',
|
|
48
|
-
'@webcomponents/shadydom/shadydom.min.js',
|
|
49
|
-
'@webcomponents/shadycss/custom-style-interface.min.js',
|
|
50
|
-
'@webcomponents/shadycss/apply-shim.min.js',
|
|
51
|
-
'@webcomponents/shadycss/scoping-shim.min.js',
|
|
52
|
-
'dom4/build/dom4.max.js',
|
|
53
|
-
'./src/index.tsx',
|
|
54
|
-
],
|
|
55
|
-
'sample': [
|
|
56
|
-
'./src/sample.tsx'
|
|
57
|
-
]
|
|
58
|
-
|
|
59
|
-
},
|
|
60
|
-
output: {
|
|
61
|
-
path: path.resolve(__dirname, './dist'),
|
|
62
|
-
filename: '[name]' + '.js',
|
|
63
|
-
chunkFilename: '[chunkhash]' + '.js'
|
|
64
|
-
},
|
|
65
|
-
externals: {
|
|
66
|
-
'underscore': '_',
|
|
67
|
-
'animejs': 'anime'
|
|
68
|
-
},
|
|
69
|
-
resolve: {
|
|
70
|
-
extensions: ['.ts', '.tsx', '.js', '.json']
|
|
71
|
-
},
|
|
72
|
-
module: {
|
|
73
|
-
rules: [{
|
|
74
|
-
test: /\.ts(x?)$/,
|
|
75
|
-
exclude: /node_modules/,
|
|
76
|
-
use: [{
|
|
77
|
-
loader: 'babel-loader',
|
|
78
|
-
options: babelOptions
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
loader: 'awesome-typescript-loader'
|
|
82
|
-
},
|
|
83
|
-
]
|
|
84
|
-
},{
|
|
85
|
-
test: /\.css$/,
|
|
86
|
-
use: [{
|
|
87
|
-
loader: 'css-loader'
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
loader: 'postcss-loader',
|
|
91
|
-
options: {
|
|
92
|
-
plugins: () => {
|
|
93
|
-
return [require('autoprefixer')]
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
]
|
|
98
|
-
}]
|
|
99
|
-
},
|
|
100
|
-
};
|
package/webpack.config.karma.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var webpack = require('webpack');
|
|
4
|
-
var path = require('path');
|
|
5
|
-
var glob = require('glob');
|
|
6
|
-
|
|
7
|
-
module.exports = {
|
|
8
|
-
entry: glob.sync( './src/*.spec.ts').join("|").replace(/.spec.ts+/g,".spec").split("|"),
|
|
9
|
-
module: {
|
|
10
|
-
rules: [{
|
|
11
|
-
test: /\.ts$/,
|
|
12
|
-
include: [
|
|
13
|
-
path.resolve(__dirname, 'src'),
|
|
14
|
-
],
|
|
15
|
-
exclude: [
|
|
16
|
-
/node_modules/
|
|
17
|
-
],
|
|
18
|
-
loader: 'awesome-typescript-loader',
|
|
19
|
-
}]
|
|
20
|
-
},
|
|
21
|
-
resolve: {
|
|
22
|
-
modules: [
|
|
23
|
-
'node_modules',
|
|
24
|
-
],
|
|
25
|
-
extensions: ['.ts', '.js'],
|
|
26
|
-
},
|
|
27
|
-
devtool: 'inline-source-map',
|
|
28
|
-
stats: "verbose",
|
|
29
|
-
plugins: [
|
|
30
|
-
new webpack.SourceMapDevToolPlugin({
|
|
31
|
-
filename: null,
|
|
32
|
-
test: /\.(ts|js)($|\?)/i
|
|
33
|
-
})
|
|
34
|
-
],
|
|
35
|
-
};
|