A well-structured production-ready frontend boilerplate for React and Next.js

superplate

A well-structured production-ready frontend boilerplate with Typescript, Jest, testing-library, styled-component, Sass, Css, .env, Fetch, Axios, Reverse Proxy, Bundle Analyzer and 30+ plugin. For now, only creates projects for React and Next.js.

superplate has been developed to create rock solid UI frameworks apps boilerplate with no build configurations in seconds.

You can add usefull, highly-demands front-end development tools and libraries as a plugin by using superplate CLI during the project creation phase.

Documentation

For more detailed information and usage, refer to the superplate documentation.

Quick Start

To create a new app run the command:

npx superplate-cli <my-project>

Make sure you have npx installed (npx is shipped by default since npm 5.2.0)

You will be prompted with plugin options to create your project without spending hours on configurations. To find out more about superplate core plugins see the superplate-core-plugins.

Once all questions are answered, it will install all plugins and the dependencies. Then navigate to the project folder and launch it:

npm run dev

Use the dev command when running application in development mode.

Philosophy

  • It provides a easy starting to your project in seconds with using industry-standard best practices and performance oriented tools & libraries.
  • You can easily develop your own framework CLI and plugins according to your needs to on top of superplate codebase due to its framework/plugin agnostic nature.
  • Code examples are added to plugin documents to show how best practices are implementing.

refine Integration

refine is a React-based framework for building data-intensive applications in no time ✨ It ships with Ant Design System, an enterprise-level UI toolkit.

refine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to admin panels, B2B applications and dashboards.

Next.js Integration

superplate makes it easier to get up and running with a well-structured Next.js and TypeScript application.

Next.js is a minimalistic React framework that runs on the browser and the server with all the features you need for production: hybrid static & server rendering, TypeScript support, smart bundling, route pre-fetching, and more. It offers developers an easy way to get started, build server-side rendering and static web applications using React.

React Integration

superplate makes it easier to get up and running with a well-structured Create React App and TypeScript application.

Plugins

superplate uses a plugin-based architecture. Basically, plugins are created from highly-demanded npm tools in the front-end ecosystem with configuration files.

The features and tools listed during the project creation process are implemented as plugins.

You can check them out in superplate-core-plugins.

The default core plugins determined by Pankod team uses on a day-to-day basis to build apps. Feel free to send PR or open an issue for new plugins you want to add.

Using a custom source of plugins

You can use different sources for plugins other than superplate-core-plugins.

Simply add --source <path-to-source> option to use superplate with a custom source.

To learn more about sources and how to create your own; please check out documentation

Creating a plugin

superplate gives you many abilities to create your own plugin and interact with the others. To learn more on creating a plugin, please check out documentation

Available plugins

CLI options

> npx superplate-cli --help
Usage: superplate [options]

Options:
 -v, --version                   prints version number
 -h, --help                      prints help information on all commands and options
 -d, --debug                     prints additional logs
 -s, --source <path-to-source>   Use this option to target a custom source of plugins
                                 Source path can be a remote git repository or a local path.

Development mode commands

Watch for changes in the code; build the project and then globally install the superplate for testing.

npm run dev:global

Create a build inside /lib directory.

npm run build:cli

Install the current build globally

npm run global

Contribution

If you have a bug to report, do not hesitate to file an issue.

If you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.

License

Licensed under the MIT License, Copyright © 2021-present Pankod