idok / sass-lint-plugin

SASS Lint plugin for Intellij
https://plugins.jetbrains.com/plugin/8171
MIT License
31 stars 5 forks source link

IllegalArgumentException when opening settings in PhpStorm 2016.2 #10

Closed stefangrund closed 8 years ago

stefangrund commented 8 years ago

Great plugin, but since upgrading to PhpStorm 2016.2 we're experiencing the following error after configuring the Sass Lint plugin and opening Storm's settings afterwards:

IllegalArgumentException: cannot create configurable component: path doesn't exist

Also .idea/sasslintPlugin.xml loses it's path configuration after that.

Our work-around was to change the XML file's permission to read-only, but maybe there's a better way to fix this in a future update. Thanks! :)

paesku commented 8 years ago

I run into the same issue. Webstorm 2016.2 throws following error:

cannot create configurable component: path doesn't exist
java.lang.IllegalArgumentException: path doesn't exist
    at com.wix.nodejs.NodeRunner.createCommandLine(NodeRunner.java:40)
    at com.sasslint.cli.SassLintRunner.createCommandLine(SassLintRunner.java:99)
    at com.sasslint.cli.SassLintRunner.version(SassLintRunner.java:79)
    at com.sasslint.cli.SassLintRunner.runVersion(SassLintRunner.java:90)
    at com.sasslint.settings.SassLintSettingsPage.getVersion(SassLintSettingsPage.java:185)
    at com.sasslint.settings.SassLintSettingsPage.validate(SassLintSettingsPage.java:165)
    at com.sasslint.settings.SassLintSettingsPage.update(SassLintSettingsPage.java:126)
    at com.sasslint.settings.SassLintSettingsPage.access$300(SassLintSettingsPage.java:39)
    at com.sasslint.settings.SassLintSettingsPage$4.run(SassLintSettingsPage.java:119)
    at com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(UIUtil.java:2397)
    at com.sasslint.settings.SassLintSettingsPage.updateLaterInEDT(SassLintSettingsPage.java:117)
    at com.sasslint.settings.SassLintSettingsPage.access$200(SassLintSettingsPage.java:39)
    at com.sasslint.settings.SassLintSettingsPage$3.textChanged(SassLintSettingsPage.java:103)
    at com.intellij.ui.DocumentAdapter.insertUpdate(DocumentAdapter.java:27)
    at javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:201)
    at javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:748)
    at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:707)
    at javax.swing.text.PlainDocument.insertString(PlainDocument.java:130)
    at javax.swing.text.AbstractDocument.replace(AbstractDocument.java:669)
    at javax.swing.text.JTextComponent.setText(JTextComponent.java:1669)
    at javax.swing.plaf.basic.BasicComboBoxEditor$BorderlessTextField.setText(BasicComboBoxEditor.java:144)
    at com.intellij.ui.TextFieldWithHistory.setText(TextFieldWithHistory.java:77)
    at com.sasslint.settings.SassLintSettingsPage.loadSettings(SassLintSettingsPage.java:291)
    at com.sasslint.settings.SassLintSettingsPage.createComponent(SassLintSettingsPage.java:249)
    at com.intellij.openapi.options.ex.ConfigurableCardPanel$1.compute(ConfigurableCardPanel.java:71)
    at com.intellij.openapi.options.ex.ConfigurableCardPanel$1.compute(ConfigurableCardPanel.java:65)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:866)
    at com.intellij.openapi.options.ex.ConfigurableCardPanel.create(ConfigurableCardPanel.java:65)
    at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:70)
    at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:67)
    at com.intellij.ui.CardLayoutPanel.a(CardLayoutPanel.java:88)
    at com.intellij.ui.CardLayoutPanel.b(CardLayoutPanel.java:116)
    at com.intellij.ui.CardLayoutPanel.a(CardLayoutPanel.java:132)
    at com.intellij.openapi.application.TransactionGuardImpl$6.run(TransactionGuardImpl.java:291)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.a(LaterInvocator.java:326)
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:310)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
    at com.intellij.ide.IdeEventQueue.h(IdeEventQueue.java:863)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:699)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:385)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
    at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184)
    at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229)
    at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227)
    at java.awt.Dialog.show(Dialog.java:1084)
    at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:778)
    at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:455)
    at com.intellij.openapi.ui.DialogWrapper.invokeShow(DialogWrapper.java:1665)
    at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1607)
    at com.intellij.openapi.options.newEditor.SettingsDialog.access$101(SettingsDialog.java:41)
    at com.intellij.openapi.options.newEditor.SettingsDialog.a(SettingsDialog.java:77)
    at com.intellij.openapi.project.DumbPermissionServiceImpl.allowStartingDumbModeInside(DumbPermissionServiceImpl.java:37)
    at com.intellij.openapi.project.DumbService.allowStartingDumbModeInside(DumbService.java:283)
    at com.intellij.openapi.options.newEditor.SettingsDialog.show(SettingsDialog.java:77)
    at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:94)
    at com.intellij.ide.actions.ShowSettingsAction.actionPerformed(ShowSettingsAction.java:62)
    at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:197)
    at com.intellij.openapi.application.TransactionGuardImpl.a(TransactionGuardImpl.java:88)
    at com.intellij.openapi.application.TransactionGuardImpl.submitTransactionAndWait(TransactionGuardImpl.java:156)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:211)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:587)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.a(IdeKeyEventDispatcher.java:634)
    at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:199)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:633)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.d(IdeKeyEventDispatcher.java:477)
    at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:211)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:677)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:385)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

When navigating to Preferences/Other Settings/Sass Lint it says 'Select configuration element in the tree to edit settings'

any ideas to enable this plugin?

mtheoryx commented 8 years ago

Also seeing this in Webstorm 2016.2. Preferences are empty, and event log just fills up with exceptions above.

paesku commented 8 years ago

It seems that #8 and #9 point into the same direction.

mtheoryx commented 8 years ago

I believe you're right. I never used the plugin before Webstorm 2016.2, but I know at least these three issues are reproducible in this version (and other Jetbrains products, from the sound of it).

paesku commented 8 years ago

I just downloaded the latest Webstorm on a Linux to reproduce the error.

First everything goes well, installing the plugin and do the settings. But after apply it failes somehow and the settings tab is no longer available. It claims that 'SassLint bin path is not a file. Path /home/paesku/.npm-packages/lib/node_modules/sass-lint not found in project', which seems to be my fault. It offers me a Fix Configuration link that then throws the above mentioned error.

Even reinstalling this plugin doesn't change anything.

``