framework/js-packages/webpack-config
dependabot[bot] 13e655aca5
chore(deps): bump webpack from 5.75.0 to 5.76.0 (#3761)
Bumps [webpack](https://github.com/webpack/webpack) from 5.75.0 to 5.76.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.75.0...v5.76.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-19 07:45:00 +01:00
..
.yarn/releases feat: add support for Plug'n'Play package managers (#14) 2021-11-08 23:53:18 +00:00
.gitignore feat: add support for Plug'n'Play package managers (#14) 2021-11-08 23:53:18 +00:00
.prettierrc.json Fix Flarum on iOS 10 and below (#9) 2021-05-04 00:39:10 +01:00
.yarnrc.yml feat: add support for Plug'n'Play package managers (#14) 2021-11-08 23:53:18 +00:00
babel.config.js feat(jest): create jest config package for unit testing (#3678) 2023-02-08 22:02:40 +01:00
index.js feat(jest): create jest config package for unit testing (#3678) 2023-02-08 22:02:40 +01:00
LICENSE Update copyright year 2021-05-15 00:54:10 +01:00
package.json chore(deps): bump webpack from 5.75.0 to 5.76.0 (#3761) 2023-04-19 07:45:00 +01:00
README.md Change first line to be a heading 2021-05-20 22:09:15 +01:00

Webpack config for Flarum JS/TS compilation

This package generates a Webpack config object that will compile JavaScript for use in Flarum.

Usage

webpack.config.js

var config = require('flarum-webpack-config');

module.exports = config(options);

To merge in custom Webpack config options, use webpack-merge.

Webpack Bundle Analyzer

You can view a visual representation of your JS Bundle by building with Webpack Bundle Analyzer.

Add another build script to your package.json like the one below:

{
  "analyze": "npx cross-env ANALYZER=true npm run build"
}

Typescript

You'll need to configure a tsconfig.json file to ensure your IDE sets up Typescript support correctly.

For details about this, see the flarum/flarum-tsconfig repository

Options

useExtensions

Array<string>, defaults to [].

An array of extensions whose modules should be made available. This is a shortcut to add externals configuration for extension modules. Imported extension modules will not be bundled, but will instead refer to the extension's exports included in the Flarum runtime (ie. flarum.extensions["vendor/package"]).

For example, to access the Tags extension module within your extension:

forum.js

import { Tag } from '@flarum/tags/forum';

webpack.config.js

module.exports = config({
  useExtensions: ['flarum/tags'],
});