Webpacker compiles successfully but no output files

Viewed 259

I am running webpacker-dev-server inside a docker container.

The problem I am facing is that I cannot find anywhere on the system the assets compiled by webpacker.

Webpacker outputs the following message confirming that the compilation is successful.

docker-webpacker-1  | [BABEL] Note: The code generator has deoptimised the styling of /app/node_modules/xlsx/xlsx.js as it exceeds the max of 500KB.
docker-webpacker-1  | ��� ���wdm���: Hash: c38f69319fc41de449cc
docker-webpacker-1  | Version: webpack 4.41.6
docker-webpacker-1  | Time: 161838ms
docker-webpacker-1  | Built at: 11/26/2021 8:59:13 AM
docker-webpacker-1  |     Asset        Size                          Chunks                         Chunk Names
...
docker-webpacker-1  |     js/infoscreens-b9dbec731e53f9d694d6.js    7.61 MiB                     infoscreens  [emitted] [immutable]  infoscreens
docker-webpacker-1  |     js/infoscreens-b9dbec731e53f9d694d6.js.map    7.11 MiB                     infoscreens  [emitted] [dev]        infoscreens
docker-webpacker-1  |     js/infoscreens_display-ad3a9e5e96c7ff195f73.js    2.31 MiB             infoscreens_display  [emitted] [immutable]  infoscreens_display
docker-webpacker-1  |     js/infoscreens_display-ad3a9e5e96c7ff195f73.js.map    2.32 MiB             infoscreens_display  [emitted] [dev]        infoscreens_display
docker-webpacker-1  | ��� ���wdm���: Compiled successfully.

However I cannot find the output files, neither in public/packs or anywhere in the filesystem of the container (or the host), searched with find / -name "*infoscreens_display*"

Here is my config/webpacker.yml

default: &default
  source_path: app/javascript
  source_entry_path: packs
  public_output_path: packs
  cache_path: tmp/cache/webpacker

  # Additional paths webpack should lookup modules
  resolved_paths: ['app/javascript/images', 'app/javascript/protobuf']

  # Reload manifest.json on all requests so we reload latest compiled packs
  cache_manifest: false

  extensions:
    - .vue
    - .js
    - .sass
    - .scss
    - .css
    - .module.sass
    - .module.scss
    - .module.css
    - .png
    - .svg
    - .gif
    - .jpeg
    - .jpg

development:
  <<: *default
  compile: true

  # Reference: https://webpack.js.org/configuration/dev-server/
  dev_server:
    https: false
    host: localhost
    port: 3035
    public: localhost:3035
    hmr: false
    # Inline should be set to true if using HMR
    inline: true
    overlay: true
    compress: true
    disable_host_check: true
    use_local_ip: false
    quiet: false
    headers:
      'Access-Control-Allow-Origin': '*'
    watch_options:
      ignored: /node_modules/

What could be happening to my output files ?

1 Answers

Running webpacker-dev-server will create just the manifest.json under public/packs and the compiled files are kept in memory and served from there.

From the docs

Warning

webpack-dev-server doesn't write any output files after compiling. Instead, it keeps bundle files in memory and serves them as if they were real files mounted at the server's root path. If your page expects to find the bundle files on a different path, you can change this with the devMiddleware.publicPath option in the dev server's configuration.

Related