Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'rollup-plugin-sourcemaps' in functional components in JavaScript. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
// Register Node.js builtins for browserify compatibility.
builtins(),
// Use Babel to transpile the result, limiting it to the source code.
babel({
include: ['examples/**'],
}),
// Register Node.js globals for browserify compatibility.
globals(),
// Only minify the output in production, since it is very slow.
isProd && uglify(),
// Only parse sourcemaps of dependencies in development.
isDev && sourcemaps(),
].filter(Boolean),
}
}
export function nodeConfig(test = false) {
const externalNodeBuiltins = ["events", "util", "os"];
const baseConfig = {
input: input,
external: depNames.concat(externalNodeBuiltins),
output: { file: "dist/index.js", format: "cjs", sourcemap: true },
preserveSymlinks: false,
plugins: [
sourcemaps(),
replace({
delimiters: ["", ""],
values: {
// replace dynamic checks with if (true) since this is for node only.
// Allows rollup's dead code elimination to be more aggressive.
"if (isNode)": "if (true)"
}
}),
nodeResolve({ preferBuiltins: true }),
cjs(),
json()
]
};
baseConfig.external.push("crypto");
export function nodeConfig(test = false) {
const externalNodeBuiltins = ["crypto", "fs", "os", "url", "assert"];
const baseConfig = {
input: "dist-esm/src/index.js",
external: depNames.concat(externalNodeBuiltins),
output: {
file: "dist/index.js",
format: "cjs",
name: "azurekeyvaultcertificates",
sourcemap: true,
banner: banner
},
plugins: [
sourcemaps(),
replace({
delimiters: ["", ""],
values: {
// replace dynamic checks with if (true) since this is for node only.
// Allows rollup's dead code elimination to be more aggressive.
"if (isNode)": ";isNode; if (true)"
}
}),
nodeResolve({ preferBuiltins: true }),
cjs()
]
};
if (test) {
// entry point is every test file
baseConfig.input = ["dist-esm/test/*.test.js"];
export function browserConfig(test = false) {
const baseConfig = {
input: input,
external: ["ms-rest-js"],
output: {
file: "browser/index.js",
format: "umd",
name: "ExampleClient",
sourcemap: true,
globals: { "ms-rest-js": "msRest" }
},
preserveSymlinks: false,
plugins: [
sourcemaps(),
replace(
// ms-rest-js is externalized so users must include it prior to using this bundle.
{
delimiters: ["", ""],
values: {
// replace dynamic checks with if (false) since this is for
// browser only. Rollup's dead code elimination will remove
// any code guarded by if (isNode) { ... }
"if (isNode)": "if (false)"
}
}
),
nodeResolve({
mainFields: ["module", "browser"],
preferBuiltins: false
}),
export function nodeConfig(test = false) {
const externalNodeBuiltins = ["events", "util"];
const baseConfig = {
input: input,
external: depNames.concat(externalNodeBuiltins),
output: { file: "dist/index.js", format: "cjs", sourcemap: true },
preserveSymlinks: false,
plugins: [
sourcemaps(),
replace({
delimiters: ["", ""],
values: {
// replace dynamic checks with if (true) since this is for node only.
// Allows rollup's dead code elimination to be more aggressive.
"if (isNode)": "if (true)"
}
}),
nodeResolve({ preferBuiltins: true }),
cjs(),
json()
]
};
baseConfig.external.push("crypto", "path");
json(),
// Compile TypeScript files
// Allow bundling cjs modules (unlike webpack, rollup doesn't understand cjs)
commonjs(),
// Allow node_modules resolution, so you can use 'external' to control
// which external modules to include in the bundle
// https://github.com/rollup/rollup-plugin-node-resolve#usage
resolve(),
babel({
babelrc: true,
exclude: 'node_modules/**',
compact: false
}),
// Resolve source maps to the original source
sourceMaps(),
scss({
output: styles => {
if (styles && styles.length) {
const cssOutput = css || output[0].file.replace(/\.(umd|es|iife).js/, '.css');
mkdirp(cssOutput.replace(/[^\/]*$/, ''));
fs.writeFileSync(cssOutput, styles);
}
}
}),
...plugins
]
};
}
export function nodeConfig({ test = false, production = false } = {}) {
const externalNodeBuiltins = ["events", "util", "os"];
const baseConfig = {
input: input,
external: depNames.concat(externalNodeBuiltins),
output: { file: "dist/index.js", format: "cjs", sourcemap: true },
preserveSymlinks: false,
plugins: [
sourcemaps(),
replace({
delimiters: ["", ""],
values: {
// replace dynamic checks with if (true) since this is for node only.
// Allows rollup's dead code elimination to be more aggressive.
"if (isNode)": "if (true)",
"if (!isNode)": "if (false)"
}
}),
nodeResolve({ preferBuiltins: true }),
cjs(),
json()
]
};
if (test) {
export function browserConfig(test = false) {
const baseConfig = {
input: input,
external: ["ms-rest-js"],
output: {
file: "browser/event-hubs.js",
format: "umd",
name: "Azure.Messaging.EventHubs",
sourcemap: true,
globals: { "ms-rest-js": "msRest" }
},
preserveSymlinks: false,
plugins: [
sourcemaps(),
replace(
// ms-rest-js is externalized so users must include it prior to using this bundle.
{
delimiters: ["", ""],
values: {
// replace dynamic checks with if (false) since this is for
// browser only. Rollup's dead code elimination will remove
// any code guarded by if (isNode) { ... }
"if (isNode)": "if (false)"
}
}
),
// fs, net, and tls are used by rhea and need to be shimmed
// dotenv doesn't work in the browser, so replace it with a no-op function
shim({
const plugins = (command, pkg, options) => {
const { extensions, presets, plugins } = babelConfig(command, pkg, options);
const { sourcemap, minify, fallback, port, namedExports, closure } = options;
const babelDefaults = { babelrc: false, configFile: false, compact: false };
return [
sourcemap && sourcemaps(),
json(),
nodeGlobals(),
nodeResolve({
mainFields: ['module', 'jsnext:main', 'browser', 'main'],
extensions,
}),
commonjs({ extensions, include: /\/node_modules\//, namedExports }),
babel({
...babelDefaults,
exclude: 'node_modules/**',
extensions,
presets,
plugins,
}),
replace({ 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV) }),
command !== 'start' &&
external,
output: {
file: getPath(packageJson.module),
format: 'esm',
sourcemap: PRODUCTION,
},
plugins: [
resolve({
mainFields: ['esnext'],
}),
replace({
__PROD__,
}),
typescript(),
babel(),
PRODUCTION && sourceMaps(),
],
})