-
Notifications
You must be signed in to change notification settings - Fork 16
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Description
Even though Parcel has native support for Node packages replacement, we still want to provide support using this module.
global, process and Buffer replacements are handled natively by Parcel inside Rust codebase so we won’t touch it and let Parcel resolve everything by itself.
In your project:
package.json
{
"devDependencies": {
"parcel-resolver-node-stdlib-browser": "file:node_modules/node-stdlib-browser/helpers/parcel/parcel-resolver-node-stdlib-browser"
}
}.parcelrc
{
"extends": "@parcel/config-default",
"resolvers": ["parcel-resolver-node-stdlib-browser", "..."]
}In this module, for helpers/parcel/parcel-resolver-node-stdlib-browser:
package.json
{
"name": "parcel-resolver-node-stdlib-browser",
"main": "index.js",
"engines": { "parcel": "^2.0.0" }
}index.js
const { Resolver } = require('@parcel/plugin');
const { promisify } = require('util');
const stdLibBrowser = require('node-stdlib-browser');
const browserResolve = require('browser-resolve');
const pBrowserResolve = promisify(browserResolve);
module.exports = new Resolver({
async resolve({ specifier }) {
if (typeof stdLibBrowser[specifier] !== 'undefined') {
const filePath = await pBrowserResolve(stdLibBrowser[specifier], {});
return {
filePath: filePath,
};
}
return null;
},
});Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation