kokarn / atom-grunt-runner Goto Github PK
View Code? Open in Web Editor NEWRun Grunt tasks from Atom.
License: MIT License
Run Grunt tasks from Atom.
License: MIT License
Grunt is installed globally (which grunt) and I've added my grunt path in the grunt-runner settings (/usr/local/bin). I have also installed grunt locally within my project (npm install grunt --save-dev). I'm at the root of a project with a valid grunt file and I'm still getting this error.
Grunt runner 0.6.0
Requiring $
from atom
is no longer supported.
If you are using space-pen
, please require $
from atom-space-pen-views
. Otherwise require jquery
instead:
{$} = require 'atom-space-pen-views'
or
$ = require 'jquery'
Add "atom-space-pen-views": "^2.0.3"
to your package dependencies.
Or add "jquery": "^2"
to your package dependencies.
Object.Object.defineProperty.get (C:\Users\**********\AppData\Local\atom\app-0.190.0\resources\app\exports\atom.js:44:11)
Object.<anonymous> (C:\Users\**********\.atom\packages\grunt-runner\lib\grunt-runner-view.coffee:10:30)
[Enter steps to reproduce below:]
Atom Version: 1.0.2
System: Mac OS X 10.10.4
Thrown From: grunt-runner package, v0.11.0
Uncaught TypeError: undefined is not a function
At /Users/mortoc/.atom/packages/grunt-runner/lib/grunt-runner-view.coffee:187
TypeError: undefined is not a function
at ResultsView.module.exports.ResultsView.colorize (/Users/mortoc/.atom/packages/grunt-runner/lib/grunt-runner-view.coffee:187:17)
at ResultsView.module.exports.ResultsView.addLine (/Users/mortoc/.atom/packages/grunt-runner/lib/grunt-runner-view.coffee:163:17)
at Task.callback (/Users/mortoc/.atom/packages/grunt-runner/lib/grunt-runner-view.coffee:96:26)
at /Applications/Atom.app/Contents/Resources/app.asar/src/task.js:68:72
at Task.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/emissary/lib/emitter.js:118:15)
at ChildProcess.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/task.js:81:31)
at emitTwo (events.js:87:13)
at ChildProcess.emit (events.js:169:7)
at handleMessage (child_process.js:306:10)
at Pipe.channel.onread (child_process.js:334:11)
-0:39.9.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
-0:39.9.0 core:cancel (atom-text-editor.editor.is-focused)
-0:34.1.0 command-palette:toggle (atom-text-editor.editor.is-focused)
-0:30.3.0 editor:consolidate-selections (atom-text-editor.editor.mini.is-focused)
-0:30.3.0 core:cancel (atom-text-editor.editor.mini.is-focused)
-0:29.8.0 settings-view:open (atom-text-editor.editor.is-focused)
-0:14.3.0 core:confirm (atom-text-editor.editor.mini.is-focused)
{
"core": {},
"grunt-runner": {}
}
# User
jsformat, v0.9.0
pretty-json, v0.4.1
# Dev
No dev packages
I've installed grunt-runner and agter that built-in plugin fuzzy-finder won't work - I press Ctrl + P and get following errors:
module.js:330
throw err;
^
Cannot find module 'atom' module.js:330
throw err;
^
Error: Cannot find module 'atom'
at Function.Module._resolveFilename (module.js:328:15)
at Function.Module._load (module.js:270:25)
at Module.require (module.js:357:17)
at require (module.js:376:17)
at Object. (...\AppData\Local\atom\app-0.196.0\resources\app.asar\node_modules\fuzzy-finder\lib\load-paths-handler.js:12:19)
at Object. (...\AppData\Local\atom\app-0.196.0\resources\app.asar\node_modules\fuzzy-finder\lib\load-paths-handler.js:177:4)
at Module._compile (module.js:452:26)
at Object.Module._extensions..js (module.js:470:10)
at Module.load (module.js:347:32)
at Function.Module._load (module.js:302:12)...\AppData\Local\atom\app-0.196.0\resources\app.asar\src\task.js:55 (anonymous function)...\AppData\Local\atom\app-0.196.0\resources\app.asar\node_modules\emissary\lib\emitter.…:155 (anonymous function)...\AppData\Local\atom\app-0.196.0\resources\app.asar\node_modules\emissary\lib\emitter.…:154 module.exports.Emitter.emitSlow...\AppData\Local\atom\app-0.196.0\resources\app.asar\node_modules\emissary\lib\emitter.…:107 module.exports.Emitter.emitC...\AppData\Local\atom\app-0.196.0\resources\app.asar\src\task.js:81 (anonymous function)events.js:87 emitTwoevents.js:169 emitchild_process.js:306 handleMessagechild_process.js:334 channel.onread
and
Cannot read property 'bind' of null TypeError: Cannot read property 'bind' of null
at process. (...\AppData\Local\atom\app-0.196.0\resources\app.asar\src\task-bootstrap.js:82:23)
at emitTwo (events.js:87:13)
at process.emit (events.js:169:7)
at handleMessage (child_process.js:306:10)
at Pipe.channel.onread (child_process.js:334:11)...\AppData\Local\atom\app-0.196.0\resources\app.asar\src\task.js:55 (anonymous function)...\AppData\Local\atom\app-0.196.0\resources\app.asar\node_modules\emissary\lib\emitter.…:155 (anonymous function)...\AppData\Local\atom\app-0.196.0\resources\app.asar\node_modules\emissary\lib\emitter.…:154 module.exports.Emitter.emitSlow...\AppData\Local\atom\app-0.196.0\resources\app.asar\node_modules\emissary\lib\emitter.…:107 module.exports.Emitter.emit...\AppData\Local\atom\app-0.196.0\resources\app.asar\src\task.js:81 (anonymous function)events.js:87 emitTwoevents.js:169 emitchild_process.js:306 handleMessagechild_process.js:334 channel.onread
Could you say, it's problem of fuzzy-finder or grunt-runner?
P.S. forgot to note - my OS is Windows 8.1
I just updated atom to 0.199.0
ReferenceError: path is not defined
at ResultsView.module.exports.ResultsView.parseGruntFile (C:\Users\nick\.atom\packages\grunt-runner\lib\grunt-runner-view.coffee:70:44)
at Config.module.exports.Config.observeKeyPath (C:\Users\nick\AppData\Local\atom\app- 0.199.0\resources\app.asar\src\config.js:555:7)
at Config.module.exports.Config.observe (C:\Users\nick\AppData\Local\atom\app-0.199.0\resources\app.asar\src\config.js:135:21)
at Object.module.exports.activate (C:\Users\nick\.atom\packages\grunt-runner\lib\grunt-runner.coffee:19:21)
at Package.module.exports.Package.activateNow (C:\Users\nick\AppData\Local\atom\app-0.199.0\resources\app.asar\src\package.js:238:19)
at C:\Users\nick\AppData\Local\atom\app-0.199.0\resources\app.asar\src\package.js:219:30
at Package.module.exports.Package.measure (C:\Users\nick\AppData\Local\atom\app-0.199.0\resources\app.asar\src\package.js:163:15)
at Package.module.exports.Package.activate (C:\Users\nick\AppData\Local\atom\app-0.199.0\resources\app.asar\src\package.js:211:14)
at PackageManager.module.exports.PackageManager.activatePackage (C:\Users\nick\AppData\Local\atom\app-0.199.0\resources\app.asar\src\package-manager.js:435:21)
at C:\Users\nick\AppData\Local\atom\app-0.199.0\resources\app.asar\node_modules\settings-view\lib\package-manager.js:345:29
at exit (C:\Users\nick\AppData\Local\atom\app-0.199.0\resources\app.asar\node_modules\settings-view\lib\package-manager.js:41:16)
at triggerExitCallback (C:\Users\nick\AppData\Local\atom\app-0.199.0\resources\app.asar\src\buffered-process.js:213:47)
at ChildProcess.<anonymous> (C:\Users\nick\AppData\Local\atom\app-0.199.0\resources\app.asar\src\buffered-process.js:235:18)
at emitTwo (events.js:87:13)
at ChildProcess.emit (events.js:169:7)
at Process.ChildProcess._handle.onexit (child_process.js:1057:12)
Windows 8.1
"*":
"exception-reporting":
userId: "9e35bb78-8916-1f07-64b9-e607dcb71fea"
welcome:
showOnStartup: false
linter:
lintOnChangeMethod: "throttle"
showInfoMessages: true
statusBar: "Show error of the selected line"
editor:
fontSize: 11
invisibles:
{}
zoomFontWhenCtrlScrolling: false
tabLength: 4
softWrap: true
"grunt-runner":
{}
core:
audioBeep: false
disabledPackages: []
emmet:
{}
"file-icons":
{}
"autocomplete-plus":
confirmCompletion: "enter"
fonts:
fontFamily: "Source Code Pro Extra Light"
minimap:
scrollAnimation: true
useHardwareAcceleration: false
"remote-sync":
{}
tabs:
showIcons: false
alwaysShowTabBar: false
notifications:
showErrorsInDevMode: true
"filetype-color":
enabled: "false"
"linter-jshint":
{}
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/oskarrisberg/.atom/packages/grunt-runner/lib/grunt-runner.coffee:23:13)
I did not see this listed, but I have a a Gruntfile.js that runs fine in CLI but will not run with this package. I get the following error:
Error loading gruntfile: MODULE_NOT_FOUND
Below is the contents of the Gruntfile.js
// Load Current Environments Settings
var configuration = require('./config/environment');
/*global module:false*/
module.exports = function(grunt) {
var company_banner = '' +
'/*! Some Company\n' +
' * @author <%= pkg.author %>\n' +
' * @version <%= pkg.version %>\n' +
' * @license Unauthorized copying of this file, via any medium is strictly prohibited.\n' +
' * This file cannot be copied and/or distributed without express written consent from @author.\n' +
' * @builddate <%= grunt.template.today("yyyy/mm/dd") %>\n' +
' */\n'
var pkg = grunt.file.readJSON('package.json');
// Project configuration.
grunt.initConfig({
pkg: pkg,
pixelworker: grunt.file.copy('app/assets/javascripts/lib/PixelWorker.js', 'views/webworker.js'),
concat: {
options: {
banner: company_banner
},
guest: {
src: [
'app/assets/javascripts/lib/alertify.js',
'app/assets/javascripts/guest/GuestSocket.js',
'app/assets/javascripts/guest/GuestUI.js',
'app/assets/javascripts/guest/Guest.js',
'app/assets/javascripts/guest/GuestHelpers.js',
'app/assets/javascripts/lib/animate.js'
],
dest: 'public/javascripts/guest.js'
},
company: {
src: [
'app/assets/javascripts/host/CompanySocket.js',
'app/assets/javascripts/host/CompanyUI.js',
'app/assets/javascripts/host/CompanySessionStore.js',
'app/assets/javascripts/host/CompanyRenderingEngine.js',
'app/assets/javascripts/host/Company.js',
'app/assets/javascripts/host/CompanyHelpers.js',
'app/assets/javascripts/host/CompanyLanguage.js',
'app/assets/javascripts/lib/CanvasDiff.js'
],
dest: 'public/plugin.js'
},
lib: {
src: [
'app/assets/javascripts/lib/alertify.js',
'node_modules/html2canvas/build/html2canvas.js',
'app/assets/javascripts/lib/reqwest.js',
'app/assets/javascripts/lib/jsimagediff.js',
'app/assets/javascripts/lib/animate.js'
],
dest: 'public/javascripts/clicklibs.js'
},
proxy: {
src: [
'app/assets/lib/iframeproxy.js',
'node_modules/html2canvas/build/html2canvas.js'
],
dest: 'public/javascripts/iframeproxy.js'
}
},
sass: {
production: {
options: {
style: 'compressed'
},
files: {
'public/stylesheets/blue.css' : 'app/assets/stylesheets/blue.scss',
'public/stylesheets/green.css' : 'app/assets/stylesheets/green.scss',
'public/stylesheets/purple.css' : 'app/assets/stylesheets/purple.scss'
}
},
development: {
options: {
style: 'expanded',
lineNumbers: true
},
files: {
'public/stylesheets/blue.css' : 'app/assets/stylesheets/blue.scss',
'public/stylesheets/green.css' : 'app/assets/stylesheets/green.scss',
'public/stylesheets/purple.css' : 'app/assets/stylesheets/purple.scss'
}
}
},
jshint: {
options: {
laxcomma: true,
lastsemic: true,
browser: true
},
beforeconcat: [
'app/assets/javascripts/host/Company*.js',
'app/assets/javascripts/guest/Guest*.js'
],
afterconcat: [
'public/plugin.js',
'public/javascripts/guest.js'
]
},
uglify: {
options: {
banner: company_banner,
mangle: false
},
build: {
files: {
'public/plugin.js':'public/plugin.js',
'public/javascripts/iframeproxy.js':'public/javascripts/iframeproxy.js',
'public/javascripts/PixelWorker.js':'views/webworker.js',
'public/javascripts/clicklibs.js':'public/javascripts/clicklibs.js',
'public/javascripts/guest.js':'public/javascripts/guest.js'
}
}
},
regarde: {
css: {
files: [
'app/assets/stylesheets/*.scss',
'app/assets/stylesheets/**/*.scss'
],
tasks: [
'sass'
],
events: true
}
},
concurrent: {
development: [
'build',
'uglify',
'sass:development',
'initServer'
]
},
qettlhup: {
host: {
test: {
lang: 'rspec',
path: 'spec/host.rb'
},
json: 'spec/BrowsersHost.json'
},
guest: {
test: {
lang: 'rspec',
path: 'spec/guest.rb'
},
json: 'spec/BrowsersGuest.json'
}
},
template: {
socket: {
options: {
data: {
company_url: configuration.company.host,
company_proxy: configuration.company.proxy,
company_reverse_proxy: configuration.company.reverseProxy,
company_assets: configuration.company.assets,
company_version: (process.env.NODE_ENV == 'development') ? Date.now() : pkg.version
}
},
files: {
'public/plugin.js':'public/plugin.js'
}
}
}
});
grunt.loadNpmTasks('grunt-regarde');
grunt.loadNpmTasks('grunt-qettlhup');
grunt.loadNpmTasks('grunt-concurrent');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-template');
grunt.registerTask('remote', [
'build',
'sass:development',
'initServer',
'template'
]);
grunt.registerTask('development', [
'build',
'sass:development',
'initServer',
'template'
]);
grunt.registerTask('staging', [
'build',
'sass:production',
'uglify',
'initServer',
'template'
]);
grunt.registerTask('production', [
'build',
'sass:production',
'uglify',
'initServer',
'template'
]);
grunt.registerTask('build', [
'jshint:beforeconcat',
'concat',
'jshint:afterconcat',
'template'
]);
grunt.registerTask('initServer', 'Output for app.js to parse and launch server', function(){
console.log('Ready');
});
};
Steps to reprod:
The index will not work
When I open Atom in a blank project or a project with no grunt file, I get the following error. I updated my global path in settings to "C:\Users[user]\AppData\Roaming\npm\node_modules" and get the same error. When I open a project with a proper gruntfile, I do not get the error, but nothing works. Running Win7.
Uncaught TypeError: Cannot read property 'gruntPaths' of undefined
/C:/Users/[user]/.atom/packages/atom-grunt-runner-master/lib/grunt-runner-view.coffee:118
Hide Stack TraceShow Stack Trace
TypeError: Cannot read property 'gruntPaths' of undefined
at ResultsView.module.exports.ResultsView.parseGruntFile (C:\Users\[user]\.atom\packages\atom-grunt-runner\lib\grunt-runner-view.coffee:54:53)
at C:\Users\[user]\.atom\packages\atom-grunt-runner\lib\grunt-runner-view.coffee:40:49
at Project.module.exports.Emitter.emit (C:\Users\[user]\AppData\Local\atom\app-0.178.0\resources\app\node_modules\emissary\lib\emitter.js:118:15)
at Project.module.exports.Project.setPaths (C:\Users\[user]\AppData\Local\atom\app-0.178.0\resources\app\src\project.js:216:12)
at EventEmitter.<anonymous> (C:\Users\[user]\AppData\Local\atom\app-0.178.0\resources\app\src\window-event-handler.js:38:25)
at EventEmitter.emit (events.js:119:17)
Hey @nickclaw ,
I am the maintainer for sublime-grunt, the Grunt task runner for Sublime Text. I got my Atom invite today and am happy to see that you tackled the task of building a Grunt task runner for it, already :)
I would help you with a few pull requests, but I never used CoffeeScript, so maybe I can give you a few ideas on where to bring this plugin, instead.
I understand that the fact that you're not listing all tasks is a bug. The way we extract tasks in sublime-grunt is more or less like that (removed a few unrelated lines, and it's JS obviously):
var tasks = grunt.task._tasks;
_.each( tasks, function( value, key, list ) {
// Filter away reservered words that are none-targets
var targets = _.difference(Object.keys(grunt.config.getRaw( key ) || {}), ['files', 'options', 'globals']);
if ( targets.length > 0 ) {
list[ key ].targets = targets;
if ( targets.length > 1 ) {
_.each( targets, function(target) {
var name = key + ":" + target;
list[name] = { name: name, info: 'Targets ' + name + '. ' + list[key].info || '', meta: { info: list[key].meta&&list[key].meta.info} };
});
}
}
});
This should give you a list w/ all tasks + subtasks á la "compass:dev" and "compass:build", which you could then show in the task list. The fuzzy search of Sublime, and here Atom, helps a lot and the fact that you list all possible targets isn't a big deal because of this. We felt it was the best solution from a UX perspective.
I don't know if caching is necessary here. In sublime-grunt, we run a grunt command, pipe the output to Python and from there display the list of available tasks. The bottleneck may be somewhere there, but with huge Gruntfiles, we had to wait up to 2-3 seconds sometimes. We implemented a caching mechanism and this helped a lot. Might be interesting for atom-grunt-runner as well.
Cool, looking forward to see a nicely integrated Grunt solution for my next editor (maybe). You have the advantage of running an environment that is native to Grunt (JS/CoffeeScript), and you don't need to target different Python versions and platforms (as of now). If I can be of any help, let me know, I'll be glad!
Best, Tim
It currently takes up a lot of space and is intrusive
I installed the runner (v 0.11.0) and the gruntfile gets parsed successfully. But running a task fails with an error message saying "Grunt exited with code 1."
Store package style sheets in the styles/
directory instead of stylesheets/
in the grunt-runner
package
Package.getStylesheetsPath (C:\Users\**********\AppData\Local\atom\app-0.190.0\resources\app\src\package.js:433:9)
Package.getStylesheetPaths (C:\Users\**********\AppData\Local\atom\app-0.190.0\resources\app\src\package.js:444:32)
Switch to using atom-message-panel for the message view.
If I don't have anything entered in the PATH field of the package's settings, I get this error message in the console: Uncaught Error: spawn ENOENT.
If I have a wrong path entered in the PATH field, I get the proper error message (as should happen for the above case, as well).
BTW: Sublime Text has this problem, and it appears to affect Atom as well. If I start Atom via iTerm (or any environment with the correct PATH), the PATH is set correctly and I don't need to set in manually. If I start Atom from Alfred or the Dock instead, this is not the case. Might be my environment, though, but in case someone comes up with the same problem, you can point them to it.
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/oskarrisberg/.atom/packages/grunt-runner/lib/grunt-runner.coffee:22:13)
Atom.Object.defineProperty.get - /Applications/Atom.app/Contents/Resources/app/src/atom.js:55:11
Object.activate - /Users/oskarrisberg/.atom/packages/grunt-runner/lib/grunt-runner.coffee:23:13
Atom.Object.defineProperty.get - /Applications/Atom.app/Contents/Resources/app/src/atom.js:55:11
Object.activate - /Users/oskarrisberg/.atom/packages/grunt-runner/lib/grunt-runner.coffee:24:13
Atom.Object.defineProperty.get - /Applications/Atom.app/Contents/Resources/app/src/atom.js:55:11
Object.activate - /Users/oskarrisberg/.atom/packages/grunt-runner/lib/grunt-runner.coffee:25:13
Atom.Object.defineProperty.get - /Applications/Atom.app/Contents/Resources/app/src/atom.js:55:11
ResultsView.togglePanel - /Users/oskarrisberg/.atom/packages/grunt-runner/lib/grunt-runner-view.coffee:79:20
Atom.Object.defineProperty.get - /Applications/Atom.app/Contents/Resources/app/src/atom.js:55:11
TaskListView.attach - /Users/oskarrisberg/.atom/packages/grunt-runner/lib/task-list-view.coffee:55:13
Interesting. :)
Looks like with Atom v.73
they added some restrictions on eval
, which is good.
Unfortunately, lodash
, a requirement of grunt
, does some eval
ing to test for support of certain features. The problem is that this means that Atom absolutely refuses to load grunt-runner
.
I can fix this by returning to the use of a GruntParser
object that pretends to be grunt
and gathers and collects all the tasks defined in the Gruntfile
. This might actually be easier in the long run then trying to wrangle Grunt into behaving, but will take some time to rtfm and figure out all the ways grunt
tasks can be defined.
i<3backticks
It's not really a problem, but if you open a project w/o grunt file the grunt-runner outputs an error to the console:
grunt-runner: MODULE_NOT_FOUND grunt-runner-view.coffee:48
It would be great if a sound was played when ie. less compiling error occurred.
For some reason when the grunt task exits with a non zero code it doesn't change it to use the broken icon.
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:54:11)
Object.activate (/Users/bthusby/.atom/packages/grunt-runner/lib/grunt-runner.coffee:18:13)
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:54:11)
TaskListView.attach (/Users/bztv56/.atom/packages/grunt-runner/lib/task-list-view.coffee:59:13)
I updated the package today and was welcomed with this error
`Error: setTooltip is no longer available. Please use 'atom.tooltips.add' instead.
See the docs at https://atom.io/docs/api/latest/TooltipManager#instance-add
at [object Object].$.fn.setTooltip (C:\Users\nick\AppData\Local\atom\app-0.196.0\resources\app.asar\node_modules\atom-space-pen-views\node_modules\space-pen\lib\space-pen.js:611:11)
at ResultsView.module.exports.ResultsView.initialize (C:\Users\nick.atom\packages\grunt-runner\lib\grunt-runner-view.coffee:47:23)
at ResultsView.View (C:\Users\nick\AppData\Local\atom\app-0.196.0\resources\app.asar\node_modules\atom-space-pen-views\node_modules\space-pen\lib\space-pen.js:184:25)
at new ResultsView (C:\Users\nick.atom\packages\grunt-runner\lib\grunt-runner-view.coffee:16:5)
at Object.module.exports.activate (C:\Users\nick.atom\packages\grunt-runner\lib\grunt-runner.coffee:16:21)
at Package.module.exports.Package.activateNow (C:\Users\nick\AppData\Local\atom\app-0.196.0\resources\app.asar\src\package.js:222:19)
at C:\Users\nick\AppData\Local\atom\app-0.196.0\resources\app.asar\src\package.js:203:30
at Package.module.exports.Package.measure (C:\Users\nick\AppData\Local\atom\app-0.196.0\resources\app.asar\src\package.js:147:15)
at Package.module.exports.Package.activate (C:\Users\nick\AppData\Local\atom\app-0.196.0\resources\app.asar\src\package.js:195:14)
at PackageManager.module.exports.PackageManager.activatePackage (C:\Users\nick\AppData\Local\atom\app-0.196.0\resources\app.asar\src\package-manager.js:434:21)
at C:\Users\nick\AppData\Local\atom\app-0.196.0\resources\app.asar\node_modules\settings-view\lib\package-manager.js:316:29
at exit (C:\Users\nick\AppData\Local\atom\app-0.196.0\resources\app.asar\node_modules\settings-view\lib\package-manager.js:41:16)
at triggerExitCallback (C:\Users\nick\AppData\Local\atom\app-0.196.0\resources\app.asar\src\buffered-process.js:213:47)
at ChildProcess. (C:\Users\nick\AppData\Local\atom\app-0.196.0\resources\app.asar\src\buffered-process.js:235:18)
at emitTwo (events.js:87:13)
at ChildProcess.emit (events.js:169:7)
at Process.ChildProcess._handle.onexit (child_process.js:1057:12)`
When I open the panel(Grunt Runner: Toggle Panel
) in Atom I get the following error
Error loading gruntfile: EBADF
I have replicated this bug with .coffee
and .js
Gruntfiles. Both of these Gruntfiles were in the root of the project.
When I run Atom as administrator I get a different error in panel
Error loading gruntfile: MODULE_NOT_FOUND
I'm having this message in Grunt Runner Console:
Error loading gruntfile: Error parsing Gruntfile. EBADF: bad file descriptor, write
But it was working yesterday! 😞
[Enter steps to reproduce below:]
grunt-runner
packageAtom Version: 0.190.0
System: Mac OS X 10.10.3
Thrown From: grunt-runner package, v0.8.0
Failed to load the grunt-runner package
At Cannot read property 'prototype' of undefined
TypeError: Cannot read property 'prototype' of undefined
at __extends (/Users/yurique/.atom/packages/grunt-runner/lib/grunt-runner-view.coffee:1:1)
at /Users/yurique/.atom/packages/grunt-runner/lib/grunt-runner-view.coffee:15:5
at Object.<anonymous> (/Users/yurique/.atom/packages/grunt-runner/lib/grunt-runner-view.coffee:311:5)
at Object.<anonymous> (/Users/yurique/.atom/packages/grunt-runner/lib/grunt-runner-view.coffee:1:1)
at Module._compile (module.js:452:26)
at Object.requireCoffeeScript (/Applications/Atom.app/Contents/Resources/app/node_modules/coffee-cash/lib/coffee-cash.js:85:19)
at Module.load (module.js:347:32)
at Function.Module._load (module.js:302:12)
at Module.require (module.js:357:17)
at require (module.js:376:17)
at Object.<anonymous> (/Users/yurique/.atom/packages/grunt-runner/lib/grunt-runner.coffee:8:15)
at Object.<anonymous> (/Users/yurique/.atom/packages/grunt-runner/lib/grunt-runner.coffee:1:1)
at Module._compile (module.js:452:26)
at Object.requireCoffeeScript (/Applications/Atom.app/Contents/Resources/app/node_modules/coffee-cash/lib/coffee-cash.js:85:19)
at Module.load (module.js:347:32)
at Function.Module._load (module.js:302:12)
at Module.require (module.js:357:17)
at require (module.js:376:17)
at Package.module.exports.Package.requireMainModule (/Applications/Atom.app/Contents/Resources/app/src/package.js:665:34)
at /Applications/Atom.app/Contents/Resources/app/src/package.js:174:28
at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app/src/package.js:152:15)
at Package.module.exports.Package.load (/Applications/Atom.app/Contents/Resources/app/src/package.js:166:12)
at PackageManager.module.exports.PackageManager.loadPackage (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:355:14)
at PackageManager.module.exports.PackageManager.activatePackage (/Applications/Atom.app/Contents/Resources/app/src/package-manager.js:434:30)
at /Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-manager.js:268:29
at exit (/Applications/Atom.app/Contents/Resources/app/node_modules/settings-view/lib/package-manager.js:43:16)
at BufferedProcess.triggerExitCallback (/Applications/Atom.app/Contents/Resources/app/src/buffered-process.js:63:47)
at ChildProcess.<anonymous> (/Applications/Atom.app/Contents/Resources/app/src/buffered-process.js:85:18)
at emitTwo (events.js:87:13)
at ChildProcess.emit (events.js:169:7)
at Process.ChildProcess._handle.onexit (child_process.js:1057:12)
-1:45.4 core:cancel (atom-text-editor.editor.mini)
-1:45.0 editor:consolidate-selections (atom-text-editor.editor)
-1:45.0 core:cancel (atom-text-editor.editor)
2x -1:44.5 core:move-up (atom-text-editor.editor)
-1:38.7 settings-view:open (atom-text-editor.editor)
-1:01.5 application:open (atom-text-editor.editor)
-1:00.1 fuzzy-finder:toggle-file-finder (atom-text-editor.editor)
-0:56.7 editor:consolidate-selections (atom-text-editor.editor.mini)
-0:56.7 core:cancel (atom-text-editor.editor.mini)
-0:56.1 command-palette:toggle (atom-text-editor.editor)
-0:54.7 editor:consolidate-selections (atom-text-editor.editor.mini)
-0:54.7 core:cancel (atom-text-editor.editor.mini)
10x -0:53.0 core:move-up (atom-text-editor.editor)
-0:50.5 editor:move-to-first-character-of-line (atom-text-editor.editor)
-0:49.0 settings-view:open (atom-text-editor.editor)
-0:44.4 core:confirm (atom-text-editor.editor.mini)
{
"core": {}
}
# User
grunt-runner, v0.8.0
language-scala, v1.1.0
react, v0.11.4
react-snippets, v0.1.4
# Dev
No dev packages
Requiring View
from atom
is no longer supported.
Please require atom-space-pen-views
instead:
{View} = require 'atom-space-pen-views'
Add "atom-space-pen-views": "^2.0.3"
to your package dependencies.
Object.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app/exports/atom.js:61:9)
Object.<anonymous> (/Users/oskarrisberg/.atom/packages/grunt-runner/lib/grunt-runner-view.coffee:10:1)
All of my grunt tasks are kept in separate files (in the grunt directory), but the plugin won't acknowledge any of these tasks. I just get 'Grunt file parsed, found 0 tasks'
Use a config schema instead. See the configuration section
of https://atom.io/docs/latest/hacking-atom-package-word-count and
https://atom.io/docs/api/latest/Config for more details
Package.activateConfig (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:247:11)
Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:218:14)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:203:30)
Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:147:15)
Is it possible to support grunt not in the root project folder? Or is there good supporting evidence that I should have a Gruntfile at the project's root to begin with?
[Enter steps to reproduce below:]
Atom Version: 0.200.0
System: Mac OS X 10.10.3
Thrown From: grunt-runner package, v0.9.1
Uncaught ReferenceError: path is not defined
At /Users/superandrew/.atom/packages/grunt-runner/lib/grunt-runner-view.coffee:70
ReferenceError: path is not defined
at ResultsView.module.exports.ResultsView.parseGruntFile (/Users/superandrew/.atom/packages/grunt-runner/lib/grunt-runner-view.coffee:70:44)
at /Users/superandrew/.atom/packages/grunt-runner/lib/grunt-runner-view.coffee:42:47
at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
at Project.module.exports.Project.addPath (/Applications/Atom.app/Contents/Resources/app.asar/src/project.js:274:29)
at EventEmitter.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:37:32)
at emitTwo (events.js:87:13)
at EventEmitter.emit (events.js:169:7)
-1:29.1.0 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-one-dark-syntax.theme-one-dark-ui)
6x -1:21.2.0 core:move-left (atom-text-editor.editor.mini.is-focused)
-1:19.7.0 core:backspace (atom-text-editor.editor.mini.is-focused)
-1:18.9.0 core:confirm (atom-text-editor.editor.mini.is-focused)
-0:51.8.0 core:select-all (atom-text-editor.editor.mini.is-focused)
-0:49.9.0 core:confirm (atom-text-editor.editor.mini.is-focused)
-0:02.3.0 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-one-dark-syntax.theme-one-dark-ui)
{
"core": {
"disabledPackages": [
"grunt-runner"
]
}
}
# User
angularjs, v0.1.0
atom-jshint, v1.5.0
jsformat, v0.8.1
react, v0.11.8
terminal-panel, v1.14.1
terminal-status, v1.6.7
# Dev
No dev packages
If I name the file gruntfile.js, everything's happy.
But naming it Gruntfile.js (capital G), results in the following in the grunt-runner log:
Error loading gruntfile: Gruntfile not found.
Atom 1.0.0
grunt-runner 0.10.0
Arch Linux
I can rename the file or symlink to it as a workaround, but I believe the capital G is canonical.
I can only get this package to work if I open my project by cd-ing into the project directory and running the "atom" command. If I instead open a new Atom window and drag my project directory into it, I will get a "fatal error: unable to find local grunt" upon attempting to run a grunt command.
Love this plugin, the way it elegantly integrates grunt into the editor really shows why can Atom be a superior tool compared with other editor.
A small request though, any change we can get the plugin to support Gulp?
In fact it happens with any Grunt task.
Current leaving the field blank will not do anything, and inputting grunt
will just try to run grunt grunt
. Need an alias set for default
.
[Enter steps to reproduce below:]
Atom Version: 0.196.0
System: Mac OS X 10.10.3
Thrown From: grunt-runner package, v0.8.2
Failed to activate the grunt-runner package
At setTooltip is no longer available. Please use `atom.tooltips.add` instead.
See the docs at https://atom.io/docs/api/latest/TooltipManager#instance-add
Error: setTooltip is no longer available. Please use `atom.tooltips.add` instead.
See the docs at https://atom.io/docs/api/latest/TooltipManager#instance-add
at [object Object].$.fn.setTooltip (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:611:11)
at ResultsView.module.exports.ResultsView.initialize (/Users/doorgan/.atom/packages/grunt-runner/lib/grunt-runner-view.coffee:47:23)
at ResultsView.View (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:184:25)
at new ResultsView (/Users/doorgan/.atom/packages/grunt-runner/lib/grunt-runner-view.coffee:16:5)
at Object.module.exports.activate (/Users/doorgan/.atom/packages/grunt-runner/lib/grunt-runner.coffee:16:21)
at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:222:19)
at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:203:30
at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:147:15)
at Package.module.exports.Package.activate (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:195:14)
at PackageManager.module.exports.PackageManager.activatePackage (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:434:21)
at /Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:418:29
at Config.module.exports.Config.transact (/Applications/Atom.app/Contents/Resources/app.asar/src/config.js:311:16)
at PackageManager.module.exports.PackageManager.activatePackages (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:413:19)
at PackageManager.module.exports.PackageManager.activate (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:394:46)
at Atom.module.exports.Atom.startEditorWindow (/Applications/Atom.app/Contents/Resources/app.asar/src/atom.js:623:21)
at Object.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-bootstrap.js:12:8)
at Object.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-bootstrap.js:23:4)
at Module._compile (module.js:452:26)
at Object.loadFile [as .js] (/Applications/Atom.app/Contents/Resources/app.asar/src/babel.js:162:21)
at Module.load (module.js:347:32)
at Function.Module._load (module.js:302:12)
at Module.require (module.js:357:17)
at require (module.js:376:17)
at setupWindow (file:///Applications/Atom.app/Contents/Resources/app.asar/static/index.js:86:23)
at window.onload (file:///Applications/Atom.app/Contents/Resources/app.asar/static/index.js:38:7)
{
"core": {
"ignoredNames": [
".git",
".svn",
".DS_Store"
],
"themes": [
"one-dark-ui",
"base16-tomorrow-dark-theme"
]
}
}
# User
atom-ternjs, v0.5.24
autocomplete-plus, v2.12.1
color-picker, v1.7.0
grunt-runner, v0.8.2
linter, v0.12.1
linter-jscs, v1.11.0
linter-jshint, v0.1.2
# Dev
No dev packages
It would be helpful to have an indication of what the path for grunt-cli might be. I've tried everything but no luck. I'm on OSX and installed it with sudo npm install -g grunt-cli
Not sure if this is an atom-grunt-runner issue or an atom-project-manager issue, but here it goes: When I open a project with Project Manager, the gruntfile can't be found, even though gruntfile.js is listed in the root directory of the project in the file tree.
Strangely, when I open the project without using Project Manager, i.e. by clicking on a root file or running "atom" after cc-ing to the project directory, the gruntfile is found.
the panel this extension makes cannot be resized, perhaps issue #6 would fix this.
unsure whether this is windows specific.
After the last update, the panels don't open as before. Now i have to go and toggle panel for it to open an horizontal panel and then toggle log to show the default vertical log.
Is that the same behaviour as anybody else? @adam-h ?
Seems like the package does not work with nvm installations, grunt path already provided and throws the same error:
Failed to spawn command grunt. Make sure grunt is installed and on your PATH
I will try to fix it, but at this time, it doesn't works.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.