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

create-cljs-app

v0.4.4

Published

Set up a modern cljs app by running one command.

Downloads

45

Readme

Create CLJS App Build Status

Create ClojureScript apps with a single command. It is focused on making it easy for JS and React developers to get started with ClojureScript.

Create CLJS App works on Windows, Linux, and macOS. If something doesn’t work, please file an issue.

Heavily inspired on create-react-app. A lot of messages are mostly the same for now (create-react-app maintainers: if that's not ok, let me know).

Quick Overview

npx create-cljs-app my-app
cd my-app
npm start

Then open http://localhost:3000/ to see your app. When you’re ready to deploy to production, create a minified bundle with npm run build.

Creating an App

You’ll need to have Node 10.16.0 or later version on your local development machine (but it’s not required on the server). You can use nvm (macOS/Linux) or nvm-windows to easily switch Node versions between different projects.

You'll also need a Java SDK (Version 8+, Hotspot).

To create a new app, you may choose one of the following methods:

npx

npx create-cljs-app my-app

(npx comes with npm 5.2+ and higher)

npm

npm init cljs-app my-app

npm init <initializer> is available in npm 6+

Yarn

yarn create cljs-app my-app

yarn create is available in Yarn 0.25+

It will create a directory called my-app inside the current folder. Inside that directory, it will generate the initial project structure and install the transitive dependencies:

my-app
├── README.md
├── package.json
├── node_modules
├── shadow-cljs.edn
├── .gitignore
├── public
|  ├── css
|  |  └── style.css
|  ├── index.html
|  └── favicon.ico
└── src
   ├── app
   |  ├── cards.cljs
   |  ├── core.cljs
   |  ├── hello.cljs
   |  └── hello_cards.cljs       
   └── e2e
      └── core.cljs

Once the installation is done, you can open your project folder:

cd my-app

Inside the newly created project, you can run some built-in commands:

npm start or yarn start

Runs the app in the development mode. Open http://localhost:3000 to view it in the browser. The page will reload if you make edits.

The app uses Reagent, a minimalistic interface between ClojureScript and React. You can use existing npm React components directly via a interop call.

Builds use Shadow CLJS for maximum compatibility with NPM libraries. You'll need a Java SDK (Version 8+, Hotspot) to use it. You can import npm libraries using Shadow CLJS. See the user manual for more information.

npm run cards or yarn cards

Runs the interactive live development environment. You can use it to design, test, and think about parts of your app in isolation.

This environment uses Devcards and React Testing Library.

npm run build or yarn build

Builds the app for production to the public folder. It correctly bundles all code and optimizes the build for the best performance.

npm test or yarn test, and npm run e2e or yarn e2e

test launches the test runner in the interactive watch mode. You can use test:once instead to run the tests a single time, and e2e to run end-to-end tests.

See the ClojureScript testing page for more information. E2E tests use Taiko to interact with a headless browser.

npm run lint or yarn lint, and npm run format or yarn format

lint checks the code for known bad code patterns using clj-kondo.

format will format your code in a consistent manner using zprint-clj.

npm run report or yarn report

Make a report of what files contribute to your app size. Consider code-splitting or using smaller libraries to make your app load faster.

npm run server or yarn server

Starts a Shadow CLJS background server. This will speed up starting time for other commands that use Shadow CLJS.

License

Create CLJS App is open source software licensed as MIT.