APIDevTools / json-schema-ref-parser

Parse, Resolve, and Dereference JSON Schema $ref pointers in Node and browsers
https://apitools.dev/json-schema-ref-parser
MIT License
956 stars 228 forks source link

[Build] Don't work production build with @apidevtools/json-schema-ref-parser, but development mode it's work #267

Closed yura007rt closed 7 months ago

yura007rt commented 2 years ago

Hello! I ran into a build problem in product mode my project vite + react when adding a library @apidevtools/json-schema-ref-parser. I create issue in vite.

I added plugins @esbuild-plugins/node-modules-polyfill and @esbuild-plugins/node-globals-polyfill in vite.config for development mode it's help me, but it's dont work for production mode. I tried add rollup plugin with nodejs rollup-plugin-polyfill-node dependencies for production mode, but it's not help me.

May be do you know how to resolve this problem?

my vite.config.ts and my start project

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import NodeModulesPolyfill from '@esbuild-plugins/node-modules-polyfill'
import NodeGlobalsPolyfill from '@esbuild-plugins/node-globals-polyfill'
import nodePolyfills from 'rollup-plugin-polyfill-node'

export default defineConfig(({command, mode}) => {
  return {
    plugins: [
      react(),
    ],
    optimizeDeps: {
      esbuildOptions: {
        plugins: [
          NodeModulesPolyfill(),
          NodeGlobalsPolyfill({
            buffer: true,
            process: true,
          }),
        ],
      },
    },
    build: {
      sourcemap: true,
      emptyOutDir: true,
      rollupOptions: {
        plugins: [
          nodePolyfills(),
        ],
      },
    },
    server: command === 'serve' ? {open: '/'} : undefined,
  }
})
philsturgeon commented 1 year ago

@yura007rt can you see if this fix helped?