Building the compiled assets
============================

The files in dist/ are compiled from the sources shipped in resources/. They are minified
for production, and the readable sources are included in this package so the build can be
reproduced and reviewed.

Compiled file            Source
-----------------------  ------------------------------------------------------
dist/admin.js            resources/scripts/admin/index.js
dist/editor-panel.js     resources/scripts/editor-panel/index.js
dist/admin-style.css     resources/styles/admin/style.scss and its partials

Requirements
------------

Node.js 18 or newer.

The build is plain webpack, with these versions:

  webpack                  ^5.75.0
  webpack-cli              ^5.1.4
  babel-loader             ^9.1.2
  @babel/core              ^7.20.12
  @babel/preset-env        ^7.20.2
  sass                     ^1.83.0
  sass-loader              ^16.0.4
  css-loader               ^6.7.3
  mini-css-extract-plugin  ^2.7.2

Building
--------

  npm install --no-save webpack@^5.75.0 webpack-cli@^5.1.4 babel-loader@^9.1.2 \
    @babel/core@^7.20.12 @babel/preset-env@^7.20.2 sass@^1.83.0 \
    sass-loader@^16.0.4 css-loader@^6.7.3 mini-css-extract-plugin@^2.7.2

  npx webpack --mode production

That reads webpack.config.js, included here, and writes the result into dist/. Nothing
else is generated, and no file is fetched at runtime.

Notes
-----

- No third-party library is bundled into dist/: the compiled files contain only the code
  from resources/.
- vendor/ holds the Composer autoloader and nothing else. The plugin has no runtime PHP
  dependency.
- The PHP under src/ is not compiled. It is the code that runs, as written.
