{"id":13760517,"url":"https://github.com/filipesilva/create-cljs-app","last_synced_at":"2025-04-05T21:06:17.538Z","repository":{"id":35169263,"uuid":"215394991","full_name":"filipesilva/create-cljs-app","owner":"filipesilva","description":"Set up a modern CLJS web app by running one command.","archived":false,"fork":false,"pushed_at":"2023-01-01T06:03:14.000Z","size":456,"stargazers_count":302,"open_issues_count":45,"forks_count":18,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-02T20:06:10.690Z","etag":null,"topics":["clj","clj-kondo","cljs","clojure","clojurescript","create","hacktober","hacktoberfest","shadow-cljs","zprint"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/filipesilva.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-15T20:55:18.000Z","updated_at":"2025-03-08T07:31:33.000Z","dependencies_parsed_at":"2023-01-15T15:09:29.108Z","dependency_job_id":null,"html_url":"https://github.com/filipesilva/create-cljs-app","commit_stats":null,"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filipesilva%2Fcreate-cljs-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filipesilva%2Fcreate-cljs-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filipesilva%2Fcreate-cljs-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filipesilva%2Fcreate-cljs-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/filipesilva","download_url":"https://codeload.github.com/filipesilva/create-cljs-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247399871,"owners_count":20932876,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clj","clj-kondo","cljs","clojure","clojurescript","create","hacktober","hacktoberfest","shadow-cljs","zprint"],"created_at":"2024-08-03T13:01:11.969Z","updated_at":"2025-04-05T21:06:17.497Z","avatar_url":"https://github.com/filipesilva.png","language":"Clojure","funding_links":[],"categories":["Clojure"],"sub_categories":[],"readme":"# Create CLJS App [![Build Status](https://github.com/filipesilva/create-cljs-app/workflows/Node%20CI/badge.svg?branch=master)](https://github.com/filipesilva/create-cljs-app/actions)\n\nCreate ClojureScript apps with a single command.\u003cbr\u003e\nIt is focused on making it easy for JS and React developers to get started with ClojureScript.\n\nCreate CLJS App works on Windows, Linux, and macOS.\u003cbr\u003e\nIf something doesn’t work, please [file an issue](https://github.com/filipesilva/create-cljs-app/issues/new).\u003cbr\u003e\n\nHeavily inspired on [create-react-app](https://github.com/facebook/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).\n\n## Quick Overview\n\n```sh\nnpx create-cljs-app my-app\ncd my-app\nnpm start\n```\n\nThen open [http://localhost:3000/](http://localhost:3000/) to see your app.\u003cbr\u003e\nWhen you’re ready to deploy to production, create a minified bundle with `npm run build`.\n\n## Creating an App\n\n**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](https://github.com/creationix/nvm#installation) (macOS/Linux) or [nvm-windows](https://github.com/coreybutler/nvm-windows#node-version-manager-nvm-for-windows) to easily switch Node versions between different projects.\n\n**You'll also need a [Java SDK](https://adoptopenjdk.net/) (Version 8+, Hotspot).**\n\nTo create a new app, you may choose one of the following methods:\n\n### npx\n\n```sh\nnpx create-cljs-app my-app\n```\n_([npx](https://medium.com/@maybekatz/introducing-npx-an-npm-package-runner-55f7d4bd282b) comes with npm 5.2+ and higher)_\n\n### npm\n\n```sh\nnpm init cljs-app my-app\n```\n\n_`npm init \u003cinitializer\u003e` is available in npm 6+_\n\n### Yarn\n\n```sh\nyarn create cljs-app my-app\n```\n\n_`yarn create` is available in Yarn 0.25+_\n\nIt will create a directory called `my-app` inside the current folder.\u003cbr\u003e\nInside that directory, it will generate the initial project structure and install the transitive dependencies:\n\n```\nmy-app\n├── README.md\n├── package.json\n├── node_modules\n├── shadow-cljs.edn\n├── .gitignore\n├── public\n|  ├── css\n|  |  └── style.css\n|  ├── index.html\n|  └── favicon.ico\n└── src\n   ├── app\n   |  ├── cards.cljs\n   |  ├── core.cljs\n   |  ├── hello.cljs\n   |  └── hello_cards.cljs       \n   └── e2e\n      └── core.cljs\n```\n\nOnce the installation is done, you can open your project folder:\n\n```sh\ncd my-app\n```\n\nInside the newly created project, you can run some built-in commands:\n\n### `npm start` or `yarn start`\n\nRuns the app in the development mode.\u003cbr\u003e\nOpen [http://localhost:3000](http://localhost:3000) to view it in the browser.\nThe page will reload if you make edits.\n\nThe app uses [Reagent](https://reagent-project.github.io), a minimalistic interface between ClojureScript and React.\u003cbr\u003e\nYou can use existing npm React components directly via a [interop call](http://reagent-project.github.io/docs/master/InteropWithReact.html#creating-reagent-components-from-react-components).\n\nBuilds use [Shadow CLJS](https://github.com/thheller/shadow-cljs) for maximum compatibility with NPM libraries. You'll need a [Java SDK](https://adoptopenjdk.net/) (Version 8+, Hotspot) to use it. \u003cbr\u003e\nYou can [import npm libraries](https://shadow-cljs.github.io/docs/UsersGuide.html#js-deps) using Shadow CLJS. See the [user manual](https://shadow-cljs.github.io/docs/UsersGuide.html) for more information.\n\n### `npm run cards` or `yarn cards`\n\nRuns the interactive live development environment.\u003cbr\u003e\nYou can use it to design, test, and think about parts of your app in isolation.\n\nThis environment uses [Devcards](https://github.com/bhauman/devcards) and [React Testing Library](https://testing-library.com/docs/react-testing-library/intro).\n\n### `npm run build` or `yarn build`\n\nBuilds the app for production to the `public` folder.\u003cbr\u003e\nIt correctly bundles all code and optimizes the build for the best performance.\n\n### `npm test` or `yarn test`, and `npm run e2e` or `yarn e2e`\n\n`test` launches the test runner in the interactive watch mode.\u003cbr\u003e\nYou can use `test:once` instead to run the tests a single time, and `e2e` to run end-to-end tests.\n\nSee the ClojureScript [testing page](https://clojurescript.org/tools/testing) for more information. E2E tests use [Taiko](https://github.com/getgauge/taiko) to interact with a headless browser.\n\n### `npm run lint` or `yarn lint`, and `npm run format` or `yarn format`\n\n`lint` checks the code for known bad code patterns using [clj-kondo](https://github.com/borkdude/clj-kondo).\n\n`format` will format your code in a consistent manner using [zprint-clj](https://github.com/clj-commons/zprint-clj).\n\n### `npm run report` or `yarn report`\n\nMake a report of what files contribute to your app size.\u003cbr\u003e\nConsider [code-splitting](https://code.thheller.com/blog/shadow-cljs/2019/03/03/code-splitting-clojurescript.html) or using smaller libraries to make your app load faster.\n\n### `npm run server` or `yarn server`\n\nStarts a Shadow CLJS background server.\u003cbr\u003e\nThis will speed up starting time for other commands that use Shadow CLJS.\n\n## License\n\nCreate CLJS App is open source software [licensed as MIT](https://github.com/filipesilva/create-cljs-app/blob/master/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffilipesilva%2Fcreate-cljs-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffilipesilva%2Fcreate-cljs-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffilipesilva%2Fcreate-cljs-app/lists"}