kit

ReactQL starter kit (use the CLI)

Stars
229
Committers
14

Bot releases are hidden (Show)

kit - 1.5.3

Published by leebenson over 7 years ago

1.5.3 - 2017-06-06

Webpack

  • Replaces cheap-module-source-map with source-map in development, for compatibility with CSS
  • Adds sourceMap option to common.css.getExtractCSSLoaders()
kit - 1.5.2

Published by leebenson over 7 years ago

1.5.2 - 2017-06-05

ESLint

  • Adds React ignore for the following props:
  • dispatch, for less Redux boilerplate
  • data, injected by Apollo

Apollo

  • Removes redundant kit/lib/apollo.js -> mergeData() function
kit - 1.5.1

Published by leebenson over 7 years ago

1.5.1 - 2017-06-01

Environment

  • Adds more complete kit/lib/env.js, with functions for getting browser/server-specific host/ports
kit - 1.5.0

Published by leebenson over 7 years ago

1.5.0 - 2017-06-01

Environment

  • Adds kit/lib/env.js, for determining local environment settings
  • Adds getHost(), getPort() and getURL() to kit/lib/env.js to detect where the local server is/will be spawned on
  • Updates Webpack and kit/entry/server_*.js configs to use dynamic environment host/port/URL
  • Adds development/production env vars to webpack builds, to provide context to Webpack

NPM

  • Replaces concurrently with npm-run-all, to avoid errors in NPM v5.0.0 when terminating with Ctrl/Cmd + C
  • Removes packages:
    "concurrently": "^3.4.0"
  • Adds packages:
    "npm-run-all": "^4.0.2"
kit - 1.4.1

Published by leebenson over 7 years ago

1.4.1 - 2017-05-30

Server

  • Adds 301/302 redirect handling (issues Location: header to new URL)
  • Adds 404 Not Found handling; by default, just sets a 404 status code

App

  • Adds sample <Redirect> handler, from /old/path to /new/path
  • Adds fall-through 404 handler, when no routes are matched
kit - 1.4.0

Published by leebenson over 7 years ago

1.4.0 - 2017-05-30

General

  • Fixes edge case where <script defer> tags in kit/views/ssr.js could cause manifest/vendor/browser files to load in the wrong order
  • Adds Brotli compression - builds .br versions of static assets in production
  • Adds staticMiddleware() to kit/entry/server.js for serving static file assets
  • Replaces koa-static middleware with a direct call to parent koa-send
  • Bumps to PostCSS v6 by removing inline Webpack config

NPM

  • Removes packages:
    "koa-static": "^3.0.0"

  • Adds packages:
    "brotli-webpack-plugin": "^0.3.0"
    "koa-send": "^4.1.0"

  • Bumps packages:
    "babel-preset-env": "^1.5.1"
    "css-loader": "^0.28.4"
    "eslint-plugin-compat": "^1.0.3"
    "eslint-plugin-import": "^2.3.0"
    "eslint-plugin-jsx-a11y": "^5.0.3"
    "node-sass": "^4.5.3"
    "style-loader": "^0.18.1"
    "webpack": "^2.6.1"
    "webpack-bundle-analyzer": "^2.8.2"
    "koa-router": "^7.2.0"
    "react-helmet": "^5.1.3"

kit - 1.3.2

Published by leebenson over 7 years ago

1.3.2 - 2017-05-29

  • Replaces gzip with zopfli compression on Webpack build assets (up to 5% better compression)
  • Adds npm run build-browser script, for generating just a production browser bundle
kit - 1.3.1

Published by leebenson over 7 years ago

1.3.1 - 2017-05-28

  • Fixes #30 - code splitting now works on both the dev and production web server
kit - 1.3.0

Published by leebenson over 7 years ago

1.3.0 - 2017-05-27

Linting

  • Fixes #24 - ESLint works with latest Atom ESLinter, bypasses the need for Webpack and babel-register, and speeds up linting.
  • Removes kit/webpack/eslint.js - which is now moot

