{"id":20355354,"url":"https://github.com/artelydev/vue-cli-plugin-coffee","last_synced_at":"2025-07-09T22:39:25.143Z","repository":{"id":37036145,"uuid":"150909844","full_name":"artelydev/vue-cli-plugin-coffee","owner":"artelydev","description":":coffee: This extends your vue-cli project with a CoffeeScript2 support","archived":false,"fork":false,"pushed_at":"2024-09-16T17:24:40.000Z","size":182,"stargazers_count":10,"open_issues_count":13,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-09-16T21:29:47.206Z","etag":null,"topics":["coffeescript","coffeescript2","vue","vue-cli","vue-cli-plugin","webpack"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/vue-cli-plugin-coffee","language":"JavaScript","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/artelydev.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-29T23:04:52.000Z","updated_at":"2024-08-18T16:45:55.000Z","dependencies_parsed_at":"2023-02-08T10:16:21.625Z","dependency_job_id":"c8220415-5d66-4f22-a95a-997fe4122891","html_url":"https://github.com/artelydev/vue-cli-plugin-coffee","commit_stats":{"total_commits":55,"total_committers":8,"mean_commits":6.875,"dds":0.6,"last_synced_commit":"5e1b2c6123bdbad8bfbf998169df28f1632a3985"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artelydev%2Fvue-cli-plugin-coffee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artelydev%2Fvue-cli-plugin-coffee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artelydev%2Fvue-cli-plugin-coffee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artelydev%2Fvue-cli-plugin-coffee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artelydev","download_url":"https://codeload.github.com/artelydev/vue-cli-plugin-coffee/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248508015,"owners_count":21115736,"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":["coffeescript","coffeescript2","vue","vue-cli","vue-cli-plugin","webpack"],"created_at":"2024-11-14T23:12:19.962Z","updated_at":"2025-04-12T02:44:04.630Z","avatar_url":"https://github.com/artelydev.png","language":"JavaScript","readme":"# vue-cli-plugin-coffee\n\nCoffeeScript2 support for the projects created with [@vue/cli](https://github.com/vuejs/vue-cli).\n\nWith built-in:\n* `cache-loader`\n* `thread-loader`\n* `babel-loader`\n\n## Installation\n\nAccording to [this](https://cli.vuejs.org/guide/plugins-and-presets.html#installing-plugins-in-an-existing-project) you are able to install community plugins as follows:\n\n```shell\nvue add coffee\n```\n\n__ESLINT Note__: Please visit \"EsLint Integration\" Section below on how to make this plugin work with eslint (else, it will return errors on coffeescript code).\nIf you don't need eslint, you can just uninstall it.\n```shell\n# ONLY if you don't need eslint\nnpm remove @vue/cli-plugin-eslint\n```\n\n## Common usage\n\nUsually you write SFC like this\n\n```vue\n\u003ctemplate\u003e\n  \u003cbutton @click=\"onclick\"\u003e\n    \u003cslot\u003e\u003c/slot\u003e\n  \u003c/button\u003e\n\u003c/template\u003e\n\n\u003cscript lang=\"coffee\"\u003e\n  export default\n    name: \"Button\"\n    props:\n      onclick:\n        type: Function\n        required: false\n\u003c/script\u003e\n```\n\n## Entries\n\nAccording to [this](https://cli.vuejs.org/config/#configurewebpack) you can add entries using your `vue.config.js` like so:\n\n```javascript\n// vue.config.js\nmodule.exports = {\n  configureWebpack: {\n    entry: {\n      'new-entry': 'path/to/new/entry.coffee'\n    }\n  }\n}\n\n```\n\n## Eslint Integration\nIf you're using ESLint, note that vue-loader uses `lang=\"coffee\"` to identify components which are using Coffeescript, but `lang=\"coffee\"` is not recognizable for ESLint. \n\nThere are 2 ways on how you can make this plugin work with eslint:\n\n1. __Coffeescript ESLint Support__  \nhttps://github.com/helixbass/eslint-plugin-coffee\n\n2. __Ignore Coffeescript Syntax__  \nESLint (following traditional HTML) uses `type=\"xxx\"` to identify the type of scripts. As long as a `\u003cscript\u003e` tag has any type other than javascript, ESLint would mark the script as non-javascript, and skips linting it. Coffeescript’s convention is to use `type=\"text/coffeescript\"` to identify itself. Therefore, in your Vue components which are using Coffeescript, using both `lang` and `type` to avoid ESLint warnings.\nExample:\n```vue\n\u003cscript lang=\"coffee\" type=\"text/coffeescript\"\u003e\n  console.log \"This code is ignored by eslint, but executed by the coffeescript compiler\"\n\u003c/script\u003e\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartelydev%2Fvue-cli-plugin-coffee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartelydev%2Fvue-cli-plugin-coffee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartelydev%2Fvue-cli-plugin-coffee/lists"}