11.1.1 • Published 23 days ago

@skyscanner/backpack-react-scripts v11.1.1

Weekly downloads
57
License
MIT
Repository
github
Last release
23 days ago

backpack-react-scripts

Important: The currently supported version of CRA by backpack-react-scripts is up to v3.4.1. Versions above this will not work.

This package is a fork of Create React App (specifically the react-scripts package). It's intended to be used in conjuction with create-react-app like so:

npx create-react-app@3.4.1 my-app --scripts-version=@skyscanner/backpack-react-scripts --template @skyscanner/backpack --use-npm

# start your app development like you normally would with `create-react-app`
cd my-app
npm start

What is different in our fork?

  • Compilation of uncompiled Backpack components (specifically JSX).
  • Skyscanner specific template with Backpack components integrated out of the box. Published as @skyscanner/cra-template-backpack
  • CSS Modules enabled by default for all .css & .scss files.
  • Ability to create a bundle for server side rending.
  • Automatic chunking is disabled by default.
  • css.html & js.html: New files in the build/ output folder. These are html partials that include <script /> and <link /> references to the various static assets output by webpack. Useful if automatic chunking is turned on and you don't want to worry about order.
  • A bunch of configuration options via "backpack-react-scripts" field in package.json:
    • crossOriginLoading: Modify the default behaviour, see docs.
    • babelIncludePrefixes: An array of module name prefixes to opt into babel compilation. Includes ["bpk-", "saddlebag-"] by default.
    • enableAutomaticChunking: Boolean, opt in to automatic chunking of vendor, common and app code.
    • vendorsChunkRegex: String, Regex for picking what goes into the vendors chunk. See cacheGroups in webpack docs. Dependent on enableAutomaticChunking being enabled
    • amdExcludes: Array of module names to exclude from AMD parsing. Incldues ["lodash"] by default.
    • externals: exposing the Webpack config to modify externals, see docs.
    • ssrExternals: Similar to above, but for ssr.js only.
    • cssModules: Boolean, true by default.
    • sriEnabled: Sets if SRI is to be used during build to add integrity hash for files, see docs.
      • Note if this is enabled, crossOriginLoading value is overriden with anonymous in order for it to output with the integrity value.

Releasing a new version of backpack-react-scripts

  1. To publish a new version of backpack-react-scripts, run the following command:

    npm run publish
  2. You will be prompted to select a new semver version (MAJOR, MINOR, PATCH). Use the CHANGELOG.md to decide on the nature of the changes since the last release.

    • If you want to be extra careful, you can publish a prerelease by running this instead:
    npm run publish -- --canary
  3. Update the CHANGELOG.md with the new version, taking care to follow the format of previous releases.

Keeping this fork updated

We wish to keep this fork updated with the upstream repo to benefit from the ongoing open source development of create-react-app. To keep this fork up to date, please follow the steps below:

  1. Ensure master is in sync with upstream/master:

    git checkout master
    git remote add upstream git@github.com:facebook/create-react-app.git
    git fetch upstream
    git reset --hard upstream/master
    git push --force-with-lease
  2. Rebase fork on top of a tagged release on master:

    git checkout fork
    git rebase <commit>

    Note: <commit> should be the SHA-1 of the latest upstream release - not the latest commit i.e. upstream/master

  3. Pair with someone else to fix any conflicts and cross examine changes in upstream with changes in our fork.

    This is the most time consuming part. Take care to make sure you are not regressing any functionality that we have added in our fork.

  4. Re-name your local, rebased fork branch to something else and push it to origin. This will ensure it runs through CI and you can verify your changes.

    git branch -m <branch>
    git push origin <branch>
  5. Finally, when we are confident that the rebase has been successful, re-name your branch back to fork and push it to origin:

    git branch -m fork
    git push --force-with-lease
11.1.1-9-dev.0

23 days ago

11.1.1

23 days ago

11.1.1-12-dev.0

23 days ago

11.0.2-7-dev.0

1 month ago

11.1.0

1 month ago

11.1.1-8-dev.0

1 month ago

11.0.2-6-dev.0

1 month ago

11.0.2-5-dev.0

2 months ago

11.0.2-beta.1

3 months ago

11.0.2-beta.0

3 months ago

11.0.2-4-dev.0

3 months ago

11.0.1

4 months ago

11.0.1-2-dev.0

4 months ago

11.0.2-3-dev.0

4 months ago

11.0.0

5 months ago

11.0.1-7-dev.0

6 months ago

11.0.0-rc.0

5 months ago

11.0.1-20-dev.0

5 months ago

