Skip to content

Commit 3de869e

Browse files
committed
refactor: rewrite with typescript
1 parent 872dce1 commit 3de869e

38 files changed

+2583
-3959
lines changed

.eslintignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ dist
55
coverage
66

77
# Plugin
8-
lib/**/plugin.js
9-
lib/**/templates
8+
templates
109

1110
# Fixtures
1211
test/fixture/**/static

.eslintrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"extends": [
3+
"@nuxtjs/eslint-config-typescript"
4+
]
5+
}

.eslintrc.js

Lines changed: 0 additions & 6 deletions
This file was deleted.

jest.config.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
11
module.exports = {
2-
collectCoverage: true,
3-
collectCoverageFrom: ['lib/**/*.js', '!lib/**/plugin.js', '!lib/**/templates/*.js'],
4-
testEnvironment: 'node'
2+
preset: '@nuxt/test-utils'
53
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module.exports = function mergeMeta (to, from) {
1+
export function mergeMeta (to, from) {
22
if (typeof to === 'function') {
33
// eslint-disable-next-line no-console
44
console.warn('Cannot merge meta. Avoid using head as a function!')

lib/meta/module.runtime.js

Lines changed: 0 additions & 14 deletions
This file was deleted.
Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
const path = require('path')
2-
const Jimp = require('jimp-compact')
3-
const { normalizeSize, sizeName } = require('../utils')
2+
const jimp = require('jimp-compact')
43

54
async function resize ({ input, distDir, sizes }) {
6-
const inputFile = await Jimp.read(input)
5+
const inputFile = await jimp.read(input)
76

87
// Icons
98
await Promise.all(sizes.map(normalizeSize).map((size) => {
@@ -21,3 +20,23 @@ resize(JSON.parse(process.argv[2])).then(() => {
2120
console.error(error) // eslint-disable-line no-console
2221
process.exit(1)
2322
})
23+
24+
// TODO: Dedup
25+
function sizeName (size) {
26+
size = normalizeSize(size)
27+
const prefix = size[2] ? (size[2] + '_') : ''
28+
return prefix + size[0] + 'x' + size[1]
29+
}
30+
31+
// TODO: Dedup
32+
function normalizeSize (size) {
33+
if (!Array.isArray(size)) {
34+
size = [size, size]
35+
}
36+
if (size.length === 1) {
37+
size = [size, size]
38+
} else if (size.length === 0) {
39+
size = 64
40+
}
41+
return size
42+
}

lib/utils/index.js

Lines changed: 0 additions & 80 deletions
This file was deleted.

lib/workbox/utils.js

Lines changed: 0 additions & 49 deletions
This file was deleted.

package.json

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,18 @@
44
"description": "Zero config PWA solution for Nuxt.js",
55
"repository": "nuxt-community/pwa-module",
66
"license": "MIT",
7-
"main": "lib/module.js",
7+
"main": "dist/pwa.js",
8+
"types": "./types/index.d.ts",
89
"files": [
910
"lib",
11+
"dist",
12+
"templates",
1013
"types"
1114
],
12-
"types": "./types/index.d.ts",
1315
"scripts": {
14-
"dev": "nuxt test/fixture",
15-
"lint": "eslint --ext .js,.vue .",
16+
"build": "siroc build",
17+
"dev": "nuxt-ts test/fixture",
18+
"lint": "eslint --ext .js,.vue,.ts .",
1619
"release": "yarn test && standard-version && git push --follow-tags && npm publish",
1720
"test": "yarn lint && jest"
1821
},
@@ -23,30 +26,28 @@
2326
"hasha": "^5.2.2",
2427
"jimp-compact": "^0.16.1",
2528
"lodash.template": "^4.5.0",
29+
"serve-static": "^1.14.1",
2630
"workbox-cdn": "^5.1.4"
2731
},
2832
"devDependencies": {
33+
"@babel/preset-typescript": "^7.12.7",
34+
"@nuxt/test-utils": "^0.0.1",
2935
"@nuxt/types": "^2.14.7",
36+
"@nuxt/typescript-build": "^2.0.3",
37+
"@nuxt/typescript-runtime": "^2.0.0",
3038
"@nuxtjs/eslint-config": "latest",
39+
"@nuxtjs/eslint-config-typescript": "^5.0.0",
3140
"@nuxtjs/module-test-utils": "latest",
3241
"@types/workbox-sw": "^4.3.1",
33-
"axios": "latest",
3442
"babel-eslint": "latest",
3543
"codecov": "latest",
3644
"eslint": "latest",
37-
"eslint-config-standard": "latest",
38-
"eslint-plugin-html": "latest",
39-
"eslint-plugin-import": "latest",
40-
"eslint-plugin-jest": "latest",
41-
"eslint-plugin-node": "latest",
42-
"eslint-plugin-promise": "latest",
43-
"eslint-plugin-standard": "latest",
4445
"jest": "latest",
45-
"jsdom": "latest",
4646
"klaw-sync": "latest",
47-
"lerna": "latest",
4847
"node-fetch": "latest",
4948
"nuxt-edge": "latest",
50-
"standard-version": "latest"
49+
"siroc": "^0.4.3",
50+
"standard-version": "latest",
51+
"typescript": "^4.1.2"
5152
}
5253
}

0 commit comments

Comments
 (0)