Closed biznickman closed 8 years ago
Can't repro with this example
I’ve also run into this issue with JSCS 3.0.5 and found a reduced test case that triggers the error:
export default function openPage (state, payload = {}) {
const pageProps = {
...payload,
focused: true
};
return state.concat(pageProps);
}
Specifically, the error is triggered by adding the object spread (...payload,
) to the object literal. I also noticed that the --fix part of the JSCS linter still works when it generates this error.
As an aside, I was saddened to learn that JSCS is being deprecated. Thanks so much to all the contributors for building such an immensely useful tool, and for leading the way in regards to implementing tools that accurately and safely auto-fix your code based on the linting rules of that code base.
Also, the stack trace:
internalError Error running rule requireDollarBeforejQueryAssignment: This is an issue with JSCS and not your codebase.
Please file an issue (with the stack trace below) at: https://github.com/jscs-dev/node-jscs/issues/new
TypeError: Cannot read property 'name' of undefined
at /Users/brandcast/.atom/packages/linter-jscs/node_modules/jscs/lib/rules/require-dollar-before-jquery-assignment.js:142:30
at Array.forEach (native)
at Object. (/Users/brandcast/.atom/packages/linter-jscs/node_modules/jscs/lib/rules/require-dollar-before-jquery-assignment.js:139:23)
at Array.forEach (native)
at Object.JsFile.iterateNodesByType (/Users/brandcast/.atom/packages/linter-jscs/node_modules/jscs/lib/js-file.js:331:42)
at Object.module.exports.check (/Users/brandcast/.atom/packages/linter-jscs/node_modules/jscs/lib/rules/require-dollar-before-jquery-assignment.js:72:14)
at [object Object]. (/Users/brandcast/.atom/packages/linter-jscs/node_modules/jscs/lib/string-checker.js:189:22)
at Array.forEach (native)
at [object Object].StringChecker._checkJsFile (/Users/brandcast/.atom/packages/linter-jscs/node_modules/jscs/lib/string-checker.js:185:31)
at [object Object].StringChecker.checkString (/Users/brandcast/.atom/packages/linter-jscs/node_modules/jscs/lib/string-checker.js:92:14)
at Object.lint (/Users/brandcast/.atom/packages/linter-jscs/src/linter-jscs.js:207:14)
at promises.push.Promise.then._this.emitter.emit.linter (/Users/brandcast/.atom/packages/linter/lib/linter-registry.js:63:26)
at /Users/brandcast/.atom/packages/linter/lib/linter-registry.js:62:23
at Set.forEach (native)
at LinterRegistry.lint (/Users/brandcast/.atom/packages/linter/lib/linter-registry.js:60:18)
at /Users/brandcast/.atom/packages/linter/lib/linter.coffee:98:16
at Function.module.exports.Emitter.simpleDispatch (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
at Emitter.module.exports.Emitter.emit (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
at /Users/brandcast/.atom/packages/linter/lib/editor-linter.js:30:20
at Function.module.exports.Emitter.simpleDispatch (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
at Emitter.module.exports.Emitter.emit (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
at TextBuffer.module.exports.TextBuffer.saveAs (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1113:27)
at TextBuffer.module.exports.TextBuffer.save (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1083:19)
at TextEditor.module.exports.TextEditor.save (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/text-editor.js:660:26)
at Pane.module.exports.Pane.saveItem (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/pane.js:718:18)
at Pane.module.exports.Pane.saveActiveItem (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/pane.js:701:19)
at Workspace.module.exports.Workspace.saveActivePaneItem (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/workspace.js:684:35)
at atom-workspace.commandRegistry.add.core:save (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/register-default-commands.js:214:32)
at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
at /opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:98:36)
at HTMLDocument. (/opt/homebrew-cask/Caskroom/atom/1.0.2/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)at line 1 col 1
Hm, works for me, could you try again? If it still doesn't work would you mind creating separate issue about it?
Not sure what's going on here but the following error is showing up on a file that starts wit:
Here's the error: