@merkur/create-widget 0.36.4 → 0.37.0
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 +3 -4
- 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.0",
|
|
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": "af826493e5ed4b37602dd43ce89a59baeeb1bada"
|
|
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.0",
|
|
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
|
});
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
"@merkur/preact": "0.36.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
|
}
|