idea-nodesecurity icon indicating copy to clipboard operation
idea-nodesecurity copied to clipboard

Node Security plugin causing 2 fatal exceptions on IDE startup

Open dmaselbas opened this issue 4 years ago • 0 comments

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 image

image

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

  1. 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)]

dmaselbas avatar Nov 24 '19 04:11 dmaselbas