All Projects → bfmatei → stencil-boilerplate

bfmatei / stencil-boilerplate

Licence: MIT license
A Stencil app boilerplate including routing, Redux etc.

Programming Languages

typescript
32286 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to stencil-boilerplate

stencil-realworld-app
An example SPA written with Stencil
Stars: ✭ 56 (+9.8%)
Mutual labels:  stencil, stenciljs, stencil-router
React Typescript Webpack2 Cssmodules Postcss
Simple Starter Template for React, TypeScript, postCSS, ITCSS, CSS-Modules, Webpack and Live Reloading (React Hot Loader 3)
Stars: ✭ 117 (+129.41%)
Mutual labels:  stylelint, postcss, tslint
Stencil
A toolchain for building scalable, enterprise-ready component systems on top of TypeScript and Web Component standards. Stencil components can be distributed natively to React, Angular, Vue, and traditional web developers from a single, framework-agnostic codebase.
Stars: ✭ 9,880 (+19272.55%)
Mutual labels:  progressive-web-app, stencil, stenciljs
stencil-tailwind-plugin
Plugin for using tailwindcss with StencilJS
Stars: ✭ 17 (-66.67%)
Mutual labels:  postcss, stencil, stenciljs
Bathe
The simplest WordPress starter theme including full setup for Sass, PostCSS, Autoprefixer, stylelint, Webpack, Eslint, imagemin, Browsersync, etc.
Stars: ✭ 65 (+27.45%)
Mutual labels:  stylelint, postcss
Webpack Es6 Sass Setup
A basic setup for Webpack with ES6, Babel, Sass and stylelint
Stars: ✭ 63 (+23.53%)
Mutual labels:  stylelint, postcss
Postcss Less
PostCSS Syntax for parsing LESS
Stars: ✭ 93 (+82.35%)
Mutual labels:  stylelint, postcss
Static Site Boilerplate
A better workflow for building modern static websites.
Stars: ✭ 1,633 (+3101.96%)
Mutual labels:  stylelint, postcss
Frasco
Quick starter for Jekyll including full setup for Sass, PostCSS, Autoprefixer, stylelint, Webpack, ESLint, imagemin, Browsersync, etc.
Stars: ✭ 123 (+141.18%)
Mutual labels:  stylelint, postcss
Barebones
A barebones boilerplate for getting started on a bespoke front end.
Stars: ✭ 127 (+149.02%)
Mutual labels:  stylelint, postcss
spec
🐣 easy to use eslint/stylelint/tslint/prettier/...
Stars: ✭ 60 (+17.65%)
Mutual labels:  stylelint, tslint
Vscode Stylelint
A Visual Studio Code extension to lint CSS/SCSS/Less with stylelint
Stars: ✭ 260 (+409.8%)
Mutual labels:  stylelint, postcss
dva-typescript-antd-starter-kit
A admin dashboard application demo based on antd by typescript and dva
Stars: ✭ 61 (+19.61%)
Mutual labels:  stylelint, postcss
vite-postcss-preset-env
vite-cssnext.netlify.app/
Stars: ✭ 35 (-31.37%)
Mutual labels:  postcss, cssnext
element-plus-admin
基于vite+ts+elementPlus
Stars: ✭ 361 (+607.84%)
Mutual labels:  stylelint, postcss
electron-vue-boilerplate
Simple boilerplate for building Vue app with Electron and Webpack.
Stars: ✭ 53 (+3.92%)
Mutual labels:  stylelint, postcss
Stylefmt
stylefmt is a tool that automatically formats stylesheets.
Stars: ✭ 2,123 (+4062.75%)
Mutual labels:  stylelint, postcss
vscode-lint
A VSCode configuration tool integrating Stylelint and Eslint
Stars: ✭ 60 (+17.65%)
Mutual labels:  stylelint, tslint
gatsby-remark-highlight-code
Adds stylish cards and syntax highlighting to code blocks in markdown files
Stars: ✭ 63 (+23.53%)
Mutual labels:  stencil, stenciljs
bootstrap-shopify-theme
🛍 A free Shopify Theme built with Bootstrap, BEM, Liquid, Sass, ESNext, Theme Tools, ... and Webpack.
Stars: ✭ 41 (-19.61%)
Mutual labels:  stylelint, postcss

Stencil Boilerplate

CircleCI

App boilerplate for Stencil applications.

There is a live demo available HERE.

It features a couple of common principles and workflows that are used at the moment in the Web Apps development world:

  • Routing using Stencil Router
  • Redux:
  • Automated testing using Jest
  • Linting:
  • Fully-configured for development using JetBrains products:
    • Code Styles
    • Run Configurations
  • Full support for Progressive Web App
  • Auto-generated Service Worker using Workbox
  • Decorators for quicker development:
    • Debounce
    • Autobind
  • Translations system
    • Connected to Redux - map the translations directly as a prop
    • Named values replacement
    • Component for quicker translations
  • Advanced CSS tehniques:
    • PostCSS + cssnext = <3
    • Grid layout
    • Centralized variables
    • Material-UI-based styles
  • nginx configuration
  • Continous integration using CircleCI

Components

The boilerplate project aims to ease the development of a project while keeping everything as simple as possible.

  • Button
    • Label (optional)
    • Icon (optional)
    • Disabled State (optional)
    • Pending State (optional)
    • Background Color Palette
    • Layout adjustments (swap, full width, center)
  • Checkbox
    • Label(optional)
    • Custom Icon (optional)
    • Disabled State (optional)
    • Inversed Layout (optional)
  • Connected Link
    • Wrap another element in an internal link
  • Dynamic Table
    • Create dynamic tables
    • Column Types
      • Index
      • Text
      • Icon
      • Button
      • Rich Text
    • Column Features
      • Label
      • Width
      • Align
      • Class Name
      • Item Class Name
  • Enhanced Route
    • Can check for authorization
    • Can check the user role
    • Redirects to login page in case of unauthorized
  • Icon (via SVG definitions)
  • Loader Indicator
    • Multiple sizes: small, medium, large
    • Multiple styles: white background, dark background etc.
  • Menu Component
    • Controlled via redux
    • Auto-adjusts using media queries
  • Redirect
    • It can redirect to a specific location
    • It can render a specific component with specific props
    • By default it redirects to login page
  • Rich Editor
    • Based on native implementation using contenteditable attribute
    • Has support for default values
    • Available Menu Items:
      • Bold, Italic, Underline, Strike-Through
      • Justify text, Align Left, Align Center, Align Right
      • Unordered List, Ordered List
      • Horizontal Rule
      • Link
      • Headings (H1-H6)
      • Quote-Block, Code-Block
  • Text Input
    • Label (optional)
    • Available Types:
      • Text
      • Password
    • Error State with message
    • Disabled State
    • Message Container
  • Translate
    • Can act as a link via url prop

Orchestrators

The orchestrators are singleton store instances which coordinate a specific piece of functionality.

  • App Config
    • Global object for storing values like current language etc.
  • Connected Forms
    • Inspired by redux-form
    • Automatically manage the states of a form
    • Validation
    • Supported Controls:
      • Text Input
      • Password Input
      • Rich Input
      • Checkbox
      • Submit
  • Connected Router
    • Inspired by react-router-redux
    • Control the browser navigation through redux
    • Store the location globally
  • Internationalization (i18n) System
  • User Layer

Current Work In Progress

At the moment the following features are in work and should be finished soon:

  • Connected Forms:
    • List Support
  • Components:
    • Dynamic Table
    • Dropdown Menu
  • Pages:
    • Projects List

TODO

  1. Add message support and error state to Rich Input
  2. Add message support and error state to Checkbox

Known Issues

Please note that this boilerplate is built for web apps rather than public websites. This means that stuff like server side rendering are not enabled and the styles are specifically built for WebKit-based browsers.

  • Due to an issue with contenteditable items (the cursor repositions itself at the beginning of the element after a re-render), the content cannot be controlled from outside the component. It can, however receive a default value mapped to Redux.
  • Automated Testing is not working
  • Editing a PostCSS file is not triggering the rebuild process (PR in pending)

Credits

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].