Sha256: 2a3675cb984d7fcba7083cb8dd67f42d9fe2ffe4e3c2a3c9b4869f048c90a055

Contents?: true

Size: 1.32 KB

Versions: 36

Compression:

Stored size: 1.32 KB

Contents

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

      callbacks.forEach(({ type, callback, filter, namespace }) => {
        if (type === 'onResolve') {
          build.onResolve({ filter, namespace }, async params => {
            if (params.pluginData?.isResolvingPath) return

            let results

            if (options.debug) {
              console.debug()
              console.group(`plugin(${pluginName}):onResolve`, { filter, namespace })
              console.debug('params:', params)

              try {
                results = await callback(params)
                console.debug('results:', results)
              } finally {
                console.groupEnd()
              }
            } else {
              results = await callback(params)
            }

            return results
          })
        } else if (type === 'onLoad') {
          build.onLoad({ filter, namespace }, async params => {
            options.debug && console.debug(`plugin(${pluginName}):onLoad`, { params })

            const results = await callback(params)

            options.debug && console.debug(`plugin(${pluginName}):onLoad`, { results })

            return results
          })
        }
      })
    }
  })
}

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
proscenium-0.6.0-arm64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.6.0-x86_64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.6.0-x86_64-linux lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.5.1-arm64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.5.1-x86_64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.5.1-x86_64-linux lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.5.0-arm64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.5.0-x86_64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.5.0-x86_64-linux lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.4.2-arm64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.4.2-x86_64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.4.2-x86_64-linux lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.4.1-arm64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.4.1-x86_64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.4.1-x86_64-linux lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.4.0-arm64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.4.0-x86_64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.4.0-x86_64-linux lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.3.0-arm64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js
proscenium-0.3.0-x86_64-darwin lib/proscenium/compilers/esbuild/setup_plugin.js