{"library":"scratch-webpack-configuration","title":"scratch-webpack-configuration","description":"Shared webpack configuration builder for Scratch projects, version 3.1.2 as of March 2026. Provides a fluent API to construct webpack 5 configurations with defaults for Scratch's build pipeline, including Babel (with optional React), CSS (postcss-loader, css-loader, style-loader), TypeScript (ts-loader), asset modules via resource queries, chunk splitting, and target-specific externals for browserslist and Node. Released under BSD-3-Clause (was AGPL-3.0 in v2). Differentiators: opinionated but extensible via clone/merge, handles Scratch-specific module rules and externals, and integrates with Scratch's semantic release config. Requires webpack 5 and peer dependencies like @babel/preset-env, babel-loader, css-loader, postcss-loader, etc.","language":"javascript","status":"active","last_verified":"Sat Apr 25","install":{"commands":["npm install scratch-webpack-configuration"],"cli":null},"imports":["import ScratchWebpackConfigBuilder from 'scratch-webpack-configuration';","import ScratchWebpackConfigBuilder from 'scratch-webpack-configuration';","import ScratchWebpackConfigBuilder from 'scratch-webpack-configuration';"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import ScratchWebpackConfigBuilder from 'scratch-webpack-configuration';\n\nconst builder = new ScratchWebpackConfigBuilder({\n    rootPath: __dirname,\n    enableReact: true\n})\n.setTarget('browserslist')\n.addModuleRule({\n    test: /\\.css$/,\n    use: ['style-loader', 'css-loader', 'postcss-loader']\n})\n.addPlugin(new (require('copy-webpack-plugin'))({\n    patterns: [{ from: 'public' }]\n}));\n\nexport default builder.get();","lang":"javascript","description":"Shows creating a ScratchWebpackConfigBuilder, enabling React, setting target to browserslist, adding a CSS loader rule, and a CopyWebpackPlugin.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}