:rocket: Blazing fast page load and seamless navigation.

Overview

React Server is now defunct

Consider Next.js instead.

React Server

Build Status NPM version NPM downloads per month Chat on Slack NPM license Powered by Redfin

React framework with server render for blazing fast page load and seamless transitions between pages in the browser.


Just getting started with react-server?

The easiest way to get started is with our yeoman generator:

# install yeoman
npm install -g yo

# install the react-server generator
npm install -g generator-react-server

# make a new react-server project in the CURRENT directory
yo react-server

# run the new app
npm run start
# go to http://localhost:3000

That hooks you up with react-server-cli, which will take care of the server part and get you up and running right away.

Why react-server?

One of the great things about React is its support for server-side rendering, which can make sites show up faster for users and play better with search engine bots.

However, when you actually try to use React for server-side rendering, you quickly run into a bunch of practical problems, such as:

  • How should I load data on the server for my components?
  • How do I ensure that the client and the server load the same data and generate the same HTML markup?
  • How do I write code that can be both generated server-side and be part of a single-page application (SPA)?
  • How should I optimize the delivery of my JavaScript and CSS?
  • How do I find out about and follow performance best practices?
  • How do I ensure that my site is streamed to the browser as quickly as humanly possible?
  • How can I make my app resilient when my backend has high latency spikes?

react-server is a framework designed to make universal (née isomorphic) React easier to write, providing standard answers for these questions and more. When you write your app for react-server, you concentrate on your React components, and react-server takes care of everything else that's needed to run and deploy real React server-rendered apps. Under the hood, react-server is doing a bunch of clever optimizations, many borrowed from the ideas behind Facebook's Big Pipe, to make sure that your site shows up as quickly as humanly possible for your users.

Once you're hungry for more, dig into the React Server documentation and the react-server code.


Migrating from react-server 0.8.1 to 1.0.0

This release is a major, potentially breaking, change which upgrades react-server's dependencies from webpack 1.x to webpack 4.x, and babel 6.x to babel 7.x.

If using default react-server configuration, you should be able to update to 1.0.0 without issue. However, if you have extended the default react-server webpack config using the webpackConfig option, you may need to update your webpack configuration options to match Webpack 4.x Documentation.

Note: If you are having trouble loading css bundles in mode = production, try switching from import to require() syntax. https://github.com/webpack-contrib/mini-css-extract-plugin/issues/27

Want to help?

Great! There's a lot to do! See the contributing guide to get started.

Where's all the code?!

This is a Lerna respository with multiple npm packages! Check out the packages/ directory 👀 .

