Tests fail on 2nd try

Open
#594 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
38/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
javascript, rails, webpack

Research direction

Start by running bundle exec rake twice and compare the generated manifest with 1stPassManifest.json; review tempError.txt for the second-pass output. Inspect commonWebpackConfig.js and the webpack configuration around the extensions setting. Done means the test command can be run repeatedly without the missing client-bundle.css error.

Written by the indexing model from the issue text.

Description

bug

When you run bundle exec rake the first time to run the tests it works well. After it finishes, if you try to run it a 2nd time an error is shown

Puma caught this error: Shakapacker can't find client-bundle.css in /Users/ramezweissa/code/shaka/react-webpack-rails-tutorial/public/packs/manifest.json. Possible causes:

  1. You forgot to install javascript packages or are running an incompatible javascript runtime version
  2. Your app has code with a non-standard extension (like a .jsx file) but the extension is not in the extensions config in config/shakapacker.yml
  3. You have set compile: false (see config/shakapacker.yml) for this environment
    (unless you are using the bin/shakapacker -w or the bin/shakapacker-dev-server, in which case maybe you aren't running the dev server in the background?)
  4. webpack has not yet FINISHED running to reflect updates.
  5. You have misconfigured Shakapacker's config/shakapacker.yml file.
  6. Your webpack configuration is not creating a manifest.

Full error is in tempError.txt, it contains the manifest generated on the 2nd pass
tempError.txt

This is the manifest which is generated on the 1st pass (which includes client-bundle.css):
1stPassManifest.json

One workaround to be able to run the tests again is to do any edit to commonWebpackConfig.js, for example add ".x" to the extensions.

const commonOptions = {
  resolve: {
    extensions: ['.css', '.ts', '.tsx', '.x'],
  },
};

After this, you can run the tests one time before they fail again

Dominant language
JavaScript
Stars
1.7k
Forks
370
Avg merge
2d 15h
Merged PRs (30d)
6

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from shakacode/react-webpack-rails-tutorial

All issues in shakacode/react-webpack-rails-tutorial

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.