liuweiGL / vite-plugin-mkcert

Provide certificates for vite's https dev service.
https://www.npmjs.com/package/vite-plugin-mkcert
MIT License
541 stars 37 forks source link

TypeError: Cannot read properties of undefined (reading 'InstanceSet') #68

Closed tjx666 closed 1 year ago

tjx666 commented 1 year ago

Describe the bug

with following config:

import { defineConfig } from "vite";
import mkcert from "vite-plugin-mkcert";
import path from "node:path";

// https://vitejs.dev/config/
export default defineConfig({
    server: {
        https: true,
    },
    plugins: [
        mkcert({
            source: "coding",
            savePath: path.resolve(process.cwd(), "node_modules/.cert"),
        }),
    ],
});

when path.resolve(process.cwd(), "node_modules/.cert") is empty, vite will throw error TypeError: Cannot read properties of undefined (reading 'InstanceSet')

Somethings need to note:

  1. this issue only happen mac m1, intel m1 no this issue
  2. this issue only happen when I set source to coding, if I use default source, no this issue
  3. this issue only happen when path.resolve(process.cwd(), "node_modules/.cert") cache not existed

Reproduction

https://github.com/tjx666/vite-plugin-mkcert-issue-m1

git clone git@github.com:tjx666/vite-plugin-mkcert-issue-m1.git
pnpm install
pnpm dev

System Info

Output of npx envinfo --system --npmPackages vite,vite-plugin-mkcert --binaries --browsers:

  System:
    OS: macOS 13.3.1
    CPU: (8) arm64 Apple M1
    Memory: 1.25 GB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.16.0 - ~/Library/Caches/fnm_multishells/24796_1684232764095/bin/node
    Yarn: 1.22.19 - ~/Library/Caches/fnm_multishells/24796_1684232764095/bin/yarn
    npm: 9.5.1 - ~/Library/Caches/fnm_multishells/24796_1684232764095/bin/npm
  Browsers:
    Chrome: 113.0.5672.92
    Safari: 16.4
  npmPackages:
    vite: ^4.3.6 => 4.3.6 
    vite-plugin-mkcert: ^1.15.0 => 1.15.0 

Used package manager: pnpm 8.5.1

Logs

error when starting dev server:
TypeError: Cannot read properties of undefined (reading 'InstanceSet')
    at _CodingSource.getSourceInfo (file:///Users/yutengjing/code/vite-plugin-mkcert-issue-m1/node_modules/.pnpm/registry.npmmirror.com+vite-plugin-mkcert@1.15.0_vite@4.3.6/node_modules/vite-plugin-mkcert/dist/mkcert.mjs:331:47)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Mkcert.getSourceInfo (file:///Users/yutengjing/code/vite-plugin-mkcert-issue-m1/node_modules/.pnpm/registry.npmmirror.com+vite-plugin-mkcert@1.15.0_vite@4.3.6/node_modules/vite-plugin-mkcert/dist/mkcert.mjs:551:24)
    at async Mkcert.initMkcert (file:///Users/yutengjing/code/vite-plugin-mkcert-issue-m1/node_modules/.pnpm/registry.npmmirror.com+vite-plugin-mkcert@1.15.0_vite@4.3.6/node_modules/vite-plugin-mkcert/dist/mkcert.mjs:572:24)
    at async Mkcert.init (file:///Users/yutengjing/code/vite-plugin-mkcert-issue-m1/node_modules/.pnpm/registry.npmmirror.com+vite-plugin-mkcert@1.15.0_vite@4.3.6/node_modules/vite-plugin-mkcert/dist/mkcert.mjs:545:7)
    at async config (file:///Users/yutengjing/code/vite-plugin-mkcert-issue-m1/node_modules/.pnpm/registry.npmmirror.com+vite-plugin-mkcert@1.15.0_vite@4.3.6/node_modules/vite-plugin-mkcert/dist/mkcert.mjs:673:7)
    at async runConfigHook (file:///Users/yutengjing/code/vite-plugin-mkcert-issue-m1/node_modules/.pnpm/registry.npmmirror.com+vite@4.3.6/node_modules/vite/dist/node/chunks/dep-a04f07ec.js:64520:25)
    at async resolveConfig (file:///Users/yutengjing/code/vite-plugin-mkcert-issue-m1/node_modules/.pnpm/registry.npmmirror.com+vite@4.3.6/node_modules/vite/dist/node/chunks/dep-a04f07ec.js:64006:14)
    at async _createServer (file:///Users/yutengjing/code/vite-plugin-mkcert-issue-m1/node_modules/.pnpm/registry.npmmirror.com+vite@4.3.6/node_modules/vite/dist/node/chunks/dep-a04f07ec.js:63247:20)
    at async CAC.<anonymous> (file:///Users/yutengjing/code/vite-plugin-mkcert-issue-m1/node_modules/.pnpm/registry.npmmirror.com+vite@4.3.6/node_modules/vite/dist/node/cli.js:733:24)
 ELIFECYCLE  Command failed with exit code 1.

lvlingjie commented 1 year ago

same error, how tor resolve it ?

liuweiGL commented 1 year ago

Cannot read properties of undefined (reading 'InstanceSet') 这个错误是 coding.net 接口返回值为空导致的,但是我本地测试是好的没法重现。 https://github.com/liuweiGL/vite-plugin-mkcert/blob/a5bd23fe8dadae62d7bff034848df186fb2b9eb1/plugin/mkcert/source.ts#L121

tjx666 commented 1 year ago

1.14.0 版本是没问题的

liuweiGL commented 1 year ago

:tada: This issue has been resolved in version 1.16.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: