{"id":13760484,"url":"https://github.com/karad/lein_template_descjop","last_synced_at":"2025-09-24T08:14:46.412Z","repository":{"id":30543602,"uuid":"34098295","full_name":"karad/lein_template_descjop","owner":"karad","description":"A Leiningen template(Clojure/ClojureScript Project) for Web based desktop application with Electron (atom-shell).","archived":false,"fork":false,"pushed_at":"2017-10-06T12:45:50.000Z","size":168,"stargazers_count":394,"open_issues_count":5,"forks_count":16,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-08-14T16:43:37.957Z","etag":null,"topics":["atom","clojure","clojurescript","desktop-application","electron","figwheel","grunt","html","leiningen","linux","nodejs","npm","om","om-next","osx","packager","project-template","re-frame","reagent","windows"],"latest_commit_sha":null,"homepage":"http://descjop.org","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-17T05:28:47.000Z","updated_at":"2025-06-05T18:09:17.000Z","dependencies_parsed_at":"2022-09-22T12:51:52.568Z","dependency_job_id":null,"html_url":"https://github.com/karad/lein_template_descjop","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/karad/lein_template_descjop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karad%2Flein_template_descjop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karad%2Flein_template_descjop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karad%2Flein_template_descjop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karad%2Flein_template_descjop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karad","download_url":"https://codeload.github.com/karad/lein_template_descjop/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karad%2Flein_template_descjop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276071224,"owners_count":25580242,"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","status":"online","status_checked_at":"2025-09-20T02:00:10.207Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["atom","clojure","clojurescript","desktop-application","electron","figwheel","grunt","html","leiningen","linux","nodejs","npm","om","om-next","osx","packager","project-template","re-frame","reagent","windows"],"created_at":"2024-08-03T13:01:11.206Z","updated_at":"2025-09-24T08:14:46.393Z","avatar_url":"https://github.com/karad.png","language":"Clojure","funding_links":[],"categories":["Clojure","Boilerplates","Awesome ClojureScript"],"sub_categories":["Samples","Web Framework \u0026 Template"],"readme":"![logo descjop](man/images/logo.png)\n\n\n# lein-template-descjop\n\nA Leiningen template for Web based desktop application with Electron(atom-shell) and others.\n(now Electron(atom-shell) based only. will build nw.js based later...)\n\n**Website : [descjop.org/](http://descjop.org/)**\n\n[![Clojars Project](http://clojars.org/descjop/lein-template/latest-version.svg)](http://clojars.org/descjop/lein-template)\n\n## Requirements\n\n- leiningen 2.6.x + \n- node v6.x +\n- grunt v0.1.13 +\n\n**important : not support leiningen 2.5.x**\n\n### (If not already installed grunt.)\n\n```\n$ npm install -g grunt-cli\n```\n\n## Help\n\nYou can display help how to use descjop.\n\n```\n$ lein new descjop help\n```\n\nand you can use alias in project directory.\n\n```\n$ lein descjop-help\n```\n\n## display latest version\n\nYou can display latest version.\n\n```\n$ lein new descjop version\n```\n\n## New project from leiningen template\n\n### Minimum project\n\n```\n$ lein new descjop YOUR_APP_NAME\n$ cd YOUR_APP_NAME\n```\n\n### [Om](https://github.com/omcljs/om) based project\n\n```\n$ lein new descjop YOUR_APP_NAME +om\n$ cd YOUR_APP_NAME\n```\n\n### [reagent](https://github.com/reagent-project/reagent) based project\n\n```\n$ lein new descjop YOUR_APP_NAME +reagent\n$ cd YOUR_APP_NAME\n```\n\n## Project Directory\n\nsee your app dir. looks like\n\n```\n.\n+-- Gruntfile.js\n+-- README.md\n+-- app\n|   +-- dev // deveropment mode dir\n|   |   +-- index.html // entry html file\n|   |   +-- js\n|   |   |   +-- externs_front.js\n|   |   |   +-- externs.js\n|   |   |   +-- main.js\n|   |   +-- package.json // for Desktop app\n|   +-- prod // production mode dir\n|       +-- index.html // entry html file\n|       +-- js\n|       |   +-- externs_front.js\n|       |   +-- externs.js\n|       |   +-- main.js\n|       +-- package.json // for Desktop app\n+-- package.json // for Compile\n+-- project.clj // compile settings desktop app\n+-- resources\n+-- src\n|   +-- NAMESPACE\n|       +-- core.cljs // ClojureScript for Electron in here\n+-- src_front\n|   +--NAMESPACE_front\n|      +-- core.cljs // Frontend clojureScript in here\n+-- src_front_profile\n    +--NAMESPACE_front\n       +-- dev\n       |   +-- conf.cljs\n       |   +-- init.cljs\n       +-- prod\n           +-- conf.cljs\n           +-- init.cljs\n```\n\n## Usage\n\n### step 1\n\nrun `descjop-init` (windows user should use `descjop-init-win`) alias below.\n\n#### OSX/Linux user\n\n```\n$ lein descjop-init\n ...\n \nRunning \"download-electron\" task\n \nDone, without errors.\n```\n\n#### Windows user\n\n```\n$ lein descjop-init-win\n ...\n \nRunning \"download-electron\" task\n \nDone, without errors.\n```\n\n### step 2\n\nyou have to change `src/PROJECT_NAME/core.cljs` about `:companyName` and `submitURL`.\n\n```\n(defn -main []\n  (.start crash-reporter (clj-\u003ejs {:companyName \"Your Company Name\"\n                                   :submitURL   \"http://example.com/\"}))\n  ...\n```\n\n### step 3\n\nand run extern alias `descjop-externs`,\n\n```\n$ lein descjop-externs\n```\n\nrun cljsbuild `lein descjop-once`.\n\n```\n$ lein descjop-once\n\nCompiling ClojureScript.\nCompiling \"app/js/cljsbuild-main.js\" from [\"src\"]...\nSuccessfully compiled \"app/js/cljsbuild-main.js\" in 10.812 seconds.\n...\nSuccessfully compiled \"app/dev/js/front.js\" in 10.588 seconds.\n...\nSuccessfully compiled \"app/prod/js/cljsbuild-main.js\" in 19.333 seconds.\n...\nSuccessfully compiled \"app/prod/js/front.js\" in 29.94 seconds.\n```\n\n### step 4\n\nYou can run Desktop application.\n\n#### development mode\n\ndevelopment mode use figwheel. run alias `descjop-figwheel`.  before run application.\nOpen other terminal window.\n\n```\n$ lein descjop-figwheel\n```\n\nand you can run Electron(Atom-Shell) app.\n\nOn Windows:\n\n```\n$ .\\electron\\electron.exe app/dev\n```\n\nOn Linux:\n\n```\n$ ./electron/electron app/dev\n```\n\nOn OS X:\n\n```\n$ ./electron/Electron.app/Contents/MacOS/Electron app/dev\n```\n\n#### production mode\n\nyou can run Electron(Atom-Shell) app.\n\nOn Windows:\n\n```\n$ .\\electron\\electron.exe app/prod\n```\n\nOn Linux:\n\n```\n$ ./electron/electron app/prod\n```\n\nOn OS X:\n\n```\n$ ./electron/Electron.app/Contents/MacOS/Electron app/prod\n```\n\n## Package App\n\n### (If not already installed Electron-packager.)\n\n```\n$ npm install -g electron-packager\n```\n\n### run command\n\n#### for OSX\n\n```\n$ lein descjop-uberapp-osx\n```\n\n#### for OSX app store\n\n```\n$ descjop-uberapp-app-store\n```\n\n#### for windows 32bit app\n\n```\n$ descjop-uberapp-win32\n```\n\n#### for windows 64bit app\n\n```\n$ descjop-uberapp-win64\n```\n\n#### for linux\n\n```\n$ descjop-uberapp-linux\n```\n\n## How to Upgrade to new Electron version\n\nYou can change Electron version in Gruntfile.js.\n\n```\nmodule.exports = function(grunt) {\n\n    grunt.initConfig({\n        pkg: grunt.file.readJSON('package.json'),\n        \"download-electron\": {\n            version: \"1.3.2\", // change Electron version 1.3.2 -\u003e 1.3.3\n            outputDir: \"./electron\", \n            rebuild: true\n        }\n    });\n\n    grunt.loadNpmTasks('grunt-download-electron');\n\n};\n```\n\nand re-run\n\nfor linux / mac\n\n```\n$ lein descjop-init\n```\n\nfor windows\n\n```\n$ lein descjop-init-win\n```\n\n\n## Aliases\n\nyou can use aliases in project directory.\n\n```\n$ lein descjop-version       # descjop version\n$ lein descjop-help          # descjop help\n$ lein descjop-init          # init project\n$ lein descjop-init-win      # init project for windows user\n$ lein descjop-externs       # output externs for develop and production\n$ lein descjop-externs-dev   # output externs for develop\n$ lein descjop-externs-prod  # output externs for production\n$ lein descjop-figwheel      # start figwheel\n$ lein descjop-once          # build JavaScript for develop and production\n$ lein descjop-once-dev      # build JavaScript for develop\n$ lein descjop-once-prod     # build JavaScript for production\n```\n\n![Desktop Application pic](man/images/app.png)\n\n## Milestones\n\n- descjop cli command\n- add CSS\n- test suite\n\n## Change log\n\n### 0.7.2 (2017-05-10)\n\n- update electron -\u003e `1.6.6`\n- fix package build alias\n\n### 0.7.1 (2017-02-21)\n\n- update Readme.txt for Upgrading Electron version.\n\n### 0.7.0 (2017-02-14)\n\n- update electron -\u003e `1.6.0`\n- update clojurescript 1.7.228 -\u003e 1.9.473\n- some :dependencies update\n- add electron packager command\n    - descjop-uberapp-osx\n    - descjop-uberapp-app-store\n    - descjop-uberapp-linux\n    - descjop-uberapp-win64\n    - descjop-uberapp-win32\n\n### 0.6.6 (2016-08-11)\n\n- update electron -\u003e `1.3.3`\n\n### 0.6.5 (2016-07-17)\n\n- add descjop command version alias `lein descjop-version`\n- update electron -\u003e `1.2.7`\n\n### 0.6.4 (2016-07-07)\n\n- update electron -\u003e `1.2.5`\n\n### 0.6.3 (2016-04-11)\n\n- fixed namespace problem.\n\n### 0.6.2 (2016-04-10)\n\nChanges:\n\n- update clojurescript 1.7.122 -\u003e 1.7.228\n- update electron -\u003e `0.37.5`\n- add descjop command help alias `lein descjop-help`\n- add descjop command init alias `lein descjop-init`\n- add descjop command externs alias `lein descjop-externs` `lein descjop-externs-dev` `lein descjop-externs-prod`\n- add descjop command compile alias `lein descjop-once` `lein descjop-once-dev` `lein descjop-once-prod`\n- add descjop command figwheel alias `lein descjop-figwheel`\n- support development and production mode.\n- re-design directories.\n- some bug fix\n\n### 0.5.4 (2015-12-29)\n\nChanges:\n\n- update document\n- update electron -\u003e `0.36.1`\n- update lein-cljsbuild -\u003e `1.1.2`\n- update lein-externs -\u003e `0.1.5`\n\n### 0.5.3 (2015-12-19)\n\nChanges:\n\n- update electron -\u003e `0.36.1`\n- change deprecated method `.loadUrl()` to `.loadURL()`\n- add `downloadDir` Gruntfile settings. if you want to download electron on current project directory. \n- delete `atom-shell` in `app__index.html`\n- change `.gitignore` exclude `electron/*`\n- change `crash-reporter.start()` in `resources/leiningen/new/descjop/src__core.cljs` that require `companyName` and `submitURL`\n\n### 0.5.2 (2015-11-19)\n\nChanges:\n\n- update electron -\u003e 0.35.0\n\n### 0.5.1 (2015-10-22)\n\nChanges:\n\n- update electron -\u003e 0.34.0\n- update clojurescript -\u003e 1.7.145\n\n### 0.5.0 (2015-10-09)\n\nChanges:\n\n- [om](https://github.com/omcljs/om) also support figwheel. great job [@dvcrn](https://github.com/dvcrn)!\n- update electron -\u003e 0.33.6\n\n### 0.4.0 (2015-09-29)\n\nChanges:\n\n- [reagent](https://github.com/reagent-project/reagent) support (with figwheel). good job [@mopemope](https://github.com/mopemope)!\n- update electron -\u003e 0.33.3\n\n### 0.3.2 (2015-09-19)\n\nChanges:\n\n- add help command\n- update electron -\u003e 0.33.0\n\n### 0.3.1 (2015-09-10)\n\nChanges:\n\n- update electron -\u003e 0.32.2\n\n\n### 0.3.0 (2015-09-05)\n\nChanges:\n\n- add +om option. [Om](https://github.com/omcljs/om) based template support.\n\n### 0.2.1 (2015-09-03)\n\nChanges:\n\n- update clojurescript -\u003e 1.7.48\n- update electron -\u003e 0.31.2\n- update grunt-download-electron -\u003e 2.1.2\n\n### 0.2.0 (2015-08-03)\n\nChanges:\n\n- support :optimization :none\n- update clojure -\u003e 1.7.0\n- update clojurescript -\u003e 1.7.28\n- update electron -\u003e 0.30.2\n\n### 0.1.8 (2015-06-22)\n\nChanges:\n\n- update Electron version 0.28.1 to 0.28.2\n\n### 0.1.7 (2015-06-16)\n\nChanges:\n\n- update Electron version 0.27.3 to 0.28.1\n\n### 0.1.6 (2015-06-08)\n\nChanges:\n\n- update Electron version 0.26.1 to 0.27.3\n\n### 0.1.5 (2015-05-22)\n\nChanges:\n\n- update Electron version 0.26.0 to 0.26.1\n\n### 0.1.4 (2015-05-16)\n\nChanges:\n\n- update Electron version 0.25.3 to 0.26.0\n\n### 0.1.3 (2015-05-08)\n\nChanges:\n\n- update Electron version 0.24.0 to 0.25.3\n- update grunt-download-electron to 2.1.1\n\n### 0.1.2 (2015-04-22)\n\nBugfixes:\n\n- change calling how to index.html path (#2, @karad)\n\n### 0.1.1 (2015-04-20)\n\nBugfixes:\n\n- change grunt task from atom-shell to electron (#1, @karad)\n\n## License\n\nCopyright ©  Kazuhiro Hara (Greative LLC http://greative.jp/)\n{:mail kazuhiroh@gmail.com\n :twitter https://twitter.com/kara_d}\n\nDistributed under the MIT License http://opensource.org/licenses/MIT .\n\n## Thanks\n\n- [@kara_d](https://github.com/karad/)\n- [@mopemope](https://github.com/mopemope)\n- [@dvcrn](https://github.com/dvcrn)\n- [@toku345](https://github.com/toku345)\n- [@qinxij](https://github.com/qinxij)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarad%2Flein_template_descjop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarad%2Flein_template_descjop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarad%2Flein_template_descjop/lists"}