Skip to content
This repository was archived by the owner on Mar 13, 2026. It is now read-only.

Commit 43007f5

Browse files
authored
Merge pull request #21 from Fyerl/feat/vue2-upgrade-0
fix gh-pages demo bundle and sw cache version sync
2 parents e7cc596 + 671f912 commit 43007f5

8 files changed

Lines changed: 58 additions & 8 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ git clone git@github.com:Fyerl/vue-awesome-picker.git
149149
cd vue-awesome-picker
150150
npm install
151151
npm run dev
152+
npm run build
152153
```
153154

154155
[npm-image]: https://img.shields.io/npm/v/vue-awesome-picker.svg?style=flat

dist/demo.js

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/demo.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@
3232
})
3333
}
3434
</script>
35-
<script src="./dist/vue-awesome-picker.js"></script>
35+
<script src="./dist/demo.js"></script>
3636
</body>
3737
</html>

package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,13 @@
1515
"better-scroll"
1616
],
1717
"scripts": {
18+
"sync:sw-version": "node scripts/sync-sw-version.js",
19+
"predev": "npm run sync:sw-version",
20+
"prebuild": "npm run sync:sw-version",
1821
"dev": "cross-env NODE_ENV=development webpack serve --config webpack.config.js --env target=demo --mode development --open --host 0.0.0.0",
19-
"build": "cross-env NODE_ENV=production webpack --config webpack.config.js --env target=lib --mode production",
22+
"build": "npm run build:lib && npm run build:demo",
23+
"build:lib": "cross-env NODE_ENV=production webpack --config webpack.config.js --env target=lib --mode production",
24+
"build:demo": "cross-env NODE_ENV=production webpack --config webpack.config.js --env target=demo --mode production",
2025
"lint": "eslint --ext .js,.vue src"
2126
},
2227
"repository": {

scripts/sync-sw-version.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
const fs = require('fs')
2+
const path = require('path')
3+
4+
const projectRoot = path.resolve(__dirname, '..')
5+
const packagePath = path.join(projectRoot, 'package.json')
6+
const swPath = path.join(projectRoot, 'sw.js')
7+
8+
const pkg = JSON.parse(fs.readFileSync(packagePath, 'utf8'))
9+
const version = pkg.version
10+
11+
if (!version) {
12+
throw new Error('package.json is missing version')
13+
}
14+
15+
const swContent = fs.readFileSync(swPath, 'utf8')
16+
const versionLinePattern = /const CACHE_VERSION = '([^']+)'/
17+
if (!versionLinePattern.test(swContent)) {
18+
throw new Error('CACHE_VERSION line not found in sw.js')
19+
}
20+
const nextContent = swContent.replace(versionLinePattern, `const CACHE_VERSION = '${version}'`)
21+
22+
if (nextContent !== swContent) {
23+
fs.writeFileSync(swPath, nextContent, 'utf8')
24+
}
25+
26+
console.log(`Synced sw.js cache version to ${version}`)

sw.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
1-
const CACHE_NAME = 'vap-cache-7'
1+
const CACHE_VERSION = '2.0.0'
2+
const CACHE_NAME = `vap-cache-${CACHE_VERSION}`
23
const cacheUrls = [
34
'./',
4-
'./dist/vue-awesome-picker.js',
5+
'./dist/demo.js',
56
'./static/img/vue-logo.png'
67
]
78

89
self.addEventListener('install', (event) => {
910
event.waitUntil(
10-
caches.open(CACHE_NAME).then(cache => cache.addAll(cacheUrls))
11+
caches.open(CACHE_NAME)
12+
.then(cache => cache.addAll(cacheUrls))
13+
.then(() => self.skipWaiting())
1114
)
1215
})
1316

@@ -29,6 +32,6 @@ self.addEventListener('activate', (event) => {
2932
}
3033
})
3134
)
32-
})
35+
}).then(() => self.clients.claim())
3336
)
3437
})

webpack.config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ module.exports = (env = {}, argv = {}) => {
1212
entry: isLibBuild ? './src/lib/index.js' : './src/main.js',
1313
output: {
1414
path: path.resolve(__dirname, './dist'),
15-
publicPath: '/dist/',
16-
filename: 'vue-awesome-picker.js',
15+
publicPath: './dist/',
16+
filename: isLibBuild ? 'vue-awesome-picker.js' : 'demo.js',
1717
clean: isLibBuild,
1818
library: isLibBuild ? 'VueAwesomePicker' : undefined,
1919
libraryTarget: isLibBuild ? 'umd' : undefined,

0 commit comments

Comments
 (0)