:rocket: Blazing fast page load and seamless navigation.

Last update: Jun 21, 2022

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 ๐Ÿ‘€ .

GitHub

https://github.com/redfin/react-server
Comments
  • 1. 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.

    Reviewed by doug-wade at 2016-02-10 09:13
  • 2. 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.

    Reviewed by aickin at 2016-02-14 01:00
  • 3. 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.

    Reviewed by withinboredom at 2016-05-21 21:36
  • 4. 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.
    Reviewed by drewpc at 2016-12-20 04:25
  • 5. 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.

    Reviewed by roblg at 2016-11-22 05:24
  • 6. 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)

    Reviewed by alex88 at 2016-08-17 18:07
  • 7. 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.

    Reviewed by gigabo at 2017-01-21 00:35
  • 8. 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.
    Reviewed by drewpc at 2017-01-16 19:56
  • 9. 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
    Reviewed by karlhorky at 2017-01-11 18:09
  • 10. 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.)

    Reviewed by lidawang at 2017-01-25 22:04
  • 11. 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.
    Reviewed by nampas at 2016-08-29 21:16
  • 12. 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.

    Reviewed by dependabot[bot] at 2021-03-09 17:40
  • 13. 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.

    Reviewed by dependabot[bot] at 2020-12-11 10:13
  • 14. 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.

    Reviewed by dependabot[bot] at 2020-12-11 10:13
  • 15. 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.

    Reviewed by dependabot[bot] at 2020-12-11 03:10
  • 16. 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.

    Reviewed by dependabot[bot] at 2020-12-04 18:48
๐ŸŒŸ DataFormsJS ๐ŸŒŸ A minimal JavaScript Framework, standalone React and Web Components, and JSX Compiler for rapid development of high quality websites and single page applications.
๐ŸŒŸ DataFormsJS ๐ŸŒŸ A minimal JavaScript Framework, standalone React and Web Components, and JSX Compiler for rapid development of high quality websites and single page applications.

?? DataFormsJS ?? A minimal JavaScript Framework, standalone React and Web Components, and JSX Compiler for rapid development of high quality websites and single page applications.

Jun 13, 2022
Create a SPA project using Mithril JS framework and design layout by JSX syntax and use Typescript and Vite for build system.
Create a SPA project using Mithril JS framework and design layout by JSX syntax and use Typescript and Vite for build system.

Mithril TS(Type script) JSX Create a SPA project using Mithril JS framework and design layout by JSX syntax and use Typescript and Vite for build syst

Feb 22, 2022
Use React in Vue3 and Vue3 in React, And as perfect as possible
Use React in Vue3 and Vue3 in React, And as perfect as possible

Veaury (pronounced /หˆvjuหri/, inspired by 'beauty') is a tool library. It is built on the Vue and React framework. It's use cases include using both Vue and React in one app, migrating from React to Vue or from Vue to React

Jun 20, 2022
A frontend Framework for building B2B applications running in the browser on top of REST/GraphQL APIs, using ES6, React and Material Design
A frontend Framework for building B2B applications running in the browser on top of REST/GraphQL APIs, using ES6, React and Material Design

react-admin A frontend Framework for building data-driven applications running in the browser on top of REST/GraphQL APIs, using ES6, React and Materi

Jun 26, 2022
A declarative, efficient, and flexible JavaScript library for building user interfaces.

React ยท React is a JavaScript library for building user interfaces. Declarative: React makes it painless to create interactive UIs. Design simple view

Jun 20, 2022
The Full-stack Framework for React and other in Deno.

The Full-stack Framework for React and other in Deno.

Jun 17, 2022
๐Ÿ›ก๏ธ โš›๏ธ A simple, scalable, and powerful architecture for building production ready React applications.

??๏ธ โš›๏ธ A simple, scalable, and powerful architecture for building production ready React applications.

Jun 21, 2022
A data-driven, functional, and reactive framework for building Modern Web Apps in JavaScript.
A data-driven, functional, and reactive framework for building Modern Web Apps in JavaScript.

A data-driven, functional, and reactive framework for building Modern Web Apps in JavaScript. It leverages React, inspired by re-frame.

Mar 2, 2022
Declarative data-fetching and caching framework for REST APIs with React
Declarative data-fetching and caching framework for REST APIs with React

Declarative data-fetching and caching framework for REST APIs with React

Jun 12, 2022
A system combining classical traces dumping tools and a ReactJS web app for live 3D graph rendering of streamed graph data derived from traces
A system combining classical traces dumping tools and a ReactJS web app for live 3D graph rendering of streamed graph data derived from traces

The DynaGraph framework: a system combining classical traces dumping tools (i.e. the tshark tool and Firefox's Network Monitor component) and a ReactJS web app for live 3D graph rendering of streamed graph data derived from traces

Apr 28, 2022
A light-weight, comprehensive, reactive framework for business logic and when things change.

watchlight.dev v1.0.15 beta << For when things change. A light-weight, comprehensive, reactive framework for business logic and when things change. In

May 13, 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

May 30, 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

Jun 19, 2022
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: 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

Jun 18, 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

Jun 19, 2022
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: 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

Jun 18, 2022
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

Jun 17, 2022
Solid SimpleTable is a blazing fast reactive table component that gives you freedom.
Solid SimpleTable is a blazing fast reactive table component that gives you freedom.

Solid SimpleTable Solid SimpleTable is a blazing fast reactive table component that gives you freedom. Features Very fast as it is compiled down to Va

Jun 16, 2022
A blazing fast, dependency free, 1kb runtime type-checking library written entirely in typescript, meant to be used with it.
A blazing fast, dependency free, 1kb runtime type-checking library written entirely in typescript, meant to be used with it.

A blazing fast, dependency free, 1kb runtime type-checking library written entirely in typescript, meant to be used with it.

May 31, 2022