Add Integrations section to docs (#5334)

Co-authored-by: Geoffrey Booth <webadmin@geoffreybooth.com>
This commit is contained in:
Daniel Bayley
2021-11-29 19:04:47 +00:00
committed by GitHub
parent 887a6174e9
commit 726c0858e4
13 changed files with 163 additions and 6 deletions

View File

@@ -561,6 +561,7 @@ textarea {
<div class="navbar-nav mr-auto d-none d-lg-flex">
<a href="#try" id="try-link" class="nav-item nav-link" data-toggle="try">Try CoffeeScript</a>
<a href="#language" class="nav-item nav-link" data-close="try">Language Reference</a>
<a href="#integrations" class="nav-item nav-link" data-close="try">Integrations</a>
<a href="#resources" class="nav-item nav-link" data-close="try">Resources</a>
<a href="https://github.com/jashkenas/coffeescript/" class="nav-item nav-link" data-close="try">GitHub
</a>
@@ -644,7 +645,14 @@ textarea {
<a href="#source-maps" class="nav-link" data-action="sidebar-nav">Source Maps</a>
<a href="#cake" class="nav-link" data-action="sidebar-nav">Cake, and Cakefiles</a>
<a href="#scripts" class="nav-link" data-action="sidebar-nav"><code>"text/coffeescript"</code> Script Tags</a>
<a href="test.html" class="nav-link" data-action="sidebar-nav">Browser-Based Tests</a>
<a href="#integrations" class="nav-link" data-action="sidebar-nav">Integrations</a>
<nav class="nav flex-column">
<a href="#build-tools" class="nav-link" data-action="sidebar-nav">Build Tools</a>
<a href="#code-editors" class="nav-link" data-action="sidebar-nav">Code Editors</a>
<a href="#frameworks" class="nav-link" data-action="sidebar-nav">Frameworks</a>
<a href="#linters-and-formatting" class="nav-link" data-action="sidebar-nav">Linters and Formatting</a>
<a href="#testing" class="nav-link" data-action="sidebar-nav">Testing</a>
</nav>
<a href="#resources" class="nav-link" data-action="sidebar-nav">Resources</a>
<nav class="nav flex-column">
<a href="#books" class="nav-link" data-action="sidebar-nav">Books</a>
@@ -674,6 +682,7 @@ textarea {
<a href="#breaking-changes-argument-parsing-and-shebang-lines" class="nav-link" data-action="sidebar-nav">Argument Parsing and <code>#!</code> Lines</a>
</nav>
<a href="#changelog" class="nav-link" data-action="sidebar-nav">Changelog</a>
<a href="test.html" class="nav-link" data-action="sidebar-nav">Browser-Based Tests</a>
<a href="/v1/" class="nav-link" data-action="sidebar-nav">Version 1.x Documentation</a>
</nav>
</nav>
@@ -904,6 +913,7 @@ cubes = (function() {
<li><a href="#modules">Modules</a> are supported by Node 12+ with <code>&quot;type&quot;: &quot;module&quot;</code> in your projects <code>package.json</code>.</li>
</ul>
<p>This list may be incomplete, and excludes versions of Node that support newer features behind flags; please refer to <a href="http://node.green/">node.green</a> for full details. You can <a href="test.html">run the tests in your browser</a> to see what your browser supports. It is your responsibility to ensure that your runtime supports the modern features you use; or that you <a href="#transpilation">transpile</a> your code. When in doubt, transpile.</p>
<p>For compatibility with other JavaScript frameworks and tools, see <a href="#integrations">Integrations</a>.</p>
</section>
</section>
@@ -1053,7 +1063,7 @@ App = <span class="built_in">require</span> <span class="string">&#x27;./app&#x2
</section>
<section id="transpilation">
<h3>Transpilation</h3>
<p>CoffeeScript 2 generates JavaScript that uses the latest, modern syntax. The runtime or browsers where you want your code to run <a href="#compatibility">might not support all of that syntax</a>. In that case, we want to convert modern JavaScript into older JavaScript that will run in older versions of Node or older browsers; for example, <code>{ a } = obj</code> into <code>a = obj.a</code>. This is done via transpilers like <a href="http://babeljs.io/">Babel</a>, <a href="https://buble.surge.sh/">Bublé</a> or <a href="https://github.com/google/traceur-compiler">Traceur Compiler</a>.</p>
<p>CoffeeScript 2 generates JavaScript that uses the latest, modern syntax. The runtime or browsers where you want your code to run <a href="#compatibility">might not support all of that syntax</a>. In that case, we want to convert modern JavaScript into older JavaScript that will run in older versions of Node or older browsers; for example, <code>{ a } = obj</code> into <code>a = obj.a</code>. This is done via transpilers like <a href="http://babeljs.io/">Babel</a>, <a href="https://buble.surge.sh/">Bublé</a> or <a href="https://github.com/google/traceur-compiler">Traceur Compiler</a>. See <a href="#build-tools">Build Tools</a>.</p>
<h4>Quickstart</h4>
<p>From the root of your project:</p>
<blockquote class="uneditable-code-block"><pre><code class="language-bash">npm install --save-dev @babel/core @babel/preset-env
@@ -4859,6 +4869,85 @@ task('build:parser', 'rebuild the Jison parser', function(options) {
<p>The usual caveats about CoffeeScript apply — your inline scripts will run within a closure wrapper, so if you want to expose global variables or functions, attach them to the <code>window</code> object.</p>
</section>
<section id="integrations">
<h2>Integrations</h2>
<p>CoffeeScript is part of the vast JavaScript ecosystem, and many libraries help integrate CoffeeScript with JavaScript. Major projects, especially projects updated to work with CoffeeScript 2, are listed here; more can be found in the <a href="https://github.com/jashkenas/coffeescript/wiki">wiki pages</a>. If theres a project that you feel should be added to this section, please open an issue or <a href="https://github.com/jashkenas/coffeescript/wiki/%5BHowTo%5D-Update-the-docs">pull request</a>. Projects are listed in alphabetical order by category.</p>
<section id="build-tools">
<h3>Build Tools</h3>
<ul>
<li>
<p><a href="http://browserify.org">Browserify</a> with <a href="https://github.com/jnordberg/coffeeify">coffeeify</a></p>
</li>
<li>
<p><a href="https://gruntjs.com">Grunt</a> with <a href="https://github.com/gruntjs/grunt-contrib-coffee">grunt-contrib-coffee</a></p>
</li>
<li>
<p><a href="https://gulpjs.com">Gulp</a> with <a href="https://github.com/gulp-community/gulp-coffee">gulp-coffee</a></p>
</li>
<li>
<p><a href="https://parceljs.org">Parcel</a> with <a href="https://github.com/parcel-bundler/parcel/tree/v2/packages/transformers/coffeescript">transformer-coffeescript</a></p>
</li>
<li>
<p><a href="https://rollupjs.org">Rollup</a> with <a href="https://github.com/lautis/rollup-plugin-coffee-script">rollup-plugin-coffee-script</a></p>
</li>
<li>
<p><a href="https://webpack.js.org">Webpack</a> with <a href="https://github.com/webpack-contrib/coffee-loader">coffee-loader</a></p>
</li>
</ul>
</section>
<section id="code-editors">
<h3>Code Editors</h3>
<ul>
<li>
<p><a href="https://atom.io">Atom</a> <a href="https://atom.io/packages/search?q=coffeescript">packages</a></p>
</li>
<li>
<p><a href="https://sublimetext.com">Sublime Text</a> <a href="https://packagecontrol.io/search/coffeescript">packages</a></p>
</li>
<li>
<p><a href="https://code.visualstudio.com">Visual Studio Code</a> <a href="https://marketplace.visualstudio.com/search?target=VSCode&amp;term=coffeescript">extensions</a></p>
</li>
</ul>
</section>
<section id="frameworks">
<h3>Frameworks</h3>
<ul>
<li>
<p><a href="https://emberjs.com">Ember</a>
with <a href="https://github.com/kimroen/ember-cli-coffeescript">ember-cli-coffeescript</a></p>
</li>
<li>
<p><a href="https://meteor.com">Meteor</a> with <a href="https://atmospherejs.com/meteor/coffeescript-compiler">coffeescript-compiler</a></p>
</li>
</ul>
</section>
<section id="linters-and-formatting">
<h3>Linters and Formatting</h3>
<ul>
<li>
<p><a href="https://coffeelint.github.io/">CoffeeLint</a></p>
</li>
<li>
<p><a href="https://eslint.org">ESLint</a> with <a href="https://github.com/helixbass/eslint-plugin-coffee">eslint-plugin-coffee</a></p>
</li>
<li>
<p><a href="https://prettier.io">Prettier</a> with <a href="https://github.com/helixbass/prettier-plugin-coffeescript">prettier-plugin-coffeescript</a></p>
</li>
</ul>
</section>
<section id="testing">
<h3>Testing</h3>
<ul>
<li><a href="https://jestjs.io">Jest</a> with <a href="https://github.com/danielbayley/jest-preset-coffeescript">jest-preset-coffeescript</a></li>
</ul>
</section>
</section>
<section id="resources">
<h2>Resources</h2>
<ul>
@@ -4868,7 +4957,7 @@ Bug reports, feature proposals, and ideas for changes to the language belong her
<li><a href="https://groups.google.com/forum/#!forum/coffeescript">CoffeeScript Google Group</a><br>
If youd like to ask a question, the mailing list is a good place to get help.</li>
<li><a href="https://github.com/jashkenas/coffeescript/wiki">The CoffeeScript Wiki</a><br>
If youve ever learned a neat CoffeeScript tip or trick, or ran into a gotcha — share it on the wiki. The wiki also serves as a directory of handy <a href="https://github.com/jashkenas/coffeescript/wiki/Text-editor-plugins">text editor extensions</a>, <a href="https://github.com/jashkenas/coffeescript/wiki/Web-framework-plugins">web framework plugins</a>, and general <a href="https://github.com/jashkenas/coffeescript/wiki/Build-tools">CoffeeScript build tools</a>.</li>
If youve ever learned a neat CoffeeScript tip or trick, or ran into a gotcha — share it on the wiki.</li>
<li><a href="https://github.com/jashkenas/coffeescript/wiki/FAQ">The FAQ</a><br>
Perhaps your CoffeeScript-related question has been asked before. Check the FAQ first.</li>
<li><a href="http://js2.coffee/">JS2Coffee</a><br>

View File

@@ -9,3 +9,5 @@ Most modern JavaScript features that CoffeeScript supports can run natively in N
* [Modules](#modules) are supported by Node 12+ with `"type": "module"` in your projects `package.json`.
This list may be incomplete, and excludes versions of Node that support newer features behind flags; please refer to [node.green](http://node.green/) for full details. You can [run the tests in your browser](test.html) to see what your browser supports. It is your responsibility to ensure that your runtime supports the modern features you use; or that you [transpile](#transpilation) your code. When in doubt, transpile.
For compatibility with other JavaScript frameworks and tools, see [Integrations](#integrations).

View File

@@ -0,0 +1,3 @@
## Integrations
CoffeeScript is part of the vast JavaScript ecosystem, and many libraries help integrate CoffeeScript with JavaScript. Major projects, especially projects updated to work with CoffeeScript 2, are listed here; more can be found in the [wiki pages](https://github.com/jashkenas/coffeescript/wiki). If theres a project that you feel should be added to this section, please open an issue or [pull request](https://github.com/jashkenas/coffeescript/wiki/%5BHowTo%5D-Update-the-docs). Projects are listed in alphabetical order by category.

View File

@@ -0,0 +1,13 @@
### Build Tools
* [Browserify](http://browserify.org) with [coffeeify](https://github.com/jnordberg/coffeeify)
* [Grunt](https://gruntjs.com) with [grunt-contrib-coffee](https://github.com/gruntjs/grunt-contrib-coffee)
* [Gulp](https://gulpjs.com) with [gulp-coffee](https://github.com/gulp-community/gulp-coffee)
* [Parcel](https://parceljs.org) with [transformer-coffeescript](https://github.com/parcel-bundler/parcel/tree/v2/packages/transformers/coffeescript)
* [Rollup](https://rollupjs.org) with [rollup-plugin-coffee-script](https://github.com/lautis/rollup-plugin-coffee-script)
* [Webpack](https://webpack.js.org) with [coffee-loader](https://github.com/webpack-contrib/coffee-loader)

View File

@@ -0,0 +1,7 @@
### Code Editors
* [Atom](https://atom.io) [packages](https://atom.io/packages/search?q=coffeescript)
* [Sublime Text](https://sublimetext.com) [packages](https://packagecontrol.io/search/coffeescript)
* [Visual Studio Code](https://code.visualstudio.com) [extensions](https://marketplace.visualstudio.com/search?target=VSCode&term=coffeescript)

View File

@@ -0,0 +1,6 @@
### Frameworks
* [Ember](https://emberjs.com)
with [ember-cli-coffeescript](https://github.com/kimroen/ember-cli-coffeescript)
* [Meteor](https://meteor.com) with [coffeescript-compiler](https://atmospherejs.com/meteor/coffeescript-compiler)

View File

@@ -0,0 +1,7 @@
### Linters and Formatting
* [CoffeeLint](https://coffeelint.github.io/)
* [ESLint](https://eslint.org) with [eslint-plugin-coffee](https://github.com/helixbass/eslint-plugin-coffee)
* [Prettier](https://prettier.io) with [prettier-plugin-coffeescript](https://github.com/helixbass/prettier-plugin-coffeescript)

View File

@@ -0,0 +1,3 @@
### Testing
* [Jest](https://jestjs.io) with [jest-preset-coffeescript](https://github.com/danielbayley/jest-preset-coffeescript)

View File

@@ -6,7 +6,7 @@
* [CoffeeScript Google Group](https://groups.google.com/forum/#!forum/coffeescript)<br>
If youd like to ask a question, the mailing list is a good place to get help.
* [The CoffeeScript Wiki](https://github.com/jashkenas/coffeescript/wiki)<br>
If youve ever learned a neat CoffeeScript tip or trick, or ran into a gotcha — share it on the wiki. The wiki also serves as a directory of handy [text editor extensions](https://github.com/jashkenas/coffeescript/wiki/Text-editor-plugins), [web framework plugins](https://github.com/jashkenas/coffeescript/wiki/Web-framework-plugins), and general [CoffeeScript build tools](https://github.com/jashkenas/coffeescript/wiki/Build-tools).
If youve ever learned a neat CoffeeScript tip or trick, or ran into a gotcha — share it on the wiki.
* [The FAQ](https://github.com/jashkenas/coffeescript/wiki/FAQ)<br>
Perhaps your CoffeeScript-related question has been asked before. Check the FAQ first.
* [JS2Coffee](http://js2.coffee/)<br>

View File

@@ -1,6 +1,6 @@
### Transpilation
CoffeeScript 2 generates JavaScript that uses the latest, modern syntax. The runtime or browsers where you want your code to run [might not support all of that syntax](#compatibility). In that case, we want to convert modern JavaScript into older JavaScript that will run in older versions of Node or older browsers; for example, `{ a } = obj` into `a = obj.a`. This is done via transpilers like [Babel](http://babeljs.io/), [Bublé](https://buble.surge.sh/) or [Traceur Compiler](https://github.com/google/traceur-compiler).
CoffeeScript 2 generates JavaScript that uses the latest, modern syntax. The runtime or browsers where you want your code to run [might not support all of that syntax](#compatibility). In that case, we want to convert modern JavaScript into older JavaScript that will run in older versions of Node or older browsers; for example, `{ a } = obj` into `a = obj.a`. This is done via transpilers like [Babel](http://babeljs.io/), [Bublé](https://buble.surge.sh/) or [Traceur Compiler](https://github.com/google/traceur-compiler). See [Build Tools](#build-tools).
#### Quickstart

View File

@@ -142,6 +142,24 @@
<section id="scripts">
<%= htmlFor('scripts') %>
</section>
<section id="integrations">
<%= htmlFor('integrations') %>
<section id="build-tools">
<%= htmlFor('integrations_build_tools') %>
</section>
<section id="code-editors">
<%= htmlFor('integrations_code_editors') %>
</section>
<section id="frameworks">
<%= htmlFor('integrations_frameworks') %>
</section>
<section id="linters-and-formatting">
<%= htmlFor('integrations_linters_and_formatting') %>
</section>
<section id="testing">
<%= htmlFor('integrations_testing') %>
</section>
</section>
<section id="resources">
<%= htmlFor('resources') %>
<section id="books">

View File

@@ -8,6 +8,7 @@
<div class="navbar-nav mr-auto d-none d-lg-flex">
<a href="#try" id="try-link" class="nav-item nav-link" data-toggle="try">Try CoffeeScript</a>
<a href="#language" class="nav-item nav-link" data-close="try">Language Reference</a>
<a href="#integrations" class="nav-item nav-link" data-close="try">Integrations</a>
<a href="#resources" class="nav-item nav-link" data-close="try">Resources</a>
<a href="https://github.com/jashkenas/coffeescript/" class="nav-item nav-link" data-close="try">GitHub
</a>

View File

@@ -50,7 +50,14 @@
<a href="#source-maps" class="nav-link" data-action="sidebar-nav">Source Maps</a>
<a href="#cake" class="nav-link" data-action="sidebar-nav">Cake, and Cakefiles</a>
<a href="#scripts" class="nav-link" data-action="sidebar-nav"><code>"text/coffeescript"</code> Script Tags</a>
<a href="test.html" class="nav-link" data-action="sidebar-nav">Browser-Based Tests</a>
<a href="#integrations" class="nav-link" data-action="sidebar-nav">Integrations</a>
<nav class="nav flex-column">
<a href="#build-tools" class="nav-link" data-action="sidebar-nav">Build Tools</a>
<a href="#code-editors" class="nav-link" data-action="sidebar-nav">Code Editors</a>
<a href="#frameworks" class="nav-link" data-action="sidebar-nav">Frameworks</a>
<a href="#linters-and-formatting" class="nav-link" data-action="sidebar-nav">Linters and Formatting</a>
<a href="#testing" class="nav-link" data-action="sidebar-nav">Testing</a>
</nav>
<a href="#resources" class="nav-link" data-action="sidebar-nav">Resources</a>
<nav class="nav flex-column">
<a href="#books" class="nav-link" data-action="sidebar-nav">Books</a>
@@ -80,6 +87,7 @@
<a href="#breaking-changes-argument-parsing-and-shebang-lines" class="nav-link" data-action="sidebar-nav">Argument Parsing and <code>#!</code> Lines</a>
</nav>
<a href="#changelog" class="nav-link" data-action="sidebar-nav">Changelog</a>
<a href="test.html" class="nav-link" data-action="sidebar-nav">Browser-Based Tests</a>
<a href="/v1/" class="nav-link" data-action="sidebar-nav">Version 1.x Documentation</a>
</nav>
</nav>