idea-nodesecurity
idea-nodesecurity copied to clipboard
Node Security plugin causing 2 fatal exceptions on IDE startup
Prerequisites
- [ x] Plugin is in the latest version
- [x ] Issue was not reported yet
- [x ] Stack trace (if provided) contains
mobi.hsz.idea.gitignore
package name
Description
Plugin causes 2 fatal errors on Intellij Startup
stacktrace 1
com.esotericsoftware.yamlbeans.YamlReader$YamlReaderException: Line 0, column 53: Expected data for a mobi.hsz.idea.nodesecurity.models.YarnLock field but found: scalar
at com.esotericsoftware.yamlbeans.YamlReader.readValueInternal(YamlReader.java:437)
at com.esotericsoftware.yamlbeans.YamlReader.readValue(YamlReader.java:138)
at com.esotericsoftware.yamlbeans.YamlReader.read(YamlReader.java:105)
at com.esotericsoftware.yamlbeans.YamlReader.read(YamlReader.java:92)
at mobi.hsz.idea.nodesecurity.scanner.YarnLockProvider.<init>(YarnLockProvider.kt:23)
at mobi.hsz.idea.nodesecurity.scanner.LockProvider$Companion.createProvider(LockProvider.kt:31)
at mobi.hsz.idea.nodesecurity.scanner.LockProvider$Companion.access$createProvider(LockProvider.kt:15)
at mobi.hsz.idea.nodesecurity.scanner.LockProvider$Companion$getProvider$$inlined$map$lambda$1.invoke(LockProvider.kt:19)
at mobi.hsz.idea.nodesecurity.scanner.LockProvider$Companion$getProvider$$inlined$map$lambda$1.invoke(LockProvider.kt:15)
at kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:131)
at mobi.hsz.idea.nodesecurity.scanner.LockProvider$Companion.getProvider(LockProvider.kt:20)
at mobi.hsz.idea.nodesecurity.scanner.LockProvider$Companion.access$getProvider(LockProvider.kt:15)
at mobi.hsz.idea.nodesecurity.scanner.LockProvider$Companion$get$1.invoke(LockProvider.kt:16)
at mobi.hsz.idea.nodesecurity.scanner.LockProvider$Companion$get$1.invoke(LockProvider.kt:15)
at mobi.hsz.idea.nodesecurity.utils.UtilsKt$memoize$1.invoke(Utils.kt:42)
at mobi.hsz.idea.nodesecurity.scanner.VulnerabilitiesScanner$Companion$scanFile$$inlined$let$lambda$1$2.invoke(VulnerabilitiesScanner.kt:30)
at mobi.hsz.idea.nodesecurity.scanner.VulnerabilitiesScanner$Companion$scanFile$$inlined$let$lambda$1$2.invoke(VulnerabilitiesScanner.kt:13)
at mobi.hsz.idea.nodesecurity.scanner.AdvisoryReference.or(AdvisoryReference.kt:11)
at mobi.hsz.idea.nodesecurity.scanner.VulnerabilitiesScanner$Companion$scanFile$$inlined$let$lambda$1.invoke(VulnerabilitiesScanner.kt:30)
at mobi.hsz.idea.nodesecurity.scanner.VulnerabilitiesScanner$Companion$scanFile$$inlined$let$lambda$1.invoke(VulnerabilitiesScanner.kt:13)
at mobi.hsz.idea.nodesecurity.scanner.VulnerabilitiesScanner$Companion$mapDependencies$1.doResume(VulnerabilitiesScanner.kt:57)
at kotlin.coroutines.experimental.jvm.internal.CoroutineImpl.resume(CoroutineImpl.kt:54)
at kotlin.coroutines.experimental.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:129)
at mobi.hsz.idea.nodesecurity.scanner.VulnerabilitiesScanner$Companion.isFileVulnerable(VulnerabilitiesScanner.kt:20)
at mobi.hsz.idea.nodesecurity.components.NodeSecurityProjectComponent$verifyFile$1.run(NodeSecurityProjectComponent.kt:55)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:902)
at mobi.hsz.idea.nodesecurity.components.NodeSecurityProjectComponent.verifyFile(NodeSecurityProjectComponent.kt:54)
at mobi.hsz.idea.nodesecurity.components.NodeSecurityProjectComponent.access$verifyFile(NodeSecurityProjectComponent.kt:21)
at mobi.hsz.idea.nodesecurity.components.NodeSecurityProjectComponent$projectOpened$1.run(NodeSecurityProjectComponent.kt:42)
at com.intellij.openapi.project.DumbServiceImpl.lambda$runWhenSmart$0(DumbServiceImpl.java:240)
at com.intellij.ide.startup.impl.StartupManagerImpl.runActivity(StartupManagerImpl.java:467)
at com.intellij.ide.startup.impl.StartupManagerImpl$1.lambda$run$0(StartupManagerImpl.java:260)
at com.intellij.openapi.project.DumbServiceImpl.lambda$runWhenSmart$0(DumbServiceImpl.java:240)
at com.intellij.ide.startup.impl.StartupManagerImpl.lambda$runWhenProjectIsInitialized$7(StartupManagerImpl.java:499)
at com.intellij.ui.GuiUtils.invokeLaterIfNeeded(GuiUtils.java:323)
at com.intellij.ide.startup.impl.StartupManagerImpl.runWhenProjectIsInitialized(StartupManagerImpl.java:485)
at com.intellij.openapi.project.DumbServiceImpl.runWhenSmart(DumbServiceImpl.java:232)
at com.intellij.ide.startup.impl.StartupManagerImpl$1.run(StartupManagerImpl.java:260)
at com.intellij.openapi.project.DumbServiceImpl.doRun(DumbServiceImpl.java:389)
at com.intellij.openapi.project.DumbServiceImpl.updateFinished(DumbServiceImpl.java:381)
at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:82)
at com.intellij.openapi.application.TransactionGuardImpl.lambda$pollQueueLater$0(TransactionGuardImpl.java:67)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:433)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:416)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:399)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:878)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:827)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:466)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:704)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:465)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
stacktrace 2
com.esotericsoftware.yamlbeans.YamlReader$YamlReaderException: Line 0, column 53: Expected data for a mobi.hsz.idea.nodesecurity.models.YarnLock field but found: scalar
at com.esotericsoftware.yamlbeans.YamlReader.readValueInternal(YamlReader.java:437)
at com.esotericsoftware.yamlbeans.YamlReader.readValue(YamlReader.java:138)
at com.esotericsoftware.yamlbeans.YamlReader.read(YamlReader.java:105)
at com.esotericsoftware.yamlbeans.YamlReader.read(YamlReader.java:92)
at mobi.hsz.idea.nodesecurity.scanner.YarnLockProvider.<init>(YarnLockProvider.kt:23)
at mobi.hsz.idea.nodesecurity.scanner.LockProvider$Companion.createProvider(LockProvider.kt:31)
at mobi.hsz.idea.nodesecurity.scanner.LockProvider$Companion.access$createProvider(LockProvider.kt:15)
at mobi.hsz.idea.nodesecurity.scanner.LockProvider$Companion$getProvider$$inlined$map$lambda$1.invoke(LockProvider.kt:19)
at mobi.hsz.idea.nodesecurity.scanner.LockProvider$Companion$getProvider$$inlined$map$lambda$1.invoke(LockProvider.kt:15)
at kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:131)
at mobi.hsz.idea.nodesecurity.scanner.LockProvider$Companion.getProvider(LockProvider.kt:20)
at mobi.hsz.idea.nodesecurity.scanner.LockProvider$Companion.access$getProvider(LockProvider.kt:15)
at mobi.hsz.idea.nodesecurity.scanner.LockProvider$Companion$get$1.invoke(LockProvider.kt:16)
at mobi.hsz.idea.nodesecurity.scanner.LockProvider$Companion$get$1.invoke(LockProvider.kt:15)
at mobi.hsz.idea.nodesecurity.utils.UtilsKt$memoize$1.invoke(Utils.kt:42)
at mobi.hsz.idea.nodesecurity.scanner.VulnerabilitiesScanner$Companion$scanFile$$inlined$let$lambda$1$2.invoke(VulnerabilitiesScanner.kt:30)
at mobi.hsz.idea.nodesecurity.scanner.VulnerabilitiesScanner$Companion$scanFile$$inlined$let$lambda$1$2.invoke(VulnerabilitiesScanner.kt:13)
at mobi.hsz.idea.nodesecurity.scanner.AdvisoryReference.or(AdvisoryReference.kt:11)
at mobi.hsz.idea.nodesecurity.scanner.VulnerabilitiesScanner$Companion$scanFile$$inlined$let$lambda$1.invoke(VulnerabilitiesScanner.kt:30)
at mobi.hsz.idea.nodesecurity.scanner.VulnerabilitiesScanner$Companion$scanFile$$inlined$let$lambda$1.invoke(VulnerabilitiesScanner.kt:13)
at mobi.hsz.idea.nodesecurity.scanner.VulnerabilitiesScanner$Companion$mapDependencies$1.doResume(VulnerabilitiesScanner.kt:57)
at kotlin.coroutines.experimental.jvm.internal.CoroutineImpl.resume(CoroutineImpl.kt:54)
at kotlin.coroutines.experimental.SequenceBuilderIterator.hasNext(SequenceBuilder.kt:129)
at mobi.hsz.idea.nodesecurity.scanner.VulnerabilitiesScanner$Companion.isFileVulnerable(VulnerabilitiesScanner.kt:20)
at mobi.hsz.idea.nodesecurity.components.NodeSecurityProjectComponent$verifyFile$1.run(NodeSecurityProjectComponent.kt:55)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:902)
at mobi.hsz.idea.nodesecurity.components.NodeSecurityProjectComponent.verifyFile(NodeSecurityProjectComponent.kt:54)
at mobi.hsz.idea.nodesecurity.components.NodeSecurityProjectComponent.access$verifyFile(NodeSecurityProjectComponent.kt:21)
at mobi.hsz.idea.nodesecurity.components.NodeSecurityProjectComponent$psiTreeChangeListener$1.childrenChanged(NodeSecurityProjectComponent.kt:28)
at com.intellij.psi.impl.PsiManagerImpl.fireEvent(PsiManagerImpl.java:398)
at com.intellij.psi.impl.PsiManagerImpl.childrenChanged(PsiManagerImpl.java:304)
at com.intellij.psi.impl.BlockSupportImpl.sendAfterChildrenChangedEvent(BlockSupportImpl.java:437)
at com.intellij.pom.core.impl.PomModelImpl.commitTransaction(PomModelImpl.java:250)
at com.intellij.pom.core.impl.PomModelImpl.lambda$null$1(PomModelImpl.java:199)
at com.intellij.psi.impl.DebugUtil.performPsiModification(DebugUtil.java:564)
at com.intellij.pom.core.impl.PomModelImpl.lambda$runTransaction$2(PomModelImpl.java:144)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeNonCancelableSection(CoreProgressManager.java:192)
at com.intellij.pom.core.impl.PomModelImpl.runTransaction(PomModelImpl.java:135)
at com.intellij.psi.impl.DiffLog.lambda$doActualPsiChange$0(DiffLog.java:267)
at com.intellij.psi.impl.source.codeStyle.CodeStyleManagerImpl.lambda$performActionWithFormatterDisabled$6(CodeStyleManagerImpl.java:700)
at com.intellij.psi.impl.source.PostprocessReformattingAspect.disablePostprocessFormattingInside(PostprocessReformattingAspect.java:108)
at com.intellij.psi.impl.source.codeStyle.CodeStyleManagerImpl.lambda$performActionWithFormatterDisabled$8(CodeStyleManagerImpl.java:729)
at com.intellij.formatting.FormatterImpl.runWithFormattingDisabled(FormatterImpl.java:691)
at com.intellij.psi.impl.source.codeStyle.CodeStyleManagerImpl.performActionWithFormatterDisabled(CodeStyleManagerImpl.java:727)
at com.intellij.psi.impl.source.codeStyle.CodeStyleManagerImpl.performActionWithFormatterDisabled(CodeStyleManagerImpl.java:699)
at com.intellij.psi.impl.DiffLog.doActualPsiChange(DiffLog.java:255)
at com.intellij.psi.impl.DocumentCommitThread.lambda$doCommit$8(DocumentCommitThread.java:702)
at com.intellij.psi.impl.PsiDocumentManagerBase.commitToExistingPsi(PsiDocumentManagerBase.java:395)
at com.intellij.psi.impl.PsiDocumentManagerBase.lambda$finishCommitInWriteAction$1(PsiDocumentManagerBase.java:367)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:591)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:537)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:59)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeNonCancelableSection(CoreProgressManager.java:197)
at com.intellij.psi.impl.PsiDocumentManagerBase.finishCommitInWriteAction(PsiDocumentManagerBase.java:362)
at com.intellij.psi.impl.PsiDocumentManagerImpl.finishCommitInWriteAction(PsiDocumentManagerImpl.java:145)
at com.intellij.psi.impl.PsiDocumentManagerBase$1.run(PsiDocumentManagerBase.java:323)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:994)
at com.intellij.psi.impl.PsiDocumentManagerBase.finishCommit(PsiDocumentManagerBase.java:330)
at com.intellij.psi.impl.DocumentCommitThread.lambda$createFinishCommitInEDTRunnable$5(DocumentCommitThread.java:488)
at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:82)
at com.intellij.openapi.application.TransactionGuardImpl.lambda$submitTransaction$1(TransactionGuardImpl.java:106)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:433)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:416)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:399)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:878)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:827)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:466)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:704)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:465)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Steps to Reproduce
- Start Intellij
Expected behavior: No error event reported by IDE
Actual behavior: What actually happens IDE reports fatal error Reproduces how often: What percentage of the time does it reproduce? 100% of the time
Versions
Plugin: 0.4.0
IDE: Build version: IntelliJ IDEA 2019.2.4 Build #IU-192.7142.36 October 28, 2019 Java version: 11.0.4+10-b304.77x86_64 Operating System: Mac OS X (10.15, x86_64) JVM version: OpenJDK 64-Bit Server VM JetBrains s.r.o
OS: MacOS 10.15 (19A583)
Additional Information
Using Yarn 1.19.1
package.json
{
"name": "admin-app",
"version": "0.1.0",
"private": true,
"dependencies": {
"@rowno/sparkline": "^4.0.0",
"apexcharts": "^3.8.3",
"bootstrap": "^4.3.1",
"bootstrap-social": "^5.1.1",
"chart.js": "^2.8.0",
"codemirror": "^5.48.2",
"documentation": "^12.1.4",
"dompurify": "^2.0.7",
"flag-icon-css": "^3.3.0",
"formik": "^1.5.8",
"fullcalendar-reactwrapper": "^1.0.7",
"google-map-react": "^1.1.4",
"jquery": "^3.4.1",
"namor": "^1.1.2",
"node-sass": "^4.12.0",
"rc-slider": "^8.6.13",
"react": "^16.9.0",
"react-animations": "^1.0.0",
"react-apexcharts": "^1.3.3",
"react-bootstrap": "^1.0.0-beta.12",
"react-bootstrap-sweetalert": "^4.4.1",
"react-calendar": "^2.19.0",
"react-chartjs-2": "^2.7.6",
"react-codemirror2": "^6.0.0",
"react-color": "^2.17.3",
"react-datepicker": "^2.8.0",
"react-datetime": "^2.16.3",
"react-dom": "^16.9.0",
"react-downcount": "^1.0.2",
"react-html-id": "^0.1.5",
"react-input-mask": "^2.0.4",
"react-notifications-component": "^1.1.1",
"react-nvd3": "^0.5.7",
"react-perfect-scrollbar": "^1.5.3",
"react-quill": "^1.3.3",
"react-redux": "^7.1.1",
"react-router": "^5.1.2",
"react-scripts": "3.1.1",
"react-select": "^3.0.4",
"react-table": "^6.10.0",
"react-tag-autocomplete": "^5.11.1",
"reactstrap": "^8.0.1",
"recompose": "^0.30.0",
"redux": "^4.0.4",
"simple-line-icons": "^2.4.1",
"validate.js": "^0.13.1",
"validator": "^11.1.0"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"lint": "eslint ."
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"eslint": "^6.6.0",
"eslint-plugin-babel": "^5.3.0",
"eslint-plugin-jest": "^23.0.3",
"eslint-plugin-jsdoc": "^18.0.0",
"eslint-plugin-node": "^10.0.0",
"eslint-plugin-prettier": "^3.1.1",
"eslint-plugin-react": "^7.16.0",
"eslint-plugin-react-hooks": "^2.2.0",
"eslint-plugin-xss": "^0.1.9",
"react-router-dom": "^5.0.1"
}
}
Installed Plugins
Custom plugins: [CheckStyle-IDEA (5.34.0)
IdeaVim (0.54)
Lombok (0.27-2019.2)
Rainglow Color Schemes (1.5.2)
Angular 2 TypeScript Live Templates (2.0.0)
Floobits (1.6.7)
logstash config support (0.5-2019.2)
Dark Purple Theme (1.1)
File Watchers (192.6603.8)
Dash (3.3)
nginx Support (0.1.9)
Protobuf Support (0.13.0)
.ignore (3.2.2.192)
Node Security (0.4.0)
CodeGlance (1.5.4)
HOCON (2019.2.2)
BashSupport (1.7.15.192)
Kotlin (1.3.60-release-IJ2019.2-1)
LiveEdit (192.6262.9)
PHP (192.7142.51)
React-Templates (1.1.2)
Prettier (192.6603.8)
Jasmine (1.5)
Python (2019.2.192.7142.36)]
Disabled plugins:[OpenShift integration (192.7142.36)
Perforce (192.7142.36)
Subversion (192.7142.36)
ZKM-Unscramble (192.7142.36)
Copyright (192.7142.36)
Reactor (192.7142.36)
Guice (192.7142.36)
TestNG (192.7142.36)
Time Tracking (192.7142.36)
UI Designer (192.7142.36)
ChangeReminder (192.7142.36)
Performance Testing (192.7142.36)
ASP (192.7142.36)
Remote Hosts Access (192.7142.36)
Gherkin (192.7142.36)
Cucumber for Java (192.7142.36)
Mercurial (192.7142.36)
CFML (192.7142.36)
GlassFish (192.7142.36)
Heroku (192.7142.36)
WildFly (192.7142.36)
Resin Integration (192.7142.36)
Geronimo Integration (192.7142.36)
WebSphere Integration (192.7142.36)
WebLogic Integration (192.7142.36)
Hibernate (192.7142.36)
Tapestry (192.7142.36)
Cucumber for Groovy (192.7142.36)
Eclipse Interoperability (192.7142.36)
OSGi (192.7142.36)
Haml (192.7142.36)
JavaFX (192.7142.36)
Stylus (192.7142.36)
Flash/Flex (192.7142.36)
JBoss Seam (192.7142.36)
JBoss Seam Pageflow (192.7142.36)
JBoss Seam Pages (192.7142.36)
Cloud Foundry (192.7142.36)
Virgo/dmServer (192.7142.36)
FreeMarker (192.7142.36)
GWT (192.7142.36)
Google App Engine (192.7142.36)
Vaadin (192.7142.36)
Struts 2 (192.7142.36)
HTTP Client (192.7142.36)
CoffeeScript (192.7142.36)
Shell Script (192.7142.36)
SSH Remote Run (192.7142.36)
Markdown Navigator (2.7.0)
Nyan Progress Bar (1.12)]