npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@norgate-av/cra-template-crestron-ch5-typescript

v0.6.0

Published

Crestron CH5 TypeScript template for Create React App.

Downloads

70

Readme

cra-template-crestron-ch5-typescript


CI Conventional Commits Commitizen friendly GitHub contributors NPM MIT license


An unofficial third party TypeScript template for Create React App and Crestron CH5.

Setup to work with Crestron CH5 out of the box so you can get up and running quickly. It provides packages for page routing, styling using CSS-in-JS and/or TailwindCSS (you can still use regular CSS, SCSS or even CSS Modules 😄), a wide variety of icons, mobile browser console, linting and more... 🚀 🚀 🚀

Contents 📖

Features :white_check_mark:

  • ✅ Works with Crestron CH5 CrComLib out of the box.
    • No need to manually edit the CrComLib package.json 👍
  • ✅ React v18 Ready
  • ✅ Eruda Setup
  • ✅ Basic Redux Setup
  • ✅ Basic GitHub Actions CI
  • ✅ Multiple Build Options
    • ✅ React App
    • ✅ Crestron CH5 Archive (.ch5z)
    • ✅ Docker Image
    • ✅ Electron App

Inside the Box :package:

  • Crestron CH5 CrComLib
    • Crestron HTML5 (CH5) Components Library
  • Crestron CH5 WebXPanel
    • Browser control of ch5 components library
  • Crestron CH5 CLI
    • Crestron CH5 utilities
  • Crestron CH5 Helper
    • A helper collection of Crestron CH5 constants 😀
  • Typescript
    • A superset of JavaScript that compiles to clean JavaScript output
  • React Router
    • Declarative routing for React
  • Redux
    • Predictable state container for JavaScript apps
  • React Redux
    • Official React bindings for Redux
  • Redux Toolkit
    • The official, opinionated, batteries-included toolset for efficient Redux development
  • Styled Components
    • Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps 💅
  • TailwindCSS
    • A utility-first CSS framework for rapid UI development
  • clsx
    • A tiny (228B) utility for constructing className strings conditionally
  • React Icons
    • svg react icons of popular icon packs
  • React Crestron CH5 Hooks
    • A collection of Crestron CH5 hooks ⚓ for React 😀
  • Rooks
    • Essential React custom hooks ⚓ to super charge your components!
  • Eruda
    • Console for mobile browsers
  • Axios
    • Promise based HTTP client for the browser and node.js
  • ESLint
    • Find and fix problems in your JavaScript code
  • Prettier
    • An opinionated code formatter
  • Husky
    • Git hooks made easy 🐶 woof!
    • NOTE This feature needs to be manually enabled. See here for more details.
  • Lint-Staged
    • 🚫💩 — Run linters on git staged files
    • Requires Husky to be enabled.
  • Commitizen
    • Create committing rules for projects 🚀 auto bump versions ⬆️ and auto changelog generation 📂
  • commitlint
    • 📓 Lint commit messages
    • Requires Husky to be enabled.
  • GitHub Actions CI
    • Automate your workflow from idea to production
  • VSCode Workspace Settings
  • EditorConfig
  • Docker Support
    • Build safer, share wider, run faster
    • Requires Docker and Docker-Compose to be installed on your local machine. Portainer is also recommended as a front end for managing Docker containers. It is free and open-source.
  • Electron Support
    • Build cross-platform desktop apps with JavaScript, HTML, and CSS

Getting Started :rocket:

To use this template, add --template @norgate-av/crestron-ch5-typescript when creating a new app.

For example:

npx create-react-app my-app --template @norgate-av/crestron-ch5-typescript

# or

yarn create react-app my-app --template @norgate-av/crestron-ch5-typescript

Enable Husky Git Hooks :dog:

Currently, to use the Husky Git Hooks feature provided by this template you must manually run the following command within the project directory after the bootstrap completes. This will update the local git configuration to use the hooks in the .husky directory.

npm run husky:install

# or

yarn husky:install

Project Configuration :zap:

To upload to a Crestron touchscreen or control system using the scripts provided by this template, add the IP address or hostname to the project properties in package.json.

{
    "crestron": {
        "project": {
            "touchscreen": {
                "url": "Enter IP/Hostname of Crestron Touchpanel here...",
                "type": "touchscreen"
            },
            "web": {
                "url": "Enter IP/Hostname of Crestron Processor here...",
                "type": "web",
                "config": {
                    "host": "localhost",
                    "ipId": "0x03",
                    "roomId": ""
                }
            }
        }
    }
}

Team :soccer:

This project is maintained by the following person(s) and a bunch of awesome contributors.

Contributors :sparkles:

All Contributors

Thanks go to these awesome people (emoji key):

This project follows the all-contributors specification. Contributions of any kind are welcome!

Check out the contributing guide for more information.

Learn More :books:

To learn more, check out the following resources:

  • Getting Started – How to create a new app.
  • User Guide – How to develop apps bootstrapped with Create React App.
  • Crestron CH5 - Documentation and resources for developing with Crestron CH5.

LICENSE :balance_scale:

MIT