Server

  • Closes #4 - Introduces server development bundling. Now running npm start bundles both a hot-reloading browser bundle, and a spawns server-side rendering that reloads upon code changes.
  • Adds distDev route to paths, for server development bundled assets
  • Adds kit/webpack/server_dev.js Webpack config for building and launching a development server
  • Adds separate kit/webpack/server_prod.js Webpack config for building production server bundle
  • Refactors kit/entry/server.js for working in both dev/production
  • Adds console messages to show server start-up info, including network IP and ports
  • Fixes __dirname in the built server bundle, so that dist/server.js can be run from anywhere (mentioned in / fixes https://github.com/reactql/cli/issues/36)

Helpers

  • Adds kit/lib/console.js and logServerStarted() function, for dumping neat console messages to the screen when starting servers
  • Adds kit/lib/routing.js, with <Status> (internal), <NotFound> and <Redirect> components for handling status codes, 404s and redirects, universally.

Webpack / bundling

  • Adds ability to use multiple webpack-configs in a given config file, by exporting as an array
  • Tidies up kit/webpack/base with common stats; fixes path typo
  • Adds kit/webpack/dev.js, which is extended by server_dev and browser_dev and adds the correct env vars and source-maps.
  • Closes #22 - Adds static bundling. Now you can run npm run build-static to create a production browser bundle along with an index.html file, for uploading to a static web host
  • Adds npm run build-static-run, for static bundling and running the static site locally on port 5000
  • Adds npm run static, for running an already built static bundle
  • Refactors kit/webpack/browser_prod.js to add console messages; fixes minor chunk hash typo
  • Adds css.getDevLoaders() and css.getExtractCSSLoaders() helper functions to kit/webpack/common.js, for CSS configs that work across multiple configs
  • Adds stats to kit/webpack/common.js, for a common output format that shows built assets, errors and warnings, with minimal clutter

NPM

  • Adds packages:
    "concurrently": "^3.4.0"
    "serve": "^5.1.5"
    "boxen": "^1.1.0",
    "chalk": "^1.1.3",
    "ip": "^1.1.5"
  • Removes redundant packages:
    "babel-register": "^6.24.1"
    "node-noop": "^1.0.0"
    "promise-monofill": "^1.0.1"
  • Re-orders packages so that they correctly appear within devDependencies or dependencies
  • Refactors npm run... commands as follows:
    "browser": Runs hot-reloaded Webpack dev server for the browser on port 8080
    "build": Builds production bundles for server and browser
    "build-run": Builds production bundles, and runs a live web server
    "build-static": Builds a production browser bundle and index.html, for hosting statically
    "build-static-run": Builds static bundle, and runs it locally on port 5000
    "clean": Removes dist folder and contents
    "lint": Runs ESLint on project source code
    "server": Runs a previously build production web server
    "server-dev": Runs a development web server on port 8081 (restarts automatically on code changes)
    "start": Starts both a development web server and a hot-reloadable browser Webpack dev server (ports 8081/8080 respectively)
    "static": Starts a static web server on port 5000 for a previously built static bundle
    "test": Currently does nothing. TBD.

App

  • Adds 404 route handling (currently a blank response - but 404 codes can be implemented at the server level to be handled by middleware, or respond appropriately; redirects TBD.)
kit - 1.2.0

Published by leebenson over 7 years ago

1.2.0 - 2017-05-22

  • Adds npm run build-browser-only option, which creates index.html alongside regular JS and CSS browser bundling. Useful for static hosts or via a BYO web server.
  • Adds provisional postcss.config.js, for upcoming PostCSS v6.0 (note: not implemented yet; CSSNext currently awaiting https://github.com/MoOx/postcss-cssnext/issues/374)
  • Fixes PostCSS source maps in development
  • Adds HOST environment var for overriding localhost default
  • Adds Running on http://localhost:4000/ default message when server starts (or whatever the correct HOST and PORT are)
  • Bumps NPM packages:
    "cross-env": "^5.0.0",
    "css-loader": "^0.28.1",
    "eslint-config-airbnb": "^15.0.0",
    "eslint-plugin-jsx-a11y": "^5.0.1",
    "eslint-plugin-react": "^7.0.1",
    "image-webpack-loader": "^3.3.1",
    "node-noop": "^1.0.0",
    "postcss-cssnext": "2.11.0",
    "postcss-loader": "^2.0.5",
    "postcss-nested": "^2.0.2",
    "promise-monofill": "^1.0.1",
    "sass-loader": "^6.0.5",
    "style-loader": "^0.18.0",
    "webpack": "^2.5.1",
    "webpack-bundle-analyzer": "^2.8.1",
    "webpack-dev-server": "^2.4.5",
    "webpack-node-externals": "^1.6.0"
  • Bumps yarn.lock
  • Merges #25 - .editorconfig ESLint fix eol-last

Commits

b12f8ec5ad1549412a072732e68ad596281231b9
547c9f09e4b1469799cc562803de0b358f79f8d9
f67b564cc2058e3467f8b50f38e73fe482c9b8ba <--- latest

kit - 1.1.2

Published by leebenson over 7 years ago

kit - 1.1.1

Published by leebenson over 7 years ago

  • Adds CSSNano, for optimising resulting stylesheet code via PostCSS
  • Adds extensible css-loader defaults to kit/webpack/common.js
  • Fixes src/styles.css to use SASS-style nesting of elements
  • Bumps yarn.lock
  • Bumps NPM:
    chunk-manifest-webpack-plugin ^1.0.0 → ^1.1.0
    webpack-dev-server ^2.4.3 → ^2.4.4
kit - 1.1.0

Published by leebenson over 7 years ago

  • Adds '.global.(css|scss|sass|less)' loaders, making it trivial to separate 'localised' and global styles
  • Fixes ESLint'ing to allow for...of, correctly filtering out the Airbnb restriction
  • Adds postcss-nested, to allow SASS-style nesting on plain CSS
  • Adds kit/webpack/common.js for shared configuration between Webpack files
  • Refactors style loading in Webpack files targeting all environments
  • Fixes prop-types warning generated by react-apollo by bumping to 1.1.0
  • Adds global style to src/styles.global.css
  • Refactors class names with original name, prepended to the base64 hash
  • Updates yarn.lock
  • Bumps NPM packages:
    react-apollo ^1.0.1 → ^1.1.0
    babel-eslint ^7.2.1 → ^7.2.3
    babel-loader ^7.0.0-beta.1 → ^7.0.0
    webpack-dev-server ^2.4.2 → ^2.4.3
kit - 1.0.7

Published by leebenson over 7 years ago

  • Optimises window.* initial variables on SSR by removing whitespace
  • Allows passing a window prop to <Html> on SSR, instead of separate props for webpackManifest / state
kit - 1.0.6

Published by leebenson over 7 years ago

  • Moves manifest.json and chunk-manifest.json to dist instead of dist/public (stops them being accessible publicly)
  • Fixes issue with manifest paths not working on non-root routes
Related Projects