Comments
  • Add Yeoman generator and example; fix bugs from npm link, npm start

    Add Yeoman generator and example; fix bugs from npm link, npm start

    This adds a yeoman generator to help new devs quickly scaffold a react-server instance. Yeoman generators have to start with generator-, and generator-react-server is already taken -- we could do generator-reactserver or generator-rs, but I thought generator-corvair might be more memorable.

    This also resolves a couple of issues I encountered along the way.

    dougwade packages/example-corvair ‹add-yeoman-generator*› » npm start
    
    > [email protected] start /Users/doug.wade/react-server/packages/example-corvair
    > node server.js
    
    Start server...
    Listening on port 3000
    Started!
    (node) OutgoingMessage.flush is deprecated. Use flushHeaders instead.
    Warning: React.renderToString is deprecated. Please use ReactDOMServer.renderToString from require('react-dom/server') instead.
    2016-02-10T08:43:07.681Z - error: [react-server.core.renderMiddleware] Error rendering element 0 message=TRITON_CONFIGS environment variable required to start server., stack=Error: TRITON_CONFIGS environment variable required to start server.
        at module.exports (/Users/doug.wade/react-server/packages/example-corvair/node_modules/react-server/target/server/config.js:17:11)
        at getNonInternalConfigs (/Users/doug.wade/react-server/packages/example-corvair/node_modules/react-server/target/server/renderMiddleware.js:904:19)
        at bootstrapClient (/Users/doug.wade/react-server/packages/example-corvair/node_modules/react-server/target/server/renderMiddleware.js:809:13)
        at writeElements (/Users/doug.wade/react-server/packages/example-corvair/node_modules/react-server/target/server/renderMiddleware.js:773:4)
        at doElement (/Users/doug.wade/react-server/packages/example-corvair/node_modules/react-server/target/server/renderMiddleware.js:601:3)
        at /Users/doug.wade/react-server/packages/example-corvair/node_modules/react-server/target/server/renderMiddleware.js:609:11
        at /Users/doug.wade/react-server/packages/example-corvair/node_modules/react-server/node_modules/continuation-local-storage/context.js:74:17
        at _fulfilled (/Users/doug.wade/react-server/packages/example-corvair/node_modules/react-server/node_modules/q/q.js:834:54)
        at self.promiseDispatch.done (/Users/doug.wade/react-server/packages/example-corvair/node_modules/react-server/node_modules/q/q.js:863:30)
        at Promise.promise.promiseDispatch (/Users/doug.wade/react-server/packages/example-corvair/node_modules/react-server/node_modules/q/q.js:796:13)
    

    is less than ideal, since we don't call it Triton anymore.

    and then also

    [00:46:45] 'test' errored after 66 ms
    [00:46:45] Error in plugin 'gulp-jasmine'
    Message:
        Cannot find module 'superagent'
    Details:
        code: MODULE_NOT_FOUND
    
    npm WARN [email protected] requires a peer of [email protected] but none was installed.
    npm WARN [email protected] requires a peer of [email protected] but none was installed.
    npm WARN [email protected] requires a peer of [email protected] but none was installed.
    npm WARN [email protected] license should be a valid SPDX license expression
    npm ERR! Darwin 15.0.0
    npm ERR! argv "/usr/local/bin/iojs" "/usr/local/bin/npm" "link"
    npm ERR! node v5.6.0
    npm ERR! npm  v3.6.0
    npm ERR! code ELIFECYCLE
    npm ERR! [email protected] prepublish: `gulp build && gulp test`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the [email protected] prepublish script 'gulp build && gulp test'.
    npm ERR! Make sure you have the latest version of node.js and npm installed.
    npm ERR! If you do, this is most likely a problem with the react-server package,
    npm ERR! not with npm itself.
    npm ERR! Tell the author that this fails on your system:
    npm ERR!     gulp build && gulp test
    npm ERR! You can get information on how to open an issue for this project with:
    npm ERR!     npm bugs react-server
    npm ERR! Or if that isn't available, you can get their info via:
    npm ERR!     npm owner ls react-server
    npm ERR! There is likely additional logging output above.
    
    npm ERR! Please include the following file with any support request:
    npm ERR!     /Users/doug.wade/react-server/packages/react-server/npm-debug.log
    

    happened on npm link, so I added all the peer dependencies as dev dependencies to make it easier to develop locally.

    opened by doug-wade 25
  • Add package react-server-cli, a startup script that compiles client code and starts up a server.

    Add package react-server-cli, a startup script that compiles client code and starts up a server.

    Here's a preliminary PR that adds a separate package that contains a startup script for compiling client code and running a server. The README.md describes its goals and what it currently does, so I won't repeat that here.

    If you want to see what a minimal project using react-server-cli looks like, check out the hello world example.

    A few things to note:

    • I decided to simplify the routes format a little bit, getting rid of __LAZY_REQUIRE__ and making it more like a JSON format (although technically it's still JavaScript).
    • I think there's a good debate to be had about whether starting up a server is something that a library should do, or if every project should have its own server.js that instantiates Express etc. To start, I think it's probably good to run this way to ease developer pain and solve 95% of cases, but I totally understand arguments against.
    • It could be cleaner to have compiling client code and running a server as two separate functions that are in different packages. They do have some interdependencies, though, so it's not 100% clear to me that they can be easily split up.

    There's potentially a lot of bikeshedding to do here, and I welcome it. A few topics off the top of my head:

    • Is react-server-cli even a good name? Maybe it implies (incorrectly) that it is intended to be a globally installed tool.
    • Should routes just be a JSON file rather than a JavaScript file? Constraining what it can do makes it much easier to compile into code splitting on the client.
    • Is it right to have a bin directory with an executable file?
    • Currently react-server is a peer dependency, but should it be a runtime dependency of react-server-cli instead?
    • How important is allowing customizing of webpack loaders and config? What about custom middleware for Express?

    I'm sure that there's more that's escaping me at the moment, and I'm sure there's lots of stuff I messed up, but rather than try and anticipate every response, let's just start the discussion. Cheers.

    opened by aickin 22
  • Add docker to yeoman generator

    Add docker to yeoman generator

    This PR adds a simple docker-compose.yml file and a simple Dockerfile to the yeoman generator to allow people to quickly get up and running with Docker. This will be helpful for developers using Windows.

    enhancement 
    opened by withinboredom 20
  • Server Side HMR/Webpack & Other Improvements

    Server Side HMR/Webpack & Other Improvements

    This PR covers a number of things that are outlined below. I'm pretty much at a stopping point where I need some assistance from others. The unchecked items are things that aren't working/implemented and I would love some assistance. Feedback on everything would be great.

    • [x] Combined the JS and HTML servers into one. Now, there is a single ExpressJS server created and webpack-dev-middleware is added to it only if the server is started with hot: true
    • [x] Removed entries throughout the application for jsPort since it is no longer required.
    • [x] The default jsUrl is now / instead of http[s]?://{host}:{jsPort}. This makes loading the assets cleaner because the URL is relative instead of absolute.
    • [x] Created two Webpack compiler paths: client and server bundles. Both outputs live in __clientTemp to prevent breaking existing applications. This covers issues: #773, #759, #649, #622, and #595
    • [x] Enabled hot module reload of server-side assets after they are compiled by Webpack. Discussed in issue #773.
    • [x] Added an example showing some of these features.
    • [x] The server watches for changes in .reactserverrc, routes.js[on], and any custom webpack configs. If any of those files change, the server restarts itself. Other files that change just cause a recompile by Webpack.
    • [x] Added a compileOnStartup option to .reactserverrc that allows you to disable compilation when starting the server. Discussed in #773.
    • [x] Some of the modules installed in node_modules are being bundled into the server side Webpack config instead of left out. I need help tracking down where/why this is happening because I have the node modules all listed as externals in the Webpack config. UPDATE (12/26/2016): fixed
    • [x] Some of the tests are blowing up and I don't understand how they are working. Can someone help me look into this? UPDATE (12/29/2016): All tests are fixed.
    • [ ] Server-side chunking isn't working properly. For some reason, I can't get any of the existing/previous manifest stuff to work properly and I need to discuss how all of this is supposed to work with someone. @jhnns - can you help with this? UPDATE (12/26/2016): spent ~6 hours working on this and it seems that chunked code being bundled for Node with a libraryTarget of 'commonjs2' sets module.exports but it sets it to an array like this: [2] (the chunk ID). It doesn't actually export any of the module code, therefore the bundle can't be imported. If I limit the number of chunks to 1 and disable a common chunk, modules.exports is set to the webpackBootstrap function itself.
    opened by drewpc 19
  • Allows separating public host name from server IP address binding

    Allows separating public host name from server IP address binding

    I was playing around w/ react-server in cloud9's IDE (https://c9.io/) and ran into an issue where passing --host into the server listen (the default behavior of react-server-cli) did the wrong thing. I think the issue is due to cloud9's environment being containers running on a VM, where multiple public hostnames share the same public IP address, and the port that is presented to the container is not the actual physical port on the machine.

    This PR separates the hostname given for loading resources like JS/CSS from the IP address that the server binds to, defaulting to binding to any IP address.

    This fixes the issue for me (after I hand-modify the RequestToPort middleware so that it doesn't assume port 3000 :grin:) However, container networking isn't necessarily my forte, so if there are other/better ideas on how to fix the issue, I would love to hear them.

    enhancement 
    opened by roblg 15
  • Add .sass support

    Add .sass support

    This adds real .sass support, not just the .scss support. We don't need to add indentedSyntax to the sass loader parameters since the sass loader doesn't require it anymore (https://github.com/jtangelder/sass-loader/pull/196)

    enhancement 
    opened by alex88 15
  • Build LABjs string from source

    Build LABjs string from source

    I'm going to start making substantive changes to the LABjs code we put at the top of every page. I want to have useful diffs and commit history for those changes, so as a baseline this PR replaces the pre-minified source string with the (mostly) vanilla source file.

    A few benefits:

    • Can opt-in to viewing debug output with DEBUG_LAB=true react-server start
    • It's 210 bytes smaller (I'm going to make it smaller still in follow up PRs)
    • It's human-readable (and hackable)

    A few drawbacks:

    • A dep on uglify
    • A few hundred millisecond startup penalty

    Could minify during build to avoid those, but we'd lose the debug-ability which is really nice.

    enhancement 
    opened by gigabo 14
  • Address routr api changes & Handle POST

    Address routr api changes & Handle POST

    This PR makes the following changes:

    • Handle the new Routr API according to their changelog (remove the navigate object and only pass the method option).
    • Supports (and properly encodes) handling multiple HTTP methods other than just 'GET' (such as method: ['get', 'post']). This is a breaking change because now the recommended solution in #312 of setting method: "get" for POST requests will no longer work.
    • Changes the default method type from method: "get" to method: ["get", "head"] for feature parity between GET and HEAD requests. Prior to this change, a HEAD request for a page that returns HTTP code 200 normally would return a 404 error.
    • Adds unit tests.
    bug 
    opened by drewpc 14
  • Improve error messaging when requiring routes, add CLI tests

    Improve error messaging when requiring routes, add CLI tests

    If there is an error in your routes.js file (for instance, referencing an undeclared variable), react-server-cli will fail with a confusing error message:

    TypeError: Cannot read property 'routes' of undefined
        at exports.default (~/projects/rs/node_modules/react-server-cli/target/buildWebpackConfigs.js:112:77)
        at buildWebpack (~/projects/rs/node_modules/react-server-cli/target/commands/start.js:302:54)
        at start (~/projects/rs/node_modules/react-server-cli/target/commands/start.js:109:20)
        at run (~/projects/rs/node_modules/react-server-cli/target/run.js:61:74)
        at process._tickCallback (internal/process/next_tick.js:103:7)
        at Module.runMain (module.js:609:11)
        at run (bootstrap_node.js:420:7)
        at startup (bootstrap_node.js:139:9)
        at bootstrap_node.js:535:3
    

    I saw that @gigabo added this try / catch in redfin/react-server#490 so that the errors can be handled in the commands but I cannot see how this case is handled.

    • [x] Tests
    opened by karlhorky 14
  • Add getCustomScripts as a lifecycle method for pages

    Add getCustomScripts as a lifecycle method for pages

    Note: this is actually all @sbr1601's work, he just gave me the diff to make a separate PR from his other one.

    We wanted to be able to add a custom script to our <head/> in order to preload some images on certain browsers (cough Safari cough). This has been tested with a test page - which is not part of this PR, b/c that was originally built in react-server-test-pages, but I'm wondering if that should go into react-server-integration-tests instead? For that matter, what's the difference between those two folders' intentions? (If it doesn't matter, I'll just push the test page I have right now into this PR.)

    enhancement 
    opened by lidawang 12
  • Adding http response header hook to page lifecyle

    Adding http response header hook to page lifecyle

    This PR provides another lifecycle method to allow page chains to specify their own http headers.

    Some things:

    • Subsequent lifecycle methods that set http headers will override those that the user has specified (e.g. Transfer-Encoding in writeHeader() )
    • This doesn't really work for client transitions, because in that case no page request is issued.
    enhancement 
    opened by nampas 12
  • Bump elliptic from 6.4.1 to 6.5.4

    Bump elliptic from 6.4.1 to 6.5.4

    Bumps elliptic from 6.4.1 to 6.5.4.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    opened by dependabot[bot] 0
  • Bump ini from 1.3.4 to 1.3.7 in /packages/react-server-examples/hello-world

    Bump ini from 1.3.4 to 1.3.7 in /packages/react-server-examples/hello-world

    Bumps ini from 1.3.4 to 1.3.7.

    Commits
    Maintainer changes

    This version was pushed to npm by isaacs, a new releaser for ini since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    opened by dependabot[bot] 0
  • Bump ini from 1.3.4 to 1.3.7 in /packages/react-server-examples/styled-components

    Bump ini from 1.3.4 to 1.3.7 in /packages/react-server-examples/styled-components

    Bumps ini from 1.3.4 to 1.3.7.

    Commits
    Maintainer changes

    This version was pushed to npm by isaacs, a new releaser for ini since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    opened by dependabot[bot] 0
  • Bump ini from 1.3.4 to 1.3.7 in /packages/react-server-examples/code-splitting

    Bump ini from 1.3.4 to 1.3.7 in /packages/react-server-examples/code-splitting

    Bumps ini from 1.3.4 to 1.3.7.

    Commits
    Maintainer changes

    This version was pushed to npm by isaacs, a new releaser for ini since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    opened by dependabot[bot] 0
  • Bump highlight.js from 9.15.6 to 10.4.1

    Bump highlight.js from 9.15.6 to 10.4.1

    Bumps highlight.js from 9.15.6 to 10.4.1.

    Release notes

    Sourced from highlight.js's releases.

    10.4.1

    Security fixes:

    • (fix) Exponential backtracking fixes for: Josh Goebel
      • cpp
      • handlebars
      • gams
      • perl
      • jboss-cli
      • r
      • erlang-repl
      • powershell
      • routeros
    • (fix) Polynomial backtracking fixes for: Josh Goebel
      • asciidoc
      • reasonml
      • latex
      • kotlin
      • gcode
      • d
      • aspectj
      • moonscript
      • coffeescript/livescript
      • csharp
      • scilab
      • crystal
      • elixir
      • basic
      • ebnf
      • ruby
      • fortran/irpf90
      • livecodeserver
      • yaml
      • x86asm
      • dsconfig
      • markdown
      • ruleslanguage
      • xquery
      • sqf

    Very grateful to Michael Schmidt for all the help.

    10.4.0 - November 2020

    A largish release with many improvements and fixes from quite a few different contributors. Enjoy!

    Deprecations:

    ... (truncated)

    Changelog

    Sourced from highlight.js's changelog.

    Version 10.4.1 (tentative)

    Security

    • (fix) Exponential backtracking fixes for: Josh Goebel
      • cpp
      • handlebars
      • gams
      • perl
      • jboss-cli
      • r
      • erlang-repl
      • powershell
      • routeros
    • (fix) Polynomial backtracking fixes for: Josh Goebel
      • asciidoc
      • reasonml
      • latex
      • kotlin
      • gcode
      • d
      • aspectj
      • moonscript
      • coffeescript/livescript
      • csharp
      • scilab
      • crystal
      • elixir
      • basic
      • ebnf
      • ruby
      • fortran/irpf90
      • livecodeserver
      • yaml
      • x86asm
      • dsconfig
      • markdown
      • ruleslanguage
      • xquery
      • sqf

    Very grateful to Michael Schmidt for all the help.

    Version 10.4.0

    A largish release with many improvements and fixes from quite a few different contributors. Enjoy!

    ... (truncated)

    Commits
    • e96b915 bump 10.4.1
    • 065f65f chore(release) allow release script to handle production releases
    • 68509fc chore(docs) bump SECURITY mention to 9.18.5
    • aa0fb85 chore(docs) Version 9 has reached EOL.
    • fb0a626 enh(ci): Add tests for polynomial regex issues
    • fa46dd1 fix(reasonml) fix poly backtracking issue
    • d496052 fix(latex) fix poly backtracking issue
    • d9f1cdb fix(javascript/typescript) fix poly backtracking issue
    • fdec037 fix(asciidoc) fix poly backtracking issue
    • 02ca487 fix(kotlin) fix poly backtracking issue
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by joshgoebel, a new releaser for highlight.js since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    opened by dependabot[bot] 0
  • Bump node-fetch from 2.3.0 to 2.6.1

    Bump node-fetch from 2.3.0 to 2.6.1

    Bumps node-fetch from 2.3.0 to 2.6.1.

    Release notes

    Sourced from node-fetch's releases.

    v2.6.1

    This is an important security release. It is strongly recommended to update as soon as possible.

    See CHANGELOG for details.

    v2.6.0

    See CHANGELOG.

    v2.5.0

    See CHANGELOG.

    v2.4.1

    See CHANGELOG.

    v2.4.0

    See CHANGELOG.

    Changelog

    Sourced from node-fetch's changelog.

    v2.6.1

    This is an important security release. It is strongly recommended to update as soon as possible.

    • Fix: honor the size option after following a redirect.

    v2.6.0

    • Enhance: options.agent, it now accepts a function that returns custom http(s).Agent instance based on current URL, see readme for more information.
    • Fix: incorrect Content-Length was returned for stream body in 2.5.0 release; note that node-fetch doesn't calculate content length for stream body.
    • Fix: Response.url should return empty string instead of null by default.

    v2.5.0

    • Enhance: Response object now includes redirected property.
    • Enhance: fetch() now accepts third-party Blob implementation as body.
    • Other: disable package-lock.json generation as we never commit them.
    • Other: dev dependency update.
    • Other: readme update.

    v2.4.1

    • Fix: Blob import rule for node < 10, as Readable isn't a named export.

    v2.4.0

    • Enhance: added Brotli compression support (using node's zlib).
    • Enhance: updated Blob implementation per spec.
    • Fix: set content type automatically for URLSearchParams.
    • Fix: Headers now reject empty header names.
    • Fix: test cases, as node 12+ no longer accepts invalid header response.
    Commits
    • b5e2e41 update version number
    • 2358a6c Honor the size option after following a redirect and revert data uri support
    • 8c197f8 docs: Fix typos and grammatical errors in README.md (#686)
    • 1e99050 fix: Change error message thrown with redirect mode set to error (#653)
    • 244e6f6 docs: Show backers in README
    • 6a5d192 fix: Properly parse meta tag when parameters are reversed (#682)
    • 47a24a0 chore: Add opencollective badge
    • 7b13662 chore: Add funding link
    • 5535c2e fix: Check for global.fetch before binding it (#674)
    • 1d5778a docs: Add Discord badge
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by akepinski, a new releaser for node-fetch since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    opened by dependabot[bot] 0
Releases(v1.0.0-alpha.1)
:rocket: A fully-featured, production ready caching GraphQL client for every UI framework and GraphQL server

Apollo Client Apollo Client is a fully-featured caching GraphQL client with integrations for React, Angular, and more. It allows you to easily build U

Apollo GraphQL 18.3k Jan 1, 2023
:fire: A highly scalable, offline-first foundation with the best developer experience and a focus on performance and best practices.

Start your next react project in seconds A highly scalable, offline-first foundation with the best DX and a focus on performance and best practices Cr

react-boilerplate 28.9k Jan 5, 2023
Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress 💅

Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress ?? Looking for v5? The main branch is unde

styled-components 38k Dec 30, 2022
A starter boilerplate for a universal webapp using express, react, redux, webpack, and react-transform

React Redux Universal Hot Example About This is a starter boilerplate app I've put together using the following technologies: Isomorphic Universal ren

Erik Rasmussen 12.1k Jan 7, 2023
A React utility belt for function components and higher-order components.

A Note from the Author (acdlite, Oct 25 2018): Hi! I created Recompose about three years ago. About a year after that, I joined the React team. Today,

Andrew Clark 14.8k Dec 23, 2022
Get started with React, Redux, and React-Router.

Deprecation Warning This project was started at the advent of the Redux ecosystem, and was intended to help users get up and running quickly. Since th

David Zukowski 10.3k Dec 23, 2022
Ruthlessly simple bindings to keep react-router and redux in sync

Project Deprecated This project is no longer maintained. For your Redux <-> Router syncing needs with React Router 4+, please see one of these librari

React Community 7.9k Dec 30, 2022
A toolkit for React, Preact, Inferno & vanilla JS apps, React libraries and other npm modules for the web, with no configuration (until you need it)

nwb nwb is a toolkit for: Quick Development with React, Inferno, Preact or vanilla JavaScript Developing: React Apps Preact Apps Inferno Apps Vanilla

Jonny Buchanan 5.5k Dec 21, 2022
CSS media queries in react - for responsive design, and more.

react-responsive Information Package react-responsive Description Media queries in react for responsive design Browser Version >= IE6* Demo The best s

contra 6.5k Jan 5, 2023
Framework-agnostic CSS-in-JS with support for server-side rendering, browser prefixing, and minimum CSS generation

Aphrodite Framework-agnostic CSS-in-JS with support for server-side rendering, browser prefixing, and minimum CSS generation. Support for colocating y

Khan Academy 5.3k Jan 1, 2023
JavaScript Survey and Form Library

SurveyJS is a JavaScript Survey and Form Library. SurveyJS is a modern way to add surveys and forms to your website. It has versions for Angular, jQue

SurveyJS 3.5k Jan 1, 2023
A simple, declarative, and composable way to fetch data for React components

React Refetch A simple, declarative, and composable way to fetch data for React components. Installation Requires React 0.14 or later. npm install --s

Heroku 3.4k Jan 3, 2023
Yeoman generator for ReactJS and Webpack

generator-react-webpack Yeoman generator for ReactJS - lets you quickly set up a project including karma test runner and Webpack module system. About

null 2.9k Dec 27, 2022
A research paper recommender system built with ML algorithms and designed by pleasant UI/UX

A research paper recommender system built with ML algorithms and designed by pleasant UI/UX . This project contains a wide variety of tech stack namely React, Next JS, Tailwind CSS, Firebase, Flask, Python, Figma and a number of ML libraries to build an efficient model that recommends Top 10 papers.

Prathik Shetty 13 Sep 29, 2022
:rocket: Blazing fast page load and seamless navigation.

React Server is now defunct Consider Next.js instead. React Server React framework with server render for blazing fast page load and seamless transiti

Redfin 3.9k Dec 15, 2022
Build blazing fast, modern apps and websites with React

Gatsby v2 ⚛️ ?? ?? Fast in every way that matters Gatsby is a free and open source framework based on React that helps developers build blazing fast w

Gatsby 54k Jan 6, 2023
React ESI: Blazing-fast Server-Side Rendering for React and Next.js

React ESI: Blazing-fast Server-Side Rendering for React and Next.js React ESI is a super powerful cache library for vanilla React and Next.js applicat

Kévin Dunglas 632 Dec 29, 2022
Build blazing fast, modern apps and websites with React

Gatsby v2 ⚛️ ?? ?? Fast in every way that matters Gatsby is a free and open source framework based on React that helps developers build blazing fast w

Gatsby 54k Jan 7, 2023
React ESI: Blazing-fast Server-Side Rendering for React and Next.js

React ESI: Blazing-fast Server-Side Rendering for React and Next.js React ESI is a super powerful cache library for vanilla React and Next.js applicat

Kévin Dunglas 633 Jan 5, 2023
A next-generation tool to create blazing-fast documentation sites.

Table of contents About Showcase sites 1. documentation 2. grommet-controls 3. theme-ui design system 4. starter projects Motivation Inspiration Roadm

null 72 Oct 24, 2022