1.4.0 • Published 6 years ago

rollup-plugin-node-globals v1.4.0

Weekly downloads
48,542
License
MIT
Repository
github
Last release
6 years ago

rollup-plugin-node-globals

Plugin to insert node globals including so code that works with browserify should work even if it uses process or buffers. This is based on rollup-plugin-inject .

  • process
  • global
  • Buffer
  • __dirname
  • __filename

Plus process.nextTick and process.browser are optimized to only pull in themselves and __dirname and __filename point to the file on disk

There are a few options to control output

  • process - pass false to disable process polyfilling
  • global - pass false to disable global polyfilling
  • buffer - pass false to disable Buffer polyfilling
  • dirname - pass false to disable __dirname polyfilling
  • filename - pass false to disable __filename polyfilling
  • baseDir which is used for resolving __dirname and __filename.

examples

var foo;
if (process.browser) {
  foo = 'bar';
} else {
  foo = 'baz';
}

turns into

import {browser} from 'path/to/process';
var foo;
if (browser) {
  foo = 'bar';
} else {
  foo = 'baz';
}

but with rollup that ends up being

var browser = true;
var foo;
if (browser) {
  foo = 'bar';
} else {
  foo = 'baz';
}

or

var timeout;
if (global.setImmediate) {
  timeout = global.setImmediate;
} else {
  timeout = global.setTimeout;
}
export default timeout;

turns into

import {_global} from 'path/to/global.js';
var timeout;
if (_global.setImmediate) {
  timeout = _global.setImmediate;
} else {
  timeout = _global.setTimeout;
}
export default timeout;

which rollup turns into

var _global = typeof global !== "undefined" ? global :
            typeof self !== "undefined" ? self :
            typeof window !== "undefined" ? window : {}

var timeout;
if (_global.setImmediate) {
  timeout = _global.setImmediate;
} else {
  timeout = _global.setTimeout;
}
var timeout$1 = timeout;

export default timeout$1;

With that top piece only showing up once no matter how many times global was used.

@guacson/docs@g7fe/g7-scriptsnode-lib-dependenciesmarigold-buildcf-storybookbappo-scriptsanatha-sdkgsmlg-scriptss40-scripts@eureka-ds/builderreading-level-report@pega/custom-componentalex-frontend-sdk-stagingcal-scripts@elastosfoundation/elastos-hive-js-sdk@dchagastelles/elastos-hive-js-sdkxania-cli@infinitebrahmanuniverse/nolb-rollup-plugin-n@everything-registry/sub-chunk-2681vuesfcbuilder@skara-live/skara-activityyfhx-fe-viewx22-sdkvue3-3dweb3-providers-es-modulewebpack-http-push-server-pluginweb3-es-modulevx0tooltheme-creativeshoptimegraph-tstesttspktest996telehash-mantlets_xinputurl-parse-es-moduleuptrend-scriptsuse-softbakerv-react-cliv-tagsvsfcvirtualkeyboard-vr-readyvite-plugin-cloudflareveniamsequivemo-ui-libraryviz-react-boilerplate@inthepocket/itp-react-scripts@iopipe/scripts@itsjonq/zerosvg-icon-reacttaro-plugin-image-lazyloadtaskkit-rolluptdunn-scriptsyjnb-uiyl-flowzipkin-uberselktsgnbuildsinglepage-jsskod-scriptssme-scriptssorun-jssolong.jssolmate.jssplair.jsstream-es-module@mitter-io/node@matthewp/compile@keyrock-dev/jotun@lx-frontend/svg2canvas@ms-cloudpack/local-dev-service@mqschwanda/rollup-config-default@mtbird/cliwumpyxaas-sdkxaas-sdk-newxcratch-build@jsenv/cjs-to-esm@jsenv/commonjs-converter@jsenv/plugin-commonjs@jrgraves/image-utils@marchyang/add-auxiliary-tools@networkteam/gulpfile@deepakmaurya/packet-decoder@radiobridge/packet-decoder@rainmakerdigital/vista-sdk@sandboxes/feature@redsift/redsift-bundler@nbook/dev@poorest/rollup@niht/chef@njmyers/rollup-config@qctrl/elements-css@nickglenn/frontend-config@teamhive/stencil-pdf-viewer@warrenseymour/rollup-plugin-node-builtins@voila/websiteeiusmaxime@tslsmart/map_adapterember-cli-rollup
1.4.0

6 years ago

1.3.0

6 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.0

7 years ago

1.0.9

8 years ago

1.0.8

8 years ago

1.0.7

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago