{"id":15010629,"url":"https://github.com/vbauer/lein-coffeescript","last_synced_at":"2025-04-09T18:34:45.184Z","repository":{"id":20483819,"uuid":"23761869","full_name":"vbauer/lein-coffeescript","owner":"vbauer","description":"A Leiningen plugin for running CoffeeScript compiler","archived":false,"fork":false,"pushed_at":"2018-11-14T06:14:58.000Z","size":58,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-23T20:37:14.560Z","etag":null,"topics":["clj","clojure","coffeescript","coffeescript-compiler","javascript","js","lein","leiningen"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vbauer.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":"2014-09-07T14:34:29.000Z","updated_at":"2018-11-14T06:15:00.000Z","dependencies_parsed_at":"2022-07-31T21:38:09.173Z","dependency_job_id":null,"html_url":"https://github.com/vbauer/lein-coffeescript","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbauer%2Flein-coffeescript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbauer%2Flein-coffeescript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbauer%2Flein-coffeescript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbauer%2Flein-coffeescript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vbauer","download_url":"https://codeload.github.com/vbauer/lein-coffeescript/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248088287,"owners_count":21045680,"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","clojure","coffeescript","coffeescript-compiler","javascript","js","lein","leiningen"],"created_at":"2024-09-24T19:35:08.785Z","updated_at":"2025-04-09T18:34:45.165Z","avatar_url":"https://github.com/vbauer.png","language":"Clojure","readme":"lein-coffeescript\n=================\n\n**[CoffeeScript](http://coffeescript.org) is a little language that compiles into JavaScript.** Underneath that awkward Java-esque patina, JavaScript has always had a gorgeous heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way.\n\nThe golden rule of CoffeeScript is: *\"It's just JavaScript\"*. The code compiles one-to-one into the equivalent JS, and there is no interpretation at runtime. You can use any existing JavaScript library seamlessly from CoffeeScript (and vice-versa). The compiled output is readable and pretty-printed, will work in every JavaScript runtime, and tends to run as fast or faster than the equivalent handwritten JavaScript.\n\n[lein-coffeescript](https://github.com/vbauer/lein-coffeescript) is a Leiningen plugin that allows to use CoffeeScript compiler.\n\n[![Build Status](https://travis-ci.org/vbauer/lein-coffeescript.svg?branch=master)](https://travis-ci.org/vbauer/lein-coffeescript)\n[![Clojars Project](https://img.shields.io/clojars/v/lein-coffeescript.svg)](https://clojars.org/lein-coffeescript)\n\n\nPre-requirements\n================\n\nInstall [NodeJS](http://nodejs.org/) and [NPM](https://github.com/npm/npm) (package manager for Node) to install CoffeeScript:\n\n* On Ubuntu: `sudo apt-get install nodejs`\n* On Mac OS X: `brew install node`\n\n\nInstallation\n============\n\nInstall [CoffeeScript](https://www.npmjs.org/package/coffee-script) to use lein-coffeescript plugin. It could be done in few ways:\n\n* Use NPM to install CoffeeScript globally: `npm install coffee-script -g`\n* You can also install CoffeeScript in the current directory: `npm install coffee-script`\n* Use [lein-npm](https://github.com/bodil/lein-npm) plugin: `lein npm install`\n* Use just Leiningen: `lein deps`\n\nSetup\n-----\n\nTo enable lein-coffeescript for your project, put the following in the :plugins vector of your project.clj file:\n\n```clojure\n; Use latest version instead of \"X.X.X\"\n:plugins [[lein-coffeescript \"X.X.X\"]]\n```\n\n\nConfiguration\n=============\n\nTo configure lein-coffeescript, put the :coffeescript parameter in the file project.clj. It could be a single configuration (simple map) or a collection of configurations (for multiple configuration).\n\n```clojure\n; single configuration\n:coffeescript {:sources \"src/*.cs\"}\n\n; multiple configurations\n:coffeescript [{:sources \"src/*.cs\"\n                :bare false\n                :map true}\n               {:sources [\"src/*.coffee\" \"resources/*.cs\"]\n                :bare true}]\n```\n\n\nConfiguration parameters\n------------------------\n\n\u003cdl\u003e\n\n  \u003cdt\u003e:sources\u003c/dt\u003e\n  \u003cdd\u003eList of input CoffeeScript sources. It is possible to use a single source or a vector of sources. To configure this parameter, you could also use a \u003ca href=\"http://en.wikipedia.org/wiki/Glob_(programming)\"\u003eGlob Patterns\u003c/a\u003e.\u003c/dd\u003e\n\n  \u003cdt\u003e:excludes\u003c/dt\u003e\n  \u003cdd\u003eList of glob patterns to prevent processing of some files. It is also possible to use both variants: single pattern and collection of patterns.\u003c/dd\u003e\n\n  \u003cdt\u003e:map\u003c/dt\u003e\n  \u003cdd\u003eGenerate source maps alongside the compiled JavaScript files. Adds \u003ccode\u003esourceMappingURL\u003c/code\u003e directives to the JavaScript as well. Default value: false.\u003c/dd\u003e\n\n  \u003cdt\u003e:bare\u003c/dt\u003e\n  \u003cdd\u003eCompile the JavaScript without the top-level function safety wrapper. Default value: false\u003c/dd\u003e\n\n  \u003cdt\u003e:join\u003c/dt\u003e\n  \u003cdd\u003eBefore compiling, concatenate all scripts together in the order they were passed, and write them into the specified file. Useful for building large projects. It is not defined by default. Example: `:join \"bundle.coffee\"`.\u003c/dd\u003e\n\n  \u003cdt\u003e:output\u003c/dt\u003e\n  \u003cdd\u003eWrite out all compiled JavaScript files into the specified directory. It is not defined by default. Source directory will be used of generated JS files.\u003c/dd\u003e\n\n  \u003cdt\u003e:watch\u003c/dt\u003e\n  \u003cdd\u003eWatch files for changes, rerunning the specified command when any file is updated. Default value: false\u003c/dd\u003e\n\n\u003c/dl\u003e\n\n\nHooks\n-----\n\nTo enable this plugin in the compile stage, use the following hook:\n```clojure\n:hooks [lein-coffeescript.plugin]\n```\n\n\nExamples\n========\n\nDetailed example\n----------------\n\n```clojure\n:coffeescript {:sources \"resources/*.coffee\"\n               :excludes [\"resources/tests.coffee\" \"resources/bad.coffee\"]\n               :map true\n               :join \"app.js\"\n               :output \"target/js\"\n               :bare false\n               :debug true}\n```\n\n\nExample project\n---------------\n\nJust clone the current repository and try to play with [example project](https://github.com/vbauer/lein-coffeescript/tree/master/example) for better understanding how to use lein-coffeescript.\n\n\nUsage\n=====\n\nTo compile CoffeeScript files using configuration from project.clj, you should use: `lein coffeescript`\n\nTo show help: `lein help coffeescript`\n\n\nUnit testing\n============\n\nTo run unit tests:\n\n```bash\nlein test\n```\n\n\nThanks to\n=========\n\nCoffeeScript author [Jeremy Ashkenas](https://github.com/jashkenas) and other developers who worked on this great project.\n\n\nMight also like\n===============\n\n* [lein-typescript](https://github.com/vbauer/lein-typescript) - a Leiningen plugin for running TypeScript compiler.\n* [lein-jslint](https://github.com/vbauer/lein-jslint) - a Leiningen plugin for running javascript code through JSLint.\n* [lein-jshint](https://github.com/vbauer/lein-jshint) - a Leiningen plugin for running javascript code through JSHint.\n* [lein-plantuml](https://github.com/vbauer/lein-plantuml) - a Leiningen plugin for generating UML diagrams using PlantUML.\n* [lein-asciidoctor](https://github.com/asciidoctor/asciidoctor-lein-plugin) - A Leiningen plugin for generating documentation using Asciidoctor.\n* [jabberjay](https://github.com/vbauer/jabberjay) - a simple framework for creating Jabber bots.\n* [coderwall-clj](https://github.com/vbauer/coderwall-clj) - a tiny CoderWall client for Clojure.\n\n\nLicense\n=======\n\nCopyright © 2014 Vladislav Bauer\n\nDistributed under the Eclipse Public License, the same as Clojure.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvbauer%2Flein-coffeescript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvbauer%2Flein-coffeescript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvbauer%2Flein-coffeescript/lists"}