Sha256: dd97267cf703b67e796bdee342c005fe19a9c13c23fcd00e0b9de5bd79e5ad5c

Contents?: true

Size: 1.04 KB

Versions: 6

Compression:

Stored size: 1.04 KB

Contents

export default (pluginName, pluginFn) => {
  return (options = {}) => ({
    name: pluginName,
    setup(build) {
      const plugin = pluginFn(build, options)

      if (plugin.onResolve) {
        const { callback, ...onResolve } = plugin.onResolve

        build.onResolve(onResolve, async params => {
          if (params.pluginData?.isResolvingPath) return

          options.debug && console.debug(`plugin(${pluginName}):onResolve`, params.path, { params })
          const results = await callback(params)
          options.debug &&
            console.debug(`plugin(${pluginName}):onResolve`, params.path, { results })

          return results
        })
      }

      if (plugin.onLoad) {
        const { callback, ...onLoad } = plugin.onLoad

        build.onLoad(onLoad, params => {
          options.debug && console.debug(`plugin(${pluginName}):onLoad`, { params })
          const results = callback(params)
          options.debug && console.debug(`plugin(${pluginName}):onLoad`, { results })

          return results
        })
      }
    }
  })
}

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
proscenium-0.1.0.alpha2-x86_64-linux lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.1.0.alpha2-x86_64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.1.0.alpha2-arm64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.1.0.alpha1-x86_64-linux lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.1.0.alpha1-x86_64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.1.0.alpha1-arm64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js