11.0.1-15-dev.0

6 months ago

11.0.1-6-dev.0

6 months ago

11.0.1-14-dev.0

6 months ago

11.0.1-9-dev.0

6 months ago

11.0.1-12-dev.0

6 months ago

11.0.1-1-dev.0

5 months ago

10.6.0

7 months ago

11.0.1-18-dev.0

6 months ago

11.0.1-11-dev.0

6 months ago

11.0.1-17-dev.0

6 months ago

12.0.0-5-dev.0

6 months ago

11.0.1-dev.0

6 months ago

10.5.0

10 months ago

10.4.1-beta.1

10 months ago

11.0.1-13-dev.0

6 months ago

11.0.1-16-dev.0

6 months ago

11.0.1-21-dev.0

5 months ago

11.0.1-10-dev.0

6 months ago

11.0.1-8-dev.0

6 months ago

11.0.1-19-dev.0

5 months ago

10.4.0

1 year ago

10.2.0

1 year ago

10.1.0-beta.1

1 year ago

10.1.0-beta.2

1 year ago

10.0.2

2 years ago

10.0.3

2 years ago

10.0.4

2 years ago

10.0.4-dev.2

2 years ago

10.0.4-beta.1

2 years ago

11.0.0-beta.5

2 years ago

11.0.0-beta.6

2 years ago

11.0.0-beta.7

2 years ago

11.0.0-beta.8

2 years ago

11.0.0-beta.9

2 years ago

11.0.0-beta.13

2 years ago

11.0.0-beta.12

2 years ago

11.0.0-beta.11

2 years ago

11.0.0-beta.10

2 years ago

11.0.0-beta.14

2 years ago

11.0.0-beta.2

2 years ago

11.0.0-beta.3

2 years ago

11.0.0-beta.4

2 years ago

10.0.1

2 years ago

10.0.1-beta.2

2 years ago

10.0.1-beta.1

2 years ago

10.0.1-bata.1

2 years ago

11.0.0-beta.1

2 years ago

10.0.0

2 years ago

9.7.0-beta.5

2 years ago

9.6.1

2 years ago

9.6.1-beta.2

2 years ago

9.6.1-beta.1

2 years ago

9.6.1-beta.4

2 years ago

9.6.1-beta.3

2 years ago

9.6.0

2 years ago

9.7.0-beta.2

2 years ago

9.7.0-beta.1

2 years ago

9.7.0-beta.4

2 years ago

9.7.0-beta.3

2 years ago

9.6.0-beta.3

2 years ago

9.6.0-beta.2

2 years ago

9.6.0-beta.1

2 years ago

9.5.1

2 years ago

9.5.0

2 years ago

9.5.0-beta.3

2 years ago

9.6.0-beta.4

2 years ago

9.5.1-UGSL

2 years ago

9.5.0-beta.2

2 years ago

9.5.3-beta.2

2 years ago

9.5.1-beta.2

2 years ago

9.5.2-beta.1

2 years ago

9.5.1-beta.1

2 years ago

9.5.3-beta.1

2 years ago

9.3.2

3 years ago

9.4.0

3 years ago

9.5.0-beta.1

3 years ago

9.4.0-beta.5

3 years ago

9.4.0-beta.4

3 years ago

9.4.0-beta.1

3 years ago

9.4.0-beta.3

3 years ago

9.4.0-beta.2

3 years ago

9.3.1

3 years ago

9.4.0-beta.0

3 years ago

9.3.0

3 years ago

9.2.0

3 years ago

9.2.0-beta.0

3 years ago

9.1.3

3 years ago

9.1.2

3 years ago

8.0.6

3 years ago

8.1.0-beta.0

3 years ago

9.1.1

3 years ago

9.1.0

3 years ago

9.0.5-alpha.0

3 years ago

9.0.3

3 years ago

9.0.4-alpha.0

3 years ago

9.0.3-alpha.0

3 years ago

9.0.2

3 years ago

9.0.1

3 years ago

8.1.0-alpha.3

3 years ago

8.1.0-alpha.2

3 years ago

9.0.0

3 years ago

8.1.0-alpha.1

3 years ago

8.0.5

3 years ago

8.1.0-alpha.0

3 years ago

8.0.4

3 years ago

8.0.3-beta.0

4 years ago

8.0.3

4 years ago

8.0.3-alpha.1

4 years ago

8.0.3-alpha.0

4 years ago

8.0.2

4 years ago

8.1.0-alpha

4 years ago

8.0.1

4 years ago

8.0.1-beta.0

4 years ago

8.0.0

4 years ago