Skip to content
This repository was archived by the owner on Apr 7, 2022. It is now read-only.

Commit 9e5431b

Browse files
authored
feat: more accurate signatures (#7)
1 parent 79b0b71 commit 9e5431b

File tree

3 files changed

+23
-21
lines changed

3 files changed

+23
-21
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
"tsup": "^4.12.5",
5151
"typescript": "^4.2.4",
5252
"vite": "^2.2.1",
53-
"vite-plugin-package-config": "^0.1.0"
53+
"vite-plugin-package-config": "^0.1.1"
5454
},
5555
"peerDependencies": {
5656
"vite": "^2.0.0",

pnpm-lock.yaml

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

src/index.ts

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import fs from 'fs-extra'
22
import _debug from 'debug'
33
import type { Plugin } from 'vite'
4-
import type { Options as PkgConfigOptions } from 'vite-plugin-package-config'
4+
import type { VitePluginPackageConfigPlugin } from 'vite-plugin-package-config'
55

66
const debug = _debug('vite-plugin-optimize-persist')
77

@@ -21,28 +21,30 @@ export interface Options {
2121
filter?: (includeModule: string) => boolean
2222
}
2323

24-
function VitePluginPackageConfig({ delay = 1000, filter = () => true }: Options = {}): Plugin {
25-
26-
return <Plugin> {
24+
function VitePluginOptimizePersist({ delay = 1000, filter = () => true }: Options = {}): Plugin {
25+
return {
2726
name: 'hi',
2827
apply: 'serve',
2928
configureServer(server) {
30-
const pkgConfig: Required<PkgConfigOptions> = (server.config.plugins as any).find((i: any) => i.name === 'vite-plugin-package-config')?.api.options
29+
const vitePluginPackageConfigPlugin = server.config.plugins.find(plugin => plugin.name === 'vite-plugin-package-config') as VitePluginPackageConfigPlugin | undefined
30+
const pkgConfig = vitePluginPackageConfigPlugin?.api.options
3131

3232
if (!pkgConfig)
3333
throw new Error('[vite-config-optimize-persist] plugin "vite-plugin-package-config" not found, have you installed it ?')
3434

35+
const { packageJsonPath, field } = pkgConfig
36+
3537
// @ts-expect-error
36-
let optimizeDepsMetadata: any = server._ssrExternals
38+
let optimizeDepsMetadata: { optimized: Record<string, string> } | undefined = server._ssrExternals
3739
const forceIncluded = server.config?.optimizeDeps?.include || []
3840
let newDeps: string[] = []
39-
let timer: any
41+
let timer: NodeJS.Timeout
4042

4143
function update() {
4244
newDeps = Object.keys(
4345
optimizeDepsMetadata?.optimized || {},
4446
)
45-
.filter(i => !forceIncluded.includes(i))
47+
.filter(dep => !forceIncluded.includes(dep))
4648
.filter(filter)
4749
debug('newDeps', newDeps)
4850

@@ -54,19 +56,19 @@ function VitePluginPackageConfig({ delay = 1000, filter = () => true }: Options
5456
if (!newDeps.length)
5557
return
5658

57-
debug(`writting to ${pkgConfig.packageJsonPath}`)
58-
const pkg = await fs.readJSON(pkgConfig.packageJsonPath)
59-
pkg[pkgConfig.field] = pkg[pkgConfig.field] || {}
60-
const extend = pkg[pkgConfig.field]
59+
debug(`writting to ${packageJsonPath}`)
60+
const pkg = await fs.readJSON(packageJsonPath)
61+
pkg[field] = pkg[field] || {}
62+
const extend = pkg[field]
6163
extend.optimizeDeps = extend.optimizeDeps || {}
6264
extend.optimizeDeps.include = Array.from(new Set([
6365
...(extend.optimizeDeps.include || []),
6466
...newDeps,
6567
]))
6668
extend.optimizeDeps.include.sort()
67-
server.watcher.unwatch(pkgConfig.packageJsonPath)
68-
await fs.writeJSON(pkgConfig.packageJsonPath, pkg, { spaces: 2 })
69-
server.watcher.add(pkgConfig.packageJsonPath)
69+
server.watcher.unwatch(packageJsonPath)
70+
await fs.writeJSON(packageJsonPath, pkg, { spaces: 2 })
71+
server.watcher.add(packageJsonPath)
7072
debug('written')
7173
}
7274

@@ -83,4 +85,4 @@ function VitePluginPackageConfig({ delay = 1000, filter = () => true }: Options
8385
}
8486
}
8587

86-
export default VitePluginPackageConfig
88+
export default VitePluginOptimizePersist

0 commit comments

Comments
 (0)