1.25.0 • Published 2 months ago

@swissquote/crafty-runner-webpack v1.25.0

Weekly downloads
79
License
Apache-2.0
Repository
github
Last release
2 months ago

Description

Webpack is an asset bundler, its purpose is to compile your JavaScript code to be the most efficient possible for production.

TOC

Features

  • Bundle your JavaScript using EcmaScript 2015 imports or commonjs imports
  • Your code is Uglified after compilation.
  • Configurable output formats
  • Watch mode, re-compiles your files on changes
  • Analyze your bundles with --analyze which will create a stats file next to the generated JavaScript
  • Profile Webpack's execution time with --analyze

Configuration

Options

We don't provide any option to configure Webpack outside bundles, but as crafty.config.js is considered as a preset, you can define the webpack override method in your configuration file and change the configuration to your needs.

Check the Extending the configuration section below for more information on that.

Bundle Options

OptionTypeOptional ?RunnerDescription
hotBooleanYesWebpackAllows to use Hot Module Replacement in watch mode (false by default)
libraryTargetStringYesWebpackDefine the library type to export. By default we use amd. Possible values
libraryStringYesWebpackDefine the library name for the Webpack module or export.
externalsArray<String>YesWebpackExtends the list of provided libraries (Webpack understands both globs and strings)

Extending the configuration

Extending Webpack's configuration can be done in two different way, either with a webpack.config.js file or with the webpack extension point

webpack.config.js

In this solution, you have to create a webpack.config.js file next to your package.json.

This file should contain the configuration you wish to change, the rest being already configured inside Crafty we will merge your custom settings.

This solution is a bit less powerful than the extension point: You can replace configuration but you can't remove loaders and you can't change the loader's configuration.

webpack(crafty, bundle, chain)

Each preset and crafty.config.js can define the webpack(crafty, bundle, chain) function to override Webpack configuration.

Webpack's configuration is built using webpack-chain which is a configuration builder.

module.exports = {
  /**
   * Represents the extension point for Webpack configuration
   * @param {Crafty} crafty - The instance of Crafty.
   * @param {Object} bundle - The bundle that is being prepared for build (name, input, source, destination)
   * @param {WebpackChain} chain - The current Webpack configuration using `webpack-chain`
   */
  webpack(crafty, bundle, chain) {
    // Change any value of the chain object

    // For example, adding supported extensions to the resolution
    chain.resolve.extensions.add(".ts").add(".tsx").add(".mts").add(".cts");
  }
};
1.25.0

2 months ago

1.25.0-alpha.4

2 months ago

1.25.0-alpha.3

2 months ago

1.24.0-alpha.1

4 months ago

1.24.0

4 months ago

1.23.0-alpha.1

7 months ago

1.23.0-alpha.2

7 months ago

1.23.0

7 months ago

1.22.0-alpha.3

1 year ago

1.22.0-alpha.5

1 year ago

1.22.0-alpha.4

1 year ago

1.22.0

1 year ago

1.22.0-alpha.6

1 year ago

1.22.3

1 year ago

1.22.1

1 year ago

1.22.2

1 year ago

1.22.0-alpha.2

1 year ago

1.22.0-alpha.1

1 year ago

1.21.0

1 year ago

1.21.1

1 year ago

1.21.0-alpha.2

1 year ago

1.21.0-alpha.1

1 year ago

1.20.0-alpha.4

2 years ago

1.20.0

2 years ago

1.20.0-alpha.2

2 years ago

1.20.0-alpha.3

2 years ago

1.20.0-alpha.1

2 years ago

1.19.0

2 years ago

1.19.1

2 years ago

1.18.5-alpha.3

2 years ago

1.18.5-alpha.4

2 years ago

1.18.5-alpha.2

2 years ago

1.18.5-alpha.1

2 years ago

1.18.1

2 years ago

1.18.0

2 years ago

1.18.4

2 years ago

1.18.3

2 years ago

1.18.2

2 years ago

1.17.3-alpha.25

2 years ago

1.17.3-alpha.26

2 years ago

1.17.3-alpha.23

2 years ago

1.17.3-alpha.24

2 years ago

1.17.3-alpha.21

2 years ago

1.17.3-alpha.22

2 years ago

1.17.3-alpha.20

2 years ago

1.17.3-alpha.18

2 years ago

1.17.3-alpha.19

2 years ago

1.17.3-alpha.17

2 years ago

1.18.1-alpha.2

2 years ago

1.18.1-alpha.3

2 years ago

1.18.1-alpha.1

2 years ago

1.17.3-alpha.3

2 years ago

1.17.3-alpha.4

2 years ago

1.17.3-alpha.2

2 years ago

1.17.3-alpha.7

2 years ago

1.17.3-alpha.8

2 years ago

1.17.3-alpha.5

2 years ago

1.17.3-alpha.6

2 years ago

1.17.3-alpha.16

2 years ago

1.17.3-alpha.14

2 years ago

1.17.3-alpha.9

2 years ago

1.17.3-alpha.15

2 years ago

1.17.3-alpha.12

2 years ago

1.17.3-alpha.10

2 years ago

1.17.3-alpha.11

2 years ago

1.17.3-alpha.1

2 years ago

1.17.2

2 years ago

1.17.0-beta.1

2 years ago

1.17.1

2 years ago

1.16.3

3 years ago

1.16.1

3 years ago

1.16.1-beta.1

3 years ago

1.16.0

3 years ago

1.16.0-beta.5

3 years ago

1.16.0-beta.6

3 years ago

1.16.0-beta.3

3 years ago

1.16.0-beta.4

3 years ago

1.16.0-beta.2

3 years ago

1.16.0-beta.1

3 years ago

1.16.0-beta.0

3 years ago

1.15.0-beta.0

3 years ago

1.15.0

3 years ago

1.14.0

3 years ago

1.14.0-beta.8

3 years ago

1.14.0-beta.7

3 years ago

1.14.0-beta.3

3 years ago

1.13.7

4 years ago

1.13.6-beta.0

4 years ago

1.14.0-beta.2

4 years ago

1.14.0-beta.1

4 years ago

1.13.5

4 years ago

1.13.5-beta.1

4 years ago

1.13.5-beta.0

4 years ago

1.13.4

4 years ago

1.13.3

4 years ago

1.13.2

4 years ago

1.13.0-beta.2

4 years ago

1.13.0

4 years ago

1.13.0-beta.1

4 years ago

1.13.0-beta.0

4 years ago

1.12.1-beta.2

4 years ago

1.12.0

4 years ago

1.12.0-beta.0

4 years ago

1.11.1

4 years ago

1.11.0

4 years ago

1.10.0

4 years ago

1.9.1

4 years ago

1.9.0

4 years ago

1.8.0

5 years ago

1.7.3

5 years ago

1.7.2

5 years ago

1.7.1

5 years ago

1.7.0

5 years ago

1.6.0

5 years ago

1.5.0

5 years ago

1.4.1-beta.0

5 years ago

1.4.0

5 years ago

1.3.1-alpha.27

5 years ago

1.3.0

6 years ago

1.2.2-alpha.22

6 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.0

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago