Giter VIP home page Giter VIP logo

atom-coffee-compile's Introduction

coffee-compile package CI

Preview, compile and/or save CoffeeScript 1 or 2 in editor to Javascript

  • Mac: cmd+shift+c
  • Linux/Windows: ctrl-alt-c

Options

  • Compile on save (default: false)
  • Compile on save without preview (default: false)
  • Split pane direction (default: 'Right')
  • Destination filepath (default: '.')
  • Flatten (default: false)
  • cwd - All sources are relative to this path (default: '.')
  • Source(s) - Source folders to compile, relative to cwd (default: '.')
  • Disable top level function wrapper (default: true)
  • Focus editor after compile (default: false)
  • Coffeescript version to compile with (default: 1.12.7)

Project based configuration

Add coffee-compile.cson to the project root

See wiki for more details

Changelog

See changelog for more information

atom-coffee-compile's People

Contributors

adrianlee44 avatar dependabot[bot] avatar duderman avatar greenkeeper[bot] avatar lewisamarshall avatar tmandke avatar wcjohnson avatar zaro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

atom-coffee-compile's Issues

TypeError

The following error occurs when compiling:

Uncaught (in promise) TypeError: Class constructor TextEditor cannot be invoked without 'new'
at new PreviewEditor (/Users/jw/.atom/packages/coffee-compile/lib/preview-editor.coffee:12:5)
at /Users/jw/.atom/packages/coffee-compile/lib/main.coffee:46:11
at Workspace.createItemForURI (/Applications/Atom.app/Contents/Resources/app/src/workspace.js:1324:28)
at Workspace. (/Applications/Atom.app/Contents/Resources/app/src/workspace.js:1130:42)
at Generator.next ()
at step (/Applications/Atom.app/Contents/Resources/app/src/workspace.js:11:279)
at /Applications/Atom.app/Contents/Resources/app/src/workspace.js:11:449
at Workspace. (/Applications/Atom.app/Contents/Resources/app/src/workspace.js:11:105)
at Workspace.openURIInPane (/Applications/Atom.app/Contents/Resources/app/src/workspace.js:1308:25)
at Object.open (/Users/jw/.atom/packages/coffee-compile/lib/main.coffee:95:20)
at Object.display (/Users/jw/.atom/packages/coffee-compile/lib/main.coffee:68:6)
at HTMLElement.atom.commands.add.coffee-compile:compile (/Users/jw/.atom/packages/coffee-compile/lib/main.coffee:20:71)
at CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/src/command-registry.js:388:36)
at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:621:22)
at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:412:28)
at WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app/src/window-event-handler.js:108:40)

Atom: v1.23.1
Coffee-Compiler: v0.28.1

ability to search in the compiled js

I don't know if this is a bug or a missing feature, but when I compile my coffee file the search in the JavaScript preview buffer is not working. Doesn't find anything.

Failed to activate the coffee-compile package

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.0.2
System: Mac OS X 10.10.4
Thrown From: coffee-compile package, v0.17.1

Stack Trace

Failed to activate the coffee-compile package

At Arguments to path.join must be strings

TypeError: Arguments to path.join must be strings
  at Object.posix.join (path.js:449:13)
  at /Users/giano/.atom/packages/coffee-compile/lib/fs-util.coffee:42:29
  at Array.some (native)
  at Object.module.exports.isPathInSrc (/Users/giano/.atom/packages/coffee-compile/lib/fs-util.coffee:41:12)
  at /Users/giano/.atom/packages/coffee-compile/lib/main.coffee:66:32
  at Workspace.module.exports.Workspace.observeTextEditors (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:276:9)
  at /Users/giano/.atom/packages/coffee-compile/lib/main.coffee:65:45
  at Config.module.exports.Config.observeKeyPath (/Applications/Atom.app/Contents/Resources/app.asar/src/config.js:555:7)
  at Config.module.exports.Config.observe (/Applications/Atom.app/Contents/Resources/app.asar/src/config.js:135:21)
  at Object.module.exports.activate (/Users/giano/.atom/packages/coffee-compile/lib/main.coffee:58:17)
  at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:240:19)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:221:30
  at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:165:15)
  at Package.module.exports.Package.activate (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:213:14)
  at PackageManager.module.exports.PackageManager.activatePackage (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:452:21)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:313:19
  at /Applications/Atom.app/Contents/Resources/app.asar/src/config.js:574:20
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at Config.module.exports.Config.emitChangeEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/config.js:736:29)
  at Config.module.exports.Config.setRawValue (/Applications/Atom.app/Contents/Resources/app.asar/src/config.js:551:19)
  at Config.module.exports.Config.set (/Applications/Atom.app/Contents/Resources/app.asar/src/config.js:233:14)
  at Config.module.exports.Config.removeAtKeyPath (/Applications/Atom.app/Contents/Resources/app.asar/src/config.js:343:12)
  at Package.module.exports.Package.enable (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:150:26)
  at PackageManager.module.exports.PackageManager.enablePackage (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:142:14)
  at HTMLButtonElement.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/settings-view/lib/package-card.js:314:27)
  at HTMLButtonElement.jQuery.event.dispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/jquery/dist/jquery.js:4435:9)
  at HTMLButtonElement.elemData.handle (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/jquery/dist/jquery.js:4121:28)

Commands

     -6:04.2.0 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-always.theme-monokai.theme-seti-ui)
     -5:53.8.0 core:copy (atom-notification.fatal.icon.icon-bug.native-key-bindings.has-detail.has-close.has-stack)
     -5:41.1.0 core:backspace (atom-text-editor.editor.is-focused)
  3x -5:37.7.0 core:save (atom-text-editor.editor.is-focused)
     -5:17.8.0 core:copy (atom-text-editor.editor.is-focused)
     -5:15.7.0 core:save (atom-text-editor.editor.is-focused)
     -5:08.4.0 core:copy (atom-text-editor.editor.is-focused)
  4x -5:07.4.0 core:paste (atom-text-editor.editor.is-focused)
     -5:03.4.0 core:save (atom-text-editor.editor.is-focused)
  2x -4:44.8.0 core:copy (atom-notification.fatal.icon.icon-bug.native-key-bindings.has-detail.has-close.has-stack)
     -2:11.5.0 core:save (atom-text-editor.editor.is-focused)
     -2:02.6.0 core:copy (atom-notification.fatal.icon.icon-bug.native-key-bindings.has-detail.has-close.has-stack)
     -2:02.0 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-always.theme-monokai.theme-seti-ui)

Config

{
  "core": {
    "themes": [
      "seti-ui",
      "monokai"
    ],
    "ignoredNames": [
      ".live-archive"
    ]
  },
  "coffee-compile": {
    "compileOnSave": true,
    "noTopLevelFunctionWrapper": false,
    "compileOnSaveWithoutPreview": true
  }
}

Installed Packages

# User
atom-beautify, v0.28.8
atom-runner, v2.4.1
autocomplete-modules, v1.0.0
coffee-compile, v0.17.1
color-picker, v2.0.11
color-tabs, v0.1.8
color-tabs-regex, v0.2.1
emmet, v2.3.12
flex-tool-bar, v0.4.4
grunt-runner, v0.11.0
language-jade, v0.5.1
language-swift, v0.4.0
linter, v1.2.4
linter-coffeelint, v1.0.0
linter-csslint, v0.0.14
linter-doiuse, v0.2.3
linter-jshint, v1.1.4
linter-jsonlint, v0.1.4
linter-less, v2.0.3
linter-swiftc, v2.0.0
linter-swiftlint, v0.1.0
linter-tidy, v1.0.1
live-archive, v0.1.15
minimap, v4.12.1
minimap-find-and-replace, v4.2.0
minimap-git-diff, v4.1.7
minimap-selection, v4.3.0
monokai, v0.15.0
pigments, v0.9.1
project-manager, v1.15.11
project-view, v0.1.2
regex-railroad-diagram, v0.8.3
remote-edit, v1.8.14
seti-ui, v0.7.1
simple-drag-drop-text, v0.2.3
tool-bar, v0.1.8

# Dev
No dev packages

Compile opens blank atom pane

I'm on MacOS High Sierra 10.13.1

Atom 1.23.1

In developer console I can see this error:

Uncaught (in promise) TypeError: Class constructor TextEditor cannot be invoked without 'new'
at new PreviewEditor (/Users/liepajan/.atom/packages/coffee-compile/lib/preview-editor.coffee:12:5)
at /Users/liepajan/.atom/packages/coffee-compile/lib/main.coffee:46:7
at Workspace.createItemForURI (/Applications/Atom.app/Contents/Resources/app/src/workspace.js:1324:28)
at Workspace. (/Applications/Atom.app/Contents/Resources/app/src/workspace.js:1130:42)
at Generator.next ()
at step (/Applications/Atom.app/Contents/Resources/app/src/workspace.js:11:279)
at /Applications/Atom.app/Contents/Resources/app/src/workspace.js:11:449
at Workspace. (/Applications/Atom.app/Contents/Resources/app/src/workspace.js:11:105)
at Workspace.openURIInPane (/Applications/Atom.app/Contents/Resources/app/src/workspace.js:1308:25)
at Object.open (/Users/liepajan/.atom/packages/coffee-compile/lib/main.coffee:95:20)
at Object.display (/Users/liepajan/.atom/packages/coffee-compile/lib/main.coffee:68:6)
at HTMLElement.atom.commands.add.coffee-compile:compile (/Users/liepajan/.atom/packages/coffee-compile/lib/main.coffee:20:71)
at CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/src/command-registry.js:388:36)
at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:621:22)
at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:412:28)
at WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app/src/window-event-handler.js:108:40)

  PreviewEditor @ preview-editor.coffee [sm]:12
  (anonymous) @ main.coffee [sm]:46
  createItemForURI @ :28750
  (anonymous) @ :28556
  step @ :27437
  (anonymous) @ :27437
  (anonymous) @ :27437
  openURIInPane @ :28734
  open @ main.coffee [sm]:95
  display @ main.coffee [sm]:68
  atom.commands.add.coffee-compile:compile @ main.coffee [sm]:20
  handleCommandEvent @ :23518
  module.exports.KeymapManager.dispatchCommandEvent @ :69869
  module.exports.KeymapManager.handleKeyboardEvent @ :69660
  handleDocumentKeyEvent @ :19404

enhacement: support for other coffee dialects

i think it would be a nice addition to be able to select from distinct coffee dialects like icedcoffee or coco
or make the Util class sensitive to the grammar in current use and load the appropriate compiler.

similar to how multiple linters can be added or selected.

Not working on Atom 1.11.1

Whenever I try to use the plugin, the right pane shows nothing, I was checking this issue on atom console and it looks like an exception is happening, probably because of Atom 1.11.1

screen shot 2016-10-12 at 10 50 43 pm

Autocompile on save

Would it be possible to automaticaly compile .coffee on save, if any preview tab is open?

Changes required due to TextBuffer.save becoming async in Atom 1.19

Hi! Thanks for maintaining the coffee-compile package!

In Atom v1.19, we will release a major change to Atom's core text buffer data structure. As part of this change, we have made TextBuffer.save asynchronous; rather than blocking until the save is complete, it now immediately returns a Promise that resolves when the save is complete. Because of this, a few other Atom APIs that use save have similarly become async:

  • Pane.close
  • TextBuffer.save
  • TextEditor.save
  • Pane.saveItem
  • Pane.saveItemAs
  • Pane.saveActiveItem
  • Pane.saveActiveItemAs
  • Pane.saveItems
  • Workspace.saveActivePaneItem
  • Workspace.saveActivePaneItemAs

Effects on this package

We think this package could be impacted by this upgrade because it calls the changed methods in the following places:

We found these calls using a regex search, so this list might be incomplete, and it might contain some false positives.

What to do about the change

It should be pretty easy to adjust your package code and/or tests to work with the new async behavior, and to simultaneously keep it working with older versions of Atom. Here are some examples of pull requests we opened on our bundled packages to cope with the change:

Please let me know if you have any questions. I'd be happy to help!

<CoffeeCompileView> has no method 'getUri'

Hi there,

when trying to compile something (= just a test), I've this error:

TypeError: Object #<CoffeeCompileView> has no method 'getUri'
  at AtomJsHint.module.exports.AtomJsHint.getContents (/Users/monkeymonk/.atom/packages/atom-jshint/lib/atom-jshint.js:142:50)
  at AtomJsHint.module.exports.AtomJsHint.run (/Users/monkeymonk/.atom/packages/atom-jshint/lib/atom-jshint.js:55:21)
  at AtomJsHint.<anonymous> (/Users/monkeymonk/.atom/packages/atom-jshint/lib/atom-jshint.js:37:12)
  at HTMLDivElement.jQuery.event.dispatch (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:4676:9)
  at HTMLDivElement.elemData.handle (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:4360:28)
  at Object.jQuery.event.trigger (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:4594:12)
  at HTMLDivElement.<anonymous> (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:5119:17)
  at Function.jQuery.extend.each (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:590:23)
  at PaneContainerView.jQuery.fn.jQuery.each (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:237:17)
  at PaneContainerView.jQuery.fn.extend.trigger (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:5118:15)
  at PaneContainerView.module.exports.PaneContainerView.onActivePaneItemChanged (/Applications/Atom.app/Contents/Resources/app/src/pane-container-view.js:85:19)
  at /Applications/Atom.app/Contents/Resources/app/src/pane-container-view.js:3:61
  at /Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:134:30
  at Array.forEach (native)
  at Signal.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:133:47)
  at Signal.module.exports.Signal.emitValue (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/signal.js:82:19)
  at /Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/behavior.js:81:29
  at /Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:134:30
  at Array.forEach (native)
  at Behavior.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:133:47)
  at Behavior.module.exports.Behavior.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/behavior.js:44:38)
  at Behavior.module.exports.Signal.emitValue (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/signal.js:82:19)
  at /Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/signal.js:252:38
  at /Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:134:30
  at Array.forEach (native)
  at Behavior.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:133:47)
  at Behavior.module.exports.Behavior.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/behavior.js:44:38)
  at Behavior.module.exports.Signal.emitValue (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/signal.js:82:19)
  at /Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/signal.js:173:28
  at /Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/behavior.js:33:16
  at /Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:134:30
  at Array.forEach (native)
  at Behavior.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:133:47)
  at Behavior.module.exports.Behavior.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/behavior.js:44:38)
  at Behavior.module.exports.Emitter.on (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:70:14)
  at Behavior.module.exports.Subscriber.subscribeWith (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/subscriber.js:24:32)
  at Behavior.module.exports.Subscriber.subscribe (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/subscriber.js:66:21)
  at /Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/signal.js:172:26
  at /Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:134:30
  at Array.forEach (native)
  at Behavior.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:133:47)
  at Behavior.module.exports.Behavior.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/behavior.js:44:38)
  at Behavior.module.exports.Signal.emitValue (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/signal.js:82:19)
  at /Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/signal.js:154:34
  at /Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:134:30
  at Array.forEach (native)
  at Behavior.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/emitter.js:133:47)
  at Behavior.module.exports.Behavior.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/behavior.js:44:38)
  at Behavior.module.exports.Signal.emitValue (/Applications/Atom.app/Contents/Resources/app/node_modules/emissary/lib/signal.js:82:19)
  at PaneContainer.module.exports.Model.set (/Applications/Atom.app/Contents/Resources/app/node_modules/theorist/lib/model.js:166:21)
  at PaneContainer.accessor.set (/Applications/Atom.app/Contents/Resources/app/node_modules/theorist/lib/model.js:57:23)
  at Pane.module.exports.Pane.activate (/Applications/Atom.app/Contents/Resources/app/src/pane.js:119:26)
  at /Applications/Atom.app/Contents/Resources/app/src/workspace.js:182:18
  at _fulfilled (/Applications/Atom.app/Contents/Resources/app/node_modules/q/q.js:797:54)
  at self.promiseDispatch.done (/Applications/Atom.app/Contents/Resources/app/node_modules/q/q.js:826:30)
  at Promise.promise.promiseDispatch (/Applications/Atom.app/Contents/Resources/app/node_modules/q/q.js:759:13)
  at /Applications/Atom.app/Contents/Resources/app/node_modules/q/q.js:820:14
  at flush (/Applications/Atom.app/Contents/Resources/app/node_modules/q/q.js:108:17)
  at process._tickCallback (node.js:605:11)
  at Ipc.sendChannelSync (/Applications/Atom.app/Contents/Resources/renderer/api/lib/ipc.js:48:29)
  at BrowserWindow.RemoteMemberFunction [as emit] (/Applications/Atom.app/Contents/Resources/renderer/api/lib/remote.js:108:29)
  at ContextMenuManager.module.exports.ContextMenuManager.showForEvent (/Applications/Atom.app/Contents/Resources/app/src/context-menu-manager.js:128:40)
  at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app/src/window-event-handler.js:113:33)
  at HTMLDocument.jQuery.event.dispatch (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:4676:9)
  at HTMLDocument.elemData.handle (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/vendor/jquery.js:4360:28)
 /Applications/Atom.app/Contents/Resources/app/src/workspace.js:189

the test, test.coffee:

foo = (bar) ->
    "#{bar} damned!"

Compiled tab starts out in unsaved state

When I go to close the compiled tab I have to confirm discarding changes (although I have not typed in the box). Started happening just a week ago. Before that, compilation was rendered in an unsaved window.

Alerts on compile error

Any chance of getting alerts when compiling fails? Right now, when there is an error while compiling on save, nothing happens.

EditorView.buildLineHtml is undefined in Atom 0.123.0

In coffee-compile-view.coffee, it appears that the EditorView brought in is now ReactEditorView which has no buildLineHtml() method. This causes an error to be thrown when attempting to see the compiled coffee.

I'm not sure this if this is an issue with Atom or they've permanently changed over to only using ReactEditorView.

The relevant code:

    for tokens in grammar.tokenizeLines(text)
      attributes = class: "line"
      @compiledCode.append(EditorView.buildLineHtml({tokens, text, attributes}))

coffee-compile.cson being ignored

I'm trying to use your plug-in (Atom 1.8.0) and things work perfectly using the settings in preferences but when I create a coffee-compile.cson file and add the following, none of the settings in the file are used.

cwd: "."
src: "views/coffeescript"
destination: "public/javascripts"
compileOnSave: true

Any suggestions would be appreciated.

Thanks

An in-range update of resolve is breaking the build 🚨

The dependency resolve was updated from 1.11.0 to 1.11.1.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

resolve is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Commits

The new version differs by 4 commits.

  • b234492 v1.11.1
  • 3adb367 [Fix] revert inadvertent mode change from 7c86d8f1675ce24cf86fc866ccbd258b677f3b1b
  • 7c86d8f [Fix] node-modules-paths: correctly resolve paths that are on Windows networked drives
  • 4c9b260 [Fix] Make behavior consistent with require.resolve() for "shadowed" core modules

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

[Feature] Settings file for each project?

It will be nice, if atom-coffee-compile could read settings for current project from it's own settings dotfile .coffee-compile with higher priority than global preferences.

It's useful when different projects require different build paths. For example:

  • node modules should be compiled into ./lib
  • my projects are compiling to ./build
  • some developers prefer compiled files to be placed to ./js

Without this option, it's painful to change build path everytime you open a different project.

Thanks.

Uncaught Error: Can't save buffer with no file path

I'm using browser-refresh which reloads the browser from the editor.

When coffee-compile is active in a pane, browser refresh throws the following error on trigger:

Uncaught Error: Can't save buffer with no file path
/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:759

I suppose this is because coffee-compile's pane doesn't hold an actual file, only a temporary buffer. It happens even though that pane is not in focus.

Would it be possible to prevent this somehow? I've also written the author of browser-refresh about it.

[Clarification needed] Relative to project root option

Is it supposed that "Relative to project root" option should compile files to actual project root?

/src/index.coffee => /src/index.js, but should it be compiled to /index.js? If no, could you provide a settings example that allow me to compile /src/* => /* with respect to /src directory structure?

I do suppose, it's not a bug, just clarification needed.

Thank you for awesome module, once again.

project_root

Object.dirname is deprecated. :)

Argument to path.dirname must be a string

Object.dirname (C:\Users\SIV\AppData\Local\atom\app-1.15.0\resources\app.asar\src\electron-shims.js:9:10)
compile (C:\Users\SIV\.atom\packages\coffee-compile\lib\providers\coffee-provider.coffee:34:35)
Object.compile (C:\Users\SIV\.atom\packages\coffee-compile\lib\util.coffee:49:16)
Object.compileOrStack (C:\Users\SIV\.atom\packages\coffee-compile\lib\util.coffee:101:21)
<unknown> (C:\Users\SIV\.atom\packages\coffee-compile\lib\main.coffee:93:25)

A couple features to consider

Would it not be nice to have a few options when auto compiling CoffeeScript?

E.g: whether to produces source_maps, or bare on/off?

Also, (would be nice feature) a destination folder to compile it to?

so if my file was foo/bar.coffee then I would like the source (coffee file) separate from the map, and the distribution file and the minified JS file.

Not working from within .vue file

Compiling or saving coffeescript in a .vue component probably doesn't make sense, but I am dearly missing the ability to quickly check my coffeescript code in a quick preview when working with vue

Error when compiling with pre-existing right pane split horizontally

Our team is using your plugin for coffee and noticed a small crash issue when the target pane is split horizontally.

Steps to reproduce:

Open vertical pane.
Open horizontal pane in right pane.

In left pane, compile coffee (whole file or selection) bug will appear in console.

Uncaught TypeError: Object # has no method 'itemForUri' /Applications/Atom.app/Contents/Resources/app/src/workspace.js:157

Thanks!

Missing scroll bar on compile preview window.

In 0.23.0, the scroll bar on long compile preview windows behaves erratically, sometimes not appearing at all.

I traced it to the change in b717c05 -- simply reverting that single commit in my local branch eliminated the problem for me. I can send a PR if needed.

Atom.Object.defineProperty.get is deprecated.

atom.workspaceView is no longer available.
In most cases you will not need the view. See the Workspace docs for
alternatives: https://atom.io/docs/api/latest/Workspace.
If you do need the view, please use atom.views.getView(atom.workspace),
which returns an HTMLElement.

Atom.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app/src/atom.js:55:11)
Object.activate (/Users/john/.atom/packages/coffee-compile/lib/coffee-compile.coffee:31:9)

Does not save anymore under Atom 1.9.0

Hi,

I can't get my compiled .js file saved on disk anymore, since I updated to Atom 1.9.0, though it worked just before. The preview still works, it just does not save the compiled file.

Does anyone have this problem too?

Thanks.

compile to sub-folder

I would like to compile each .coffee to a subfolder of the folder where the source .coffee is located. How should I do that? Destination setting only seems to work from project root

[...]/one/hello.coffee  ->  [...]/one/compiled/hello.js
and
[...]/two/yessir.coffee  ->  [...]/two/compiled/yessir.js

Code is not updated when running again without closing the compiled code

  1. (optional) select some text
  2. Coffee compile (ctrl+alt+C)
  3. See result in new editor pane
  4. Change the text, or change what's selected
  5. Compile again

Expected: text in compiled pane to be replaced (bonus: if it was modified, create another tab)

Actual result: no change, seeing first compilation.

This used to work perfectly until atom update (I don't remember about the "bonus" feature though).

Uncaught TypeError: source.some is not a function

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.0.15
System: Mac OS X 10.11
Thrown From: coffee-compile package, v0.18.0

Stack Trace

Uncaught TypeError: source.some is not a function

At /Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:809

TypeError: source.some is not a function
  at Object.module.exports.isPathInSrc (/Users/soncy/.atom/packages/coffee-compile/lib/fs-util.coffee:40:12)
  at Object.module.exports.save (/Users/soncy/.atom/packages/coffee-compile/lib/main.coffee:55:49)
  at /Users/soncy/.atom/packages/coffee-compile/lib/main.coffee:30:14
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
  at TextBuffer.module.exports.TextBuffer.saveAs (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1035:20)
  at TextBuffer.module.exports.TextBuffer.save (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1002:19)
  at TextEditor.module.exports.TextEditor.save (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:584:26)
  at Pane.module.exports.Pane.saveItem (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:547:18)
  at Pane.module.exports.Pane.saveActiveItem (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:530:19)
  at Workspace.module.exports.Workspace.saveActivePaneItem (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:609:35)
  at atom-workspace.atom.commands.add.core:save (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace-element.js:293:30)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:245:29)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:524:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:347:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:184:20)

Commands

     -0:31.2.0 pane:show-previous-item (atom-text-editor.editor.is-focused)
  3x -0:30.5.0 pane:show-next-item (atom-text-editor.editor.is-focused)
     -0:29.2.0 pane:show-previous-item (atom-text-editor.editor.is-focused)
  2x -0:13 pane:show-next-item (atom-text-editor.editor.is-focused)
     -0:11.7.0 pane:show-previous-item (atom-text-editor.editor.is-focused)
     -0:11 pane:show-next-item (atom-text-editor.editor.is-focused)
  3x -0:08.6.0 pane:show-previous-item (atom-text-editor.editor.is-focused)
     -0:02.8.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:01.1.0 core:save (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "themes": [
      "one-dark-ui",
      "base16-eighties-dark-syntax"
    ],
    "disabledPackages": [
      "linter-jshint"
    ]
  },
  "coffee-compile": {
    "cwd": "./src",
    "destination": "./lib",
    "source": [
      "./"
    ],
    "enableProjectConfig": true,
    "compileOnSaveWithoutPreview": true
  }
}

Installed Packages

# User
atom-beautify, v0.28.12
atom-ternjs, v0.7.2
base16-eighties-dark-syntax, v0.1.0
coffee-compile, v0.18.0
file-icons, v1.6.9
highlight-selected, v0.10.1
linter, v1.6.0
linter-coffeelint, v1.1.0
markdown-preview-plus, v2.1.1
terminal-plus, v0.4.3

# Dev
No dev packages

Also tries to compile .txt

When I save a normal .txt file, this package also tries to compile. It should only compile .coffee files, right?

How can I stop it to touch any .txt files?

CoffeeScript 2 support

Since it's now officially released. It also obsoletes most other variants: Iced, redux, CJSX

Uncaught Error: Must pass a config parameter when constructing TextEditors

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.2.0
System: Mac OS X 10.10.5
Thrown From: coffee-compile package, v0.19.2

Stack Trace

Uncaught Error: Must pass a config parameter when constructing TextEditors

At /Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:89

Error: Must pass a config parameter when constructing TextEditors
    at CoffeeCompileEditor.TextEditor [as constructor] (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:89:15)
    at new CoffeeCompileEditor (/Users/nem/.atom/packages/coffee-compile/lib/coffee-compile-editor.coffee:10:5)
    at /Users/nem/.atom/packages/coffee-compile/lib/main.coffee:47:18
    at Workspace.module.exports.Workspace.openURIInPane (/Applications/Atom.app/Contents/Resources/app.asar/src/workspace.js:454:22)
    at Object.module.exports.open (/Users/nem/.atom/packages/coffee-compile/lib/main.coffee:95:20)
    at Object.module.exports.display (/Users/nem/.atom/packages/coffee-compile/lib/main.coffee:69:6)
    at atom-workspace.atom.commands.add.coffee-compile:compile (/Users/nem/.atom/packages/coffee-compile/lib/main.coffee:21:71)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:533:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:356:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeydown (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:99:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -0:04.4.0 coffee-compile:compile (atom-text-editor.editor.vim-mode.insert-mode.is-focused)

Config

{
  "core": {
    "themes": [
      "seti-ui",
      "monokai-dark"
    ],
    "destroyEmptyPanes": false,
    "disabledPackages": [
      "atom-color-highlight"
    ],
    "followSymlinks": false
  },
  "coffee-compile": {}
}

Installed Packages

# User
Stylus, v1.2.1
atom-jade, v0.3.0
autoclose-html, v0.19.0
autocomplete-paths, v1.0.2
coffee-compile, v0.19.2
color-picker, v2.0.13
dartlang, v0.4.14
git-diff-details, v0.21.0
highlight-column, v0.5.0
highlight-line, v0.11.0
highlight-selected, v0.10.1
language-markdown, v0.2.0
language-stylus, v0.2.0
line-diff-details, v1.1.3
linter, v1.11.1
linter-coffeelint, v1.1.2
linter-dartanalyzer, v0.3.2
linter-jade, v0.3.2
linter-jshint, v1.2.1
linter-sass-lint, v0.4.1
minimap, v4.16.0
minimap-git-diff, v4.1.8
minimap-pigments, v0.1.7
monokai-dark, v1.3.0
nuclide-diff-view, v0.0.32
open-recent, v4.0.1
pigments, v0.18.1
seti-ui, v0.8.1
vim-mode, v0.63.0
white-cursor, v0.6.0

# Dev
No dev packages

Atom.Object.defineProperty.get is deprecated.

atom.workspaceView is no longer available.
In most cases you will not need the view. See the Workspace docs for
alternatives: https://atom.io/docs/api/latest/Workspace.
If you do need the view, please use atom.views.getView(atom.workspace),
which returns an HTMLElement.

Atom.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app/src/atom.js:55:11)
Object.activate (/Users/adrianlee/.atom/packages/coffee-compile/lib/coffee-compile.coffee:31:9)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.