Fix warning from Webpack with OptionalRequire.js

This commit is contained in:
Florian Rival
2018-08-25 12:37:00 +01:00
parent e9a50f1146
commit 1e1b3a7a42
3 changed files with 19 additions and 5 deletions

View File

@@ -31,6 +31,7 @@
"lodash": "4.17.4",
"material-ui": "0.20",
"material-ui-search-bar": "0.4.1",
"node-require-function": "^1.2.0",
"pixi-simple-gesture": "0.2.2",
"pixi.js": "3.0.11",
"prop-types": "^15.5.10",

View File

@@ -1,4 +1,5 @@
// Note: this file don't use export/imports to allow its usage from Node.js
const nodeRequire = require('node-require-function')(arguments);
/**
* Allow to require a Node.js/npm module without having it bundled by webpack.
@@ -11,15 +12,17 @@ const optionalRequire = (moduleName, config = {
rethrowException: false,
}) => {
try {
// Avoid webpack trying to inject the module by using an expression
// and global to get the require function.
if (global.require) { // Electron/webpack
if (global.require) {
// Electron will expose require on global object. Use it, with an
// expression to avoid webpack to try to bundle the call to require.
return global['require'](moduleName);
} else if (typeof require !== 'undefined') { //Node.js/CommonJS
const nodeRequire = require;
} else if (nodeRequire) { //Node.js
// nodeRequire is Node.js' require function that is properly extracted
// by node-require-function when running on Node.js
return nodeRequire(moduleName);
}
// We don't have Electron require nor Node.js require (we must be in a browser)
return null;
} catch (ex) {
if (config.rethrowException) throw ex;

View File

@@ -256,6 +256,10 @@
version "3.0.1"
resolved "https://registry.yarnpkg.com/@types/inline-style-prefixer/-/inline-style-prefixer-3.0.1.tgz#8541e636b029124b747952e9a28848286d2b5bf6"
"@types/node@*":
version "10.9.2"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.9.2.tgz#f0ab8dced5cd6c56b26765e1c0d9e4fdcc9f2a00"
"@types/prop-types@*":
version "15.5.5"
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.5.5.tgz#17038dd322c2325f5da650a94d5f9974943625e3"
@@ -5746,6 +5750,12 @@ node-pre-gyp@^0.6.36, node-pre-gyp@^0.6.39:
tar "^2.2.1"
tar-pack "^3.4.0"
node-require-function@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/node-require-function/-/node-require-function-1.2.0.tgz#09d73fb19a191ff0f0e8b3cdb4e5e091b47b4435"
dependencies:
"@types/node" "*"
node-status-codes@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f"