@merkur/create-widget 0.36.5 → 0.37.1
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/package.json +2 -2
- package/template/.nvmrc +1 -0
- package/template/jest.config.js +1 -1
- package/template/jsconfig.json +10 -0
- package/template/package.json +11 -8
- package/template/server/app.js +2 -8
- package/template/server/server.js +2 -2
- package/template/src/style.css +5 -8
- package/views/preact/template/jest.config.js +4 -2
- package/views/preact/template/jest.setup.js +1 -6
- package/views/preact/template/src/views/__tests__/ViewSpec.jsx +32 -6
- package/views/preact/template.json +4 -5
- package/views/svelte/template.json +1 -1
- package/views/uhtml/template.json +1 -1
- package/template/babel.config.js +0 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@merkur/create-widget",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.1",
|
|
4
4
|
"description": "CLI for creating merkur widget easily.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"merkur-create-widget": "./bin/createWidget.mjs"
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"inquirer": "9.2.2",
|
|
45
45
|
"yargs": "^17.7.2"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "b631550f5f053efbe9f52fd57db374bbad7e97a9"
|
|
48
48
|
}
|
package/template/.nvmrc
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
20
|
package/template/jest.config.js
CHANGED
package/template/package.json
CHANGED
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
"author": "",
|
|
17
17
|
"license": "ISC",
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@merkur/cli": "0.
|
|
20
|
-
"@merkur/core": "0.
|
|
21
|
-
"@merkur/integration": "0.
|
|
22
|
-
"@merkur/plugin-component": "0.
|
|
23
|
-
"@merkur/plugin-error": "0.
|
|
24
|
-
"@merkur/plugin-event-emitter": "0.
|
|
19
|
+
"@merkur/cli": "0.37.1",
|
|
20
|
+
"@merkur/core": "0.37.0",
|
|
21
|
+
"@merkur/integration": "0.37.0",
|
|
22
|
+
"@merkur/plugin-component": "0.37.0",
|
|
23
|
+
"@merkur/plugin-error": "0.37.0",
|
|
24
|
+
"@merkur/plugin-event-emitter": "0.37.0",
|
|
25
25
|
"compression": "^1.7.4",
|
|
26
26
|
"config": "^3.3.7",
|
|
27
27
|
"cors": "^2.8.5",
|
|
@@ -32,10 +32,13 @@
|
|
|
32
32
|
"morgan": "^1.10.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@merkur/tools": "0.
|
|
36
|
-
"
|
|
35
|
+
"@merkur/tools": "0.37.0",
|
|
36
|
+
"es-jest": "^2.1.0"
|
|
37
37
|
},
|
|
38
38
|
"engines": {
|
|
39
39
|
"node": ">=20.0.0"
|
|
40
|
+
},
|
|
41
|
+
"imports": {
|
|
42
|
+
"@/*": "./src/*"
|
|
40
43
|
}
|
|
41
44
|
}
|
package/template/server/app.js
CHANGED
|
@@ -8,7 +8,7 @@ const morgan = require('morgan');
|
|
|
8
8
|
const { resolveConfig } = require('@merkur/cli/server');
|
|
9
9
|
|
|
10
10
|
const {
|
|
11
|
-
merkurConfig: { widgetServer
|
|
11
|
+
merkurConfig: { widgetServer },
|
|
12
12
|
} = resolveConfig();
|
|
13
13
|
|
|
14
14
|
const {
|
|
@@ -40,14 +40,8 @@ app
|
|
|
40
40
|
crossOriginEmbedderPolicy: false,
|
|
41
41
|
}),
|
|
42
42
|
)
|
|
43
|
-
.use(
|
|
44
|
-
cors({
|
|
45
|
-
origin: devServer.origin,
|
|
46
|
-
optionsSuccessStatus: 200, // some legacy browsers (IE11, various SmartTVs) choke on 204
|
|
47
|
-
}),
|
|
48
|
-
)
|
|
43
|
+
.use(cors(widgetServer.cors.options))
|
|
49
44
|
.use(compression())
|
|
50
|
-
.use(widgetServer.staticPath, express.static(widgetServer.staticFolder))
|
|
51
45
|
.use(
|
|
52
46
|
widgetServer.staticPath,
|
|
53
47
|
expressStaticGzip(widgetServer.staticFolder, expressStaticConfig),
|
|
@@ -6,7 +6,7 @@ const { merkurConfig } = resolveConfig();
|
|
|
6
6
|
|
|
7
7
|
const { app } = require('./app');
|
|
8
8
|
|
|
9
|
-
const { widgetServer
|
|
9
|
+
const { widgetServer } = merkurConfig;
|
|
10
10
|
|
|
11
11
|
process.on('uncaughtException', (error) => {
|
|
12
12
|
console.error(error);
|
|
@@ -17,7 +17,7 @@ process.on('unhandledRejection', (error) => {
|
|
|
17
17
|
});
|
|
18
18
|
|
|
19
19
|
if (!widgetServer.clusters || !cluster.isMaster) {
|
|
20
|
-
const server = app.listen({ port: widgetServer.port
|
|
20
|
+
const server = app.listen({ port: widgetServer.port });
|
|
21
21
|
|
|
22
22
|
const handleExit = () => {
|
|
23
23
|
server.close(() => {
|
package/template/src/style.css
CHANGED
|
@@ -15,32 +15,29 @@ button {
|
|
|
15
15
|
margin: 0 auto;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
.
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.merkur__headline {
|
|
18
|
+
.merkur-headline {
|
|
22
19
|
background-color: #282c34;
|
|
23
20
|
padding: 120px 10px 80px 10px;
|
|
24
21
|
color: #a2a8b6;
|
|
25
22
|
text-align: center;
|
|
26
23
|
}
|
|
27
24
|
|
|
28
|
-
.
|
|
25
|
+
.merkur-headline a {
|
|
29
26
|
color: white;
|
|
30
27
|
text-decoration: none;
|
|
31
28
|
}
|
|
32
29
|
|
|
33
|
-
.
|
|
30
|
+
.merkur-headline h1 {
|
|
34
31
|
font-size: 60px;
|
|
35
32
|
margin: 0 0 20px 0;
|
|
36
33
|
}
|
|
37
34
|
|
|
38
|
-
.
|
|
35
|
+
.merkur-headline h2 {
|
|
39
36
|
margin: 0;
|
|
40
37
|
line-height: 1.3;
|
|
41
38
|
}
|
|
42
39
|
|
|
43
|
-
.
|
|
40
|
+
.merkur-headline h3 {
|
|
44
41
|
margin: 40px 0 16px 0;
|
|
45
42
|
line-height: 1.3;
|
|
46
43
|
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
const config = require('@merkur/tools/jest.config.js');
|
|
2
2
|
|
|
3
3
|
config.setupFilesAfterEnv = ['./jest.setup.js'];
|
|
4
|
-
config.snapshotSerializers = ['enzyme-to-json/serializer'];
|
|
5
4
|
config.transform = {
|
|
6
|
-
'^.+\\.[t|j]sx?$':
|
|
5
|
+
'^.+\\.[t|j]sx?$': [
|
|
6
|
+
'es-jest',
|
|
7
|
+
{ jsx: 'automatic', jsxImportSource: 'preact' },
|
|
8
|
+
],
|
|
7
9
|
};
|
|
8
10
|
|
|
9
11
|
module.exports = {
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import Adapter from 'enzyme-adapter-preact-pure';
|
|
3
|
-
import { createSerializer } from 'enzyme-to-json';
|
|
4
|
-
|
|
5
|
-
configure({ adapter: new Adapter() });
|
|
6
|
-
expect.addSnapshotSerializer(createSerializer({ mode: 'deep' }));
|
|
1
|
+
import '@testing-library/jest-dom';
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @jest-environment jsdom
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import {
|
|
5
|
+
render,
|
|
6
|
+
fireEvent,
|
|
7
|
+
cleanup,
|
|
8
|
+
prettyDOM,
|
|
9
|
+
screen,
|
|
10
|
+
} from '@testing-library/preact';
|
|
6
11
|
|
|
7
12
|
import { createMerkurWidget } from '@merkur/core';
|
|
8
13
|
|
|
@@ -15,15 +20,36 @@ describe('View', () => {
|
|
|
15
20
|
beforeEach(async () => {
|
|
16
21
|
widget = await createMerkurWidget({
|
|
17
22
|
...widgetProperties,
|
|
18
|
-
mount() {
|
|
19
|
-
|
|
23
|
+
mount(widget) {
|
|
24
|
+
widget.$external.result = render(View(widget));
|
|
25
|
+
return widget.$external.result;
|
|
26
|
+
},
|
|
27
|
+
unmount() {
|
|
28
|
+
cleanup();
|
|
29
|
+
},
|
|
30
|
+
update() {
|
|
31
|
+
return widget.$external.result.rerender(View(widget));
|
|
20
32
|
},
|
|
21
33
|
});
|
|
22
34
|
});
|
|
23
35
|
|
|
36
|
+
afterEach(() => {
|
|
37
|
+
widget.unmount();
|
|
38
|
+
});
|
|
39
|
+
|
|
24
40
|
it('should display main view', async () => {
|
|
25
|
-
const
|
|
41
|
+
const { container } = await widget.mount();
|
|
42
|
+
|
|
43
|
+
expect(prettyDOM(container)).toMatchSnapshot();
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
it('should increase counter', async () => {
|
|
47
|
+
const { container } = await widget.mount();
|
|
48
|
+
|
|
49
|
+
const button = screen.getByText('increase counter');
|
|
50
|
+
|
|
51
|
+
fireEvent.click(button);
|
|
26
52
|
|
|
27
|
-
expect(
|
|
53
|
+
expect(prettyDOM(container)).toMatchSnapshot();
|
|
28
54
|
});
|
|
29
55
|
});
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dependencies": {
|
|
3
|
-
"@merkur/preact": "0.
|
|
3
|
+
"@merkur/preact": "0.37.0"
|
|
4
4
|
},
|
|
5
5
|
"devDependencies": {
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"enzyme-to-json": "3.6.2"
|
|
6
|
+
"@testing-library/jest-dom": "^6.5.0",
|
|
7
|
+
"@testing-library/preact": "^3.2.4",
|
|
8
|
+
"identity-obj-proxy": "^3.0.0"
|
|
10
9
|
}
|
|
11
10
|
}
|