Ultimate universal starter with lazy-loading, SSR and i18n.
# Install
git clone --depth=1 --single-branch https://github.com/Metnew/suicrux.git
cd suicrux
npm install
# install flow typings for libraries (optional)
flow-typed install
# Development
npm run dev
# Build
npm run build
# Production
npm run start
Latest Webpack with HMR
Babel: stage-0
and few known plugins.
Eslint and Standard.js
Jest - testing framework.
/static
folder + url-loader
.
Everything in /static/public/
is copied to /dist/client
with copy-webpack-plugin.
Of course, config is intuitive! Webpack universality is inspired by Razzle.
Check /src/server/ssr/
.
Using react-async-bootstrapper - a wrapper around react-tree-walker
.
Yes, with styled-components'
<ThemeProvider>
it's possible to specify a color theme.
Without react-intl
:
process.env.HOST (default: 'localhost')
: Application host. Browser and Server.process.env.PORT (default: 3000)
: Application port. Browser and Server.process.env.INSPECT_ENABLED (default: true)
: add --inspect
arg to server in development. Webpack only.process.env.ANALYZE_BUNDLE (default: false)
: Run webpack-bundle-analyzer
on production build. Webpack process.env.GA_ID (default: false)
: Google analytics ID. If set, react-ga
initialize itself inside >container on
componentDidMount()`. Browser only.process.env.SENTRY_PUBLIC_DSN (default: false)
: Similar to GA_ID
, but for Sentry. Browser only.process.env.BROWSER
: Your environment. true
- browser, false
- Node.
NOTE: Remember, you can't run code which uses browser global object in Node environment!
process.env.SENTRY_DSN (default: false)
: Sentry full(private) DSN. Server only.SUI = Semantic.UI
SUIR = Semantic-UI-React TL;DR: SUIR is great, but it lacks inline-styles.
You're always free to use any other UI framework with suicrux
.
UI framework comparison.
Import of unused styles.
It's possible to import only required components' styles. Check
src/client/index.jsx
. PurifyCss cannot help. Only browser-based tools probably could.
SUI styles are costly(548kb) and block rendering.
It's possible to split SUI styles into several smaller chunks which could be downloaded faster.
Have a question? Ask! :wink:
Make sure you ask a right question. :smiling_imp:
PRs, issues, enhancements are always welcome.
Vladimir Metnew vladimirmetnew@gmail.com
Apache License 2.0