Closed SupremeTechnopriest closed 7 years ago
@calvinmetcalf This should have everything you requested. Let me know if we need anything else to get this merged in. Happy holidays! 🎄 🎁
The json and html file in dist were supposed to be in there
I wanna double check about process-es6 but otherwise looks pretty good, thanks for the work I'll try to get it to Monday
My pleasure, thanks for your work on rollup. It was tough to get here, but totally worth it.
@calvinmetcalf Are you sure about the dist folder? Here is your .gitignore
on master
https://github.com/calvinmetcalf/rollup-plugin-node-builtins/blob/master/.gitignore
I manually added those even though i had them in the gitinore, but dont worry about it ill deal with it
ok pushed up a few changes, not sure why process-es6 helped you as that caused errors for me
checking to see if this still works with my set up
@calvinmetcalf Yeah I have the same problem. Here is a stack trace:
Could not resolve 'process' from /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/rollup-plugin-node-builtins/src/es6/util.js
Error: Could not resolve 'process' from /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/rollup-plugin-node-builtins/src/es6/util.js
at Error (native)
at /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/rollup-plugin-node-resolve/dist/rollup-plugin-node-resolve.cjs.js:78:21
at /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/index.js:265:24
at /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:46:14
at process (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:173:43)
at ondir (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:188:17)
at load (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:69:43)
at onex (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:92:31)
at /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:22:47
at FSReqWrap.oncomplete (fs.js:123:15)
So I have a library, edgemesh-utils
that gets rolled up with format es
. That library is then used across 3 other projects that are rolled up for the browser with format iife
. It seems that rollup-plugin-node-builtins
needs to be rolled up with its own source code as a plugin (but probably not because that would be redundant). process
ends up being undefined in non node environments. Changing to process-es6
made things browser compatible for me because it could resolve that library while it could not resolve process
.
did you use rollup-plugin-node-globals as well ?
On Mon, Dec 26, 2016 at 11:41 AM Randy Lebeau notifications@github.com wrote:
@calvinmetcalf https://github.com/calvinmetcalf Yeah I have the same problem. Here is a stack trace:
Could not resolve 'process' from /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/rollup-plugin-node-builtins/src/es6/util.js Error: Could not resolve 'process' from /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/rollup-plugin-node-builtins/src/es6/util.js at Error (native) at /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/rollup-plugin-node-resolve/dist/rollup-plugin-node-resolve.cjs.js:78:21 at /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/index.js:265:24 at /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:46:14 at process (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:173:43) at ondir (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:188:17) at load (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:69:43) at onex (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:92:31) at /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:22:47 at FSReqWrap.oncomplete (fs.js:123:15)
So I have a library, edgemesh-utils that gets rolled up with format es. That library is then used across 3 other projects that are rolled up for the browser with format iife. It seems that rollup-plugin-node-builtins needs to be rolled up with its own source code as a plugin (but probably not because that would be redundant). process ends up being undefined in non node environments. Changing to process-es6 made things browser compatible for me because it could resolve that library while it could not resolve process.
— You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/calvinmetcalf/rollup-plugin-node-builtins/pull/23#issuecomment-269225654, or mute the thread https://github.com/notifications/unsubscribe-auth/ABE4n1ouNwVUyL2DNxHI74UrJ7qSOnlhks5rL-4agaJpZM4LVSYn .
yep here is my rollup config
import babel from 'rollup-plugin-babel';
import resolve from 'rollup-plugin-node-resolve';
import builtins from 'rollup-plugin-node-builtins';
import globals from 'rollup-plugin-node-globals';
import commonjs from 'rollup-plugin-commonjs';
import json from 'rollup-plugin-json';
import uglify from 'rollup-plugin-uglify';
import { minify } from 'uglify-js';
const isProd = process.env.NODE_ENV === 'production';
const isServer = process.env.IS_SERVER;
const file = 'edgemesh.utils';
const prodServerTargets = [{ dest: 'server/' + file + '.min.js', format: 'cjs' }];
const prodBrowserTargets = [{ dest: 'dist/' + file + '.min.js', format: 'iife' }];
const devServerTargets = [
{ dest: 'server/' + file + '.js', format: 'cjs' },
{ dest: 'server/index.js', format: 'es' }
];
const devBrowserTargets = [
{ dest: 'dist/' + file + '.browser.js', format: 'iife' },
{ dest: 'dist/' + file + '.js', format: 'es' }
];
export default {
entry: 'src/index.js',
moduleName: 'utils',
plugins: [
resolve({
jsnext: true,
main: true,
browser: true,
preferBuiltins: true
}),
commonjs({
ignoreGlobal: true,
include: 'node_modules/**',
namedExports: {
chai: [ 'expect', 'assert' ]
}
}),
babel({
babelrc: false,
presets: [ 'es2015-rollup' ],
plugins: [
'fast-async',
'transform-flow-strip-types',
'transform-decorators-legacy',
'transform-object-rest-spread',
'transform-class-properties',
'transform-export-extensions'
]
}),
json(),
(!isServer && globals()),
(!isServer && builtins()),
(isProd && uglify({ warnings: true }, minify))
],
targets: isProd
? ( isServer ? prodServerTargets : prodBrowserTargets )
: ( isServer ? devServerTargets : devBrowserTargets )
};
you need globals earlier, before resolve
On Mon, Dec 26, 2016 at 12:54 PM Randy Lebeau notifications@github.com wrote:
yep here is my rollup config
import babel from 'rollup-plugin-babel';import resolve from 'rollup-plugin-node-resolve';import builtins from 'rollup-plugin-node-builtins';import globals from 'rollup-plugin-node-globals';import commonjs from 'rollup-plugin-commonjs';import json from 'rollup-plugin-json';import uglify from 'rollup-plugin-uglify';import { minify } from 'uglify-js'; const isProd = process.env.NODE_ENV === 'production';const isServer = process.env.IS_SERVER;const file = 'edgemesh.utils'; const prodServerTargets = [{ dest: 'server/' + file + '.min.js', format: 'cjs' }];const prodBrowserTargets = [{ dest: 'dist/' + file + '.min.js', format: 'iife' }];const devServerTargets = [ { dest: 'server/' + file + '.js', format: 'cjs' }, { dest: 'server/index.js', format: 'es' } ];const devBrowserTargets = [ { dest: 'dist/' + file + '.browser.js', format: 'iife' }, { dest: 'dist/' + file + '.js', format: 'es' } ]; export default { entry: 'src/index.js', moduleName: 'utils', plugins: [ resolve({ jsnext: true, main: true, browser: true, preferBuiltins: true }), commonjs({ ignoreGlobal: true, include: 'node_modules/**', namedExports: { chai: [ 'expect', 'assert' ] } }), babel({ babelrc: false, presets: [ 'es2015-rollup' ], plugins: [ 'fast-async', 'transform-flow-strip-types', 'transform-decorators-legacy', 'transform-object-rest-spread', 'transform-class-properties', 'transform-export-extensions' ] }), json(), (!isServer && globals()), (!isServer && builtins()), (isProd && uglify({ warnings: true }, minify)) ], targets: isProd ? ( isServer ? prodServerTargets : prodBrowserTargets ) : ( isServer ? devServerTargets : devBrowserTargets ) };
— You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/calvinmetcalf/rollup-plugin-node-builtins/pull/23#issuecomment-269230823, or mute the thread https://github.com/notifications/unsubscribe-auth/ABE4nx1-G0ofP4BvRdFiYx3s1X53VbAiks5rL_8_gaJpZM4LVSYn .
For some reason, if I dont run babel
before globals
I get errors compiling my code. Example:
rollup.config.js
import babel from 'rollup-plugin-babel';
import resolve from 'rollup-plugin-node-resolve';
import builtins from 'rollup-plugin-node-builtins';
import globals from 'rollup-plugin-node-globals';
import commonjs from 'rollup-plugin-commonjs';
import json from 'rollup-plugin-json';
import uglify from 'rollup-plugin-uglify';
import { minify } from 'uglify-js';
const isProd = process.env.NODE_ENV === 'production';
const isServer = process.env.IS_SERVER;
const file = 'edgemesh.utils';
const prodServerTargets = [{ dest: 'server/' + file + '.min.js', format: 'cjs' }];
const prodBrowserTargets = [{ dest: 'dist/' + file + '.min.js', format: 'iife' }];
const devServerTargets = [
{ dest: 'server/' + file + '.js', format: 'cjs' },
{ dest: 'server/index.js', format: 'es' }
];
const devBrowserTargets = [
{ dest: 'dist/' + file + '.browser.js', format: 'iife' },
{ dest: 'dist/' + file + '.js', format: 'es' }
];
export default {
entry: 'src/index.js',
moduleName: 'utils',
plugins: [
(!isServer && globals()),
resolve({
jsnext: true,
main: true,
browser: true,
preferBuiltins: true
}),
commonjs({
ignoreGlobal: true,
include: 'node_modules/**',
namedExports: {
chai: [ 'expect', 'assert' ]
}
}),
babel({
babelrc: false,
presets: [ 'es2015-rollup' ],
plugins: [
'fast-async',
'transform-flow-strip-types',
'transform-decorators-legacy',
'transform-object-rest-spread',
'transform-class-properties',
'transform-export-extensions'
]
}),
json(),
(!isServer && builtins()),
(isProd && uglify({ warnings: true }, minify))
],
targets: isProd
? ( isServer ? prodServerTargets : prodBrowserTargets )
: ( isServer ? devServerTargets : devBrowserTargets )
};
result
Error transforming /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/src/mesh/index.js: Unexpected token (39:20) in /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/src/mesh/index.js
SyntaxError: Error transforming /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/src/mesh/index.js: Unexpected token (39:20) in /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/src/mesh/index.js
at Parser.pp$4.raise (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:2454:13)
at Parser.pp.unexpected (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:616:8)
at Parser.pp.expect (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:610:26)
at Parser.pp$3.parseMethod (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:2271:8)
at Parser.pp$1.parseClassMethod (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:1206:23)
at Parser.pp$1.parseClass (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:1186:12)
at Parser.pp$3.parseExprAtom (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:1977:17)
at Parser.pp$3.parseExprSubscripts (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:1854:19)
at Parser.pp$3.parseMaybeUnary (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:1831:17)
at Parser.pp$3.parseExprOps (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:1773:19)
at Parser.pp$3.parseMaybeConditional (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:1756:19)
at Parser.pp$3.parseMaybeAssign (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:1733:19)
In this case it's failing on the first defined class property because transform-class-properties
hasn't been run on the code yet.
If I move babel
above globals
and before resolve, I still have the same error with process being undefined.
rollup.config.js
import babel from 'rollup-plugin-babel';
import resolve from 'rollup-plugin-node-resolve';
import builtins from 'rollup-plugin-node-builtins';
import globals from 'rollup-plugin-node-globals';
import commonjs from 'rollup-plugin-commonjs';
import json from 'rollup-plugin-json';
import uglify from 'rollup-plugin-uglify';
import { minify } from 'uglify-js';
const isProd = process.env.NODE_ENV === 'production';
const isServer = process.env.IS_SERVER;
const file = 'edgemesh.utils';
const prodServerTargets = [{ dest: 'server/' + file + '.min.js', format: 'cjs' }];
const prodBrowserTargets = [{ dest: 'dist/' + file + '.min.js', format: 'iife' }];
const devServerTargets = [
{ dest: 'server/' + file + '.js', format: 'cjs' },
{ dest: 'server/index.js', format: 'es' }
];
const devBrowserTargets = [
{ dest: 'dist/' + file + '.browser.js', format: 'iife' },
{ dest: 'dist/' + file + '.js', format: 'es' }
];
export default {
entry: 'src/index.js',
moduleName: 'utils',
plugins: [
babel({
babelrc: false,
presets: [ 'es2015-rollup' ],
plugins: [
'fast-async',
'transform-flow-strip-types',
'transform-decorators-legacy',
'transform-object-rest-spread',
'transform-class-properties',
'transform-export-extensions'
]
}),
(!isServer && globals()),
resolve({
jsnext: true,
main: true,
browser: true,
preferBuiltins: true
}),
commonjs({
ignoreGlobal: true,
include: 'node_modules/**',
namedExports: {
chai: [ 'expect', 'assert' ]
}
}),
json(),
(!isServer && builtins()),
(isProd && uglify({ warnings: true }, minify))
],
targets: isProd
? ( isServer ? prodServerTargets : prodBrowserTargets )
: ( isServer ? devServerTargets : devBrowserTargets )
};
result
Could not resolve 'process' from /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/rollup-plugin-node-builtins/src/es6/util.js
Error: Could not resolve 'process' from /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/rollup-plugin-node-builtins/src/es6/util.js
at Error (native)
at /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/rollup-plugin-node-resolve/dist/rollup-plugin-node-resolve.cjs.js:78:21
at /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/index.js:265:24
at /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:46:14
at process (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:173:43)
at ondir (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:188:17)
at load (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:69:43)
at onex (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:92:31)
at /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:22:47
at FSReqWrap.oncomplete (fs.js:123:15)
Put globals and builtins before resolve and after Babel
On Mon, Dec 26, 2016, 1:23 PM Randy Lebeau notifications@github.com wrote:
For some reason, if I dont run babel before globals I get errors compiling my code. Example:
rollup.config.js
import babel from 'rollup-plugin-babel';import resolve from 'rollup-plugin-node-resolve';import builtins from 'rollup-plugin-node-builtins';import globals from 'rollup-plugin-node-globals';import commonjs from 'rollup-plugin-commonjs';import json from 'rollup-plugin-json';import uglify from 'rollup-plugin-uglify';import { minify } from 'uglify-js'; const isProd = process.env.NODE_ENV === 'production';const isServer = process.env.IS_SERVER;const file = 'edgemesh.utils'; const prodServerTargets = [{ dest: 'server/' + file + '.min.js', format: 'cjs' }];const prodBrowserTargets = [{ dest: 'dist/' + file + '.min.js', format: 'iife' }];const devServerTargets = [ { dest: 'server/' + file + '.js', format: 'cjs' }, { dest: 'server/index.js', format: 'es' } ];const devBrowserTargets = [ { dest: 'dist/' + file + '.browser.js', format: 'iife' }, { dest: 'dist/' + file + '.js', format: 'es' } ]; export default { entry: 'src/index.js', moduleName: 'utils', plugins:
[ (!isServer && globals()),
resolve({ jsnext: true, main: true, browser: true, preferBuiltins: true }), commonjs({ ignoreGlobal: true, include: 'node_modules/**', namedExports: { chai: [ 'expect', 'assert' ] } }), babel({ babelrc: false, presets: [ 'es2015-rollup' ], plugins: [ 'fast-async', 'transform-flow-strip-types', 'transform-decorators-legacy', 'transform-object-rest-spread', 'transform-class-properties', 'transform-export-extensions' ] }), json
(), (!isServer && builtins()), (isProd && uglify({ warnings: true }, minify)) ], targets: isProd
? ( isServer ? prodServerTargets : prodBrowserTargets ) : ( isServer ? devServerTargets : devBrowserTargets ) };
result
Error transforming /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/src/mesh/index.js: Unexpected token (39:20) in /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/src/mesh/index.js SyntaxError: Error transforming /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/src/mesh/index.js: Unexpected token (39:20) in /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/src/mesh/index.js at Parser.pp$4.raise (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:2454:13) at Parser.pp.unexpected (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:616:8) at Parser.pp.expect (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:610:26) at Parser.pp$3.parseMethod (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:2271:8) at Parser.pp$1.parseClassMethod (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:1206:23) at Parser.pp$1.parseClass (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:1186:12) at Parser.pp$3.parseExprAtom (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:1977:17) at Parser.pp$3.parseExprSubscripts (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:1854:19) at Parser.pp$3.parseMaybeUnary (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:1831:17) at Parser.pp$3.parseExprOps (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:1773:19) at Parser.pp$3.parseMaybeConditional (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:1756:19) at Parser.pp$3.parseMaybeAssign (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/acorn/dist/acorn.js:1733:19)
In this case it's failing on the first defined class property because transform-class-properties hasn't been run on the code yet.
If I move babel above globals and before resolve, I still have the same error with process being undefined.
rollup.config.js
import babel from 'rollup-plugin-babel';import resolve from 'rollup-plugin-node-resolve';import builtins from 'rollup-plugin-node-builtins';import globals from 'rollup-plugin-node-globals';import commonjs from 'rollup-plugin-commonjs';import json from 'rollup-plugin-json';import uglify from 'rollup-plugin-uglify';import { minify } from 'uglify-js'; const isProd = process.env.NODE_ENV === 'production';const isServer = process.env.IS_SERVER;const file = 'edgemesh.utils'; const prodServerTargets = [{ dest: 'server/' + file + '.min.js', format: 'cjs' }];const prodBrowserTargets = [{ dest: 'dist/' + file + '.min.js', format: 'iife' }];const devServerTargets = [ { dest: 'server/' + file + '.js', format: 'cjs' }, { dest: 'server/index.js', format: 'es' } ];const devBrowserTargets = [ { dest: 'dist/' + file + '.browser.js', format: 'iife' }, { dest: 'dist/' + file + '.js', format: 'es' } ]; export default { entry: 'src/index.js', moduleName: 'utils', plugins:
[
babel({ babelrc: false, presets: [ 'es2015-rollup' ], plugins: [ 'fast-async', 'transform-flow-strip-types', 'transform-decorators-legacy', 'transform-object-rest-spread', 'transform-class-properties', 'transform-export-extensions'
] }), (!isServer && globals()),
resolve({ jsnext: true, main: true, browser: true, preferBuiltins: true }), commonjs({ ignoreGlobal: true, include: 'node_modules/**', namedExports: { chai: [ 'expect', 'assert'
] } }), json(), (!isServer && builtins()), (isProd && uglify({ warnings: true }, minify)) ], targets: isProd
? ( isServer ? prodServerTargets : prodBrowserTargets ) : ( isServer ? devServerTargets : devBrowserTargets ) };
result
Could not resolve 'process' from /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/rollup-plugin-node-builtins/src/es6/util.js Error: Could not resolve 'process' from /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/rollup-plugin-node-builtins/src/es6/util.js at Error (native) at /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/rollup-plugin-node-resolve/dist/rollup-plugin-node-resolve.cjs.js:78:21 at /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/index.js:265:24 at /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:46:14 at process (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:173:43) at ondir (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:188:17) at load (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:69:43) at onex (/Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:92:31) at /Users/rl/Sites/clients/edgemesh/edgemesh/edgemesh-utils/node_modules/browser-resolve/node_modules/resolve/lib/async.js:22:47 at FSReqWrap.oncomplete (fs.js:123:15)
— You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/calvinmetcalf/rollup-plugin-node-builtins/pull/23#issuecomment-269232658, or mute the thread https://github.com/notifications/unsubscribe-auth/ABE4nz4uP06rTmuSLfazZqrT8jdhL60vks5rMAYsgaJpZM4LVSYn .
that results in:
'default' is not exported by node_modules/array-keys/index.js (imported by src/coms/index.js). For help fixing this error see https://github.com/rollup/rollup/wiki/Troubleshooting#name-is-not-exported-by-module
which is solved by resolve.
Maybe globals
builtins
and resolve
should be rolled into one plugin? I haven't done too much looking under the hood of rollup, but seems to be some kind of race condition between plugins.
There is some long term talk of combining globals with cjs and builtins with resolve, I'm on vacation rest of this week but can look into it next week, in the meantime the cjs config module is something I threw together a while back to get all the config in the right order
On Tue, Dec 27, 2016, 1:49 AM Randy Lebeau notifications@github.com wrote:
that results in:
'default' is not exported by node_modules/array-keys/index.js (imported by src/coms/index.js). For help fixing this error see https://github.com/rollup/rollup/wiki/Troubleshooting#name-is-not-exported-by-module
which is solved by resolve.
Maybe globals builtins and resolve should be rolled into one plugin? I haven't done too much looking under the hood of rollup, but seems to be some kind of race condition between plugins.
— You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/calvinmetcalf/rollup-plugin-node-builtins/pull/23#issuecomment-269252607, or mute the thread https://github.com/notifications/unsubscribe-auth/ABE4nyXQzzqW23bQbZe4o_ZiNaQjAhN0ks5rMGCSgaJpZM4LVSYn .
Okay Calvin sounds good. I'll use my master branch in the mean time. Enjoy the rest of your vacation and we will talk next week.
Sent from my iPhone
On Dec 27, 2016, at 1:41 PM, Calvin Metcalf notifications@github.com wrote:
There is some long term talk of combining globals with cjs and builtins with resolve, I'm on vacation rest of this week but can look into it next week, in the meantime the cjs config module is something I threw together a while back to get all the config in the right order
On Tue, Dec 27, 2016, 1:49 AM Randy Lebeau notifications@github.com wrote:
that results in:
'default' is not exported by node_modules/array-keys/index.js (imported by src/coms/index.js). For help fixing this error see https://github.com/rollup/rollup/wiki/Troubleshooting#name-is-not-exported-by-module
which is solved by resolve.
Maybe globals builtins and resolve should be rolled into one plugin? I haven't done too much looking under the hood of rollup, but seems to be some kind of race condition between plugins.
— You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/calvinmetcalf/rollup-plugin-node-builtins/pull/23#issuecomment-269252607, or mute the thread https://github.com/notifications/unsubscribe-auth/ABE4nyXQzzqW23bQbZe4o_ZiNaQjAhN0ks5rMGCSgaJpZM4LVSYn . — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
I'm back from vacation will take a look in the next day or 2
Sounds good let me know how I can help. Im currently working on getting a webworkify rollup equivalent together.
re webworkify you may be better off just creating a second bundle and pointing to it separately, I'm not sure how much easier doing object url style hacks are going to make it long term
👋 @calvinmetcalf @rich-harris
I took a stab at combining rollup-plugin-node-resolve
and rollup-plugin-node-builtins
. I was getting some weird issues trying to rollup my project which admittedly has a very complex build chain. I also added a few more options:
browserModule
Add the browserModule
property to package.json
and set this to true to prefer browser built es
over module
. I needed this to get my isomorphic library to work with rollup.
moduleDirectory
Allows for usage of custom resolve paths with node-resolve. Same as setting NODE_PATH
env. node_modules
gets concatenated so you only have to add your custom library. In my case it was
{
moduleDirectory: [ 'src' ]
}
preferBuiltins
Setting preferBuiltins
to true
will use browser ready es6 versions of node builtins where applicable.
builtins
The heavier libraries are still configurable. fs
and crypto
will resolve empty by default but can be configured to load browser replacements with the builtins
option.
{
builtins: {
fs: true,
crypto: true
}
}
The plugin is located here. I haven't submitted a PR because I'm not sure if this is something you are interested in doing. If you would like me to submit a PR I will. Otherwise I will maintain my own version as these changes are required to build my project.
Thanks for your work on Rollup. While it was extremely frustrating for me to get up and running, it was most certainly worth the effort. Builds so fast!
tot's forgot about this, thanks merged can publish latter today
A continuation of #22