This is an automated email from the ASF dual-hosted git repository.
arosien pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/daffodil-vscode.git
The following commit(s) were added to refs/heads/main by this push:
new 75c3427 Support JDK 17 + JAXB reflection at runtime.
75c3427 is described below
commit 75c3427763616e33a1dd04b317f362e67b68597c
Author: Adam Rosien <[email protected]>
AuthorDate: Thu Aug 10 13:25:37 2023 -0700
Support JDK 17 + JAXB reflection at runtime.
Fixes #745.
- JDK 17 is detected at build time to enable the jvm flags during tests.
- Use the locate-java-home npm module to detect JVM version from within the
extension.
---
build.sbt | 11 +-
build/package/LICENSE | 45 ++++++
.../org.apache.daffodil.debugger/ParseSuite.scala | 8 +-
.../scala/org.apache.daffodil.tdml/TDMLSuite.scala | 4 +-
package.json | 2 +
src/daffodilDebugger/utils.ts | 66 ++++++++-
src/dataEditor/dataEditorClient.ts | 4 +-
src/utils.ts | 3 +-
yarn.lock | 156 +++++++++++----------
9 files changed, 203 insertions(+), 96 deletions(-)
diff --git a/build.sbt b/build.sbt
index 05f71ce..0df9a8a 100644
--- a/build.sbt
+++ b/build.sbt
@@ -47,6 +47,7 @@ lazy val commonSettings =
dependencyOverrides ++= Seq(
"org.apache.commons" % "commons-lang3" % "3.12.0"
),
+ fork := true, // needed to pass javaOptions to tests, for example
licenses += ("Apache-2.0", new
URL("https://www.apache.org/licenses/LICENSE-2.0.txt")),
maintainer := "Apache Daffodil <[email protected]>",
organization := "org.apache.daffodil",
@@ -107,9 +108,6 @@ lazy val debugger = project
packageName := s"${name.value}-$daffodilVer"
)
-lazy val javaMajorVersion: Int =
-
System.getProperty("java.version").stripPrefix("1.").takeWhile(_.isDigit).toInt
-lazy val isAtLeastJava17: Boolean = javaMajorVersion >= 17
/* Workaround: certain reflection (used by JAXB) isn't allowed by default in
JDK 17:
*
https://docs.oracle.com/en/java/javase/17/migrate/migrating-jdk-8-later-jdk-releases.html#GUID-7BB28E4D-99B3-4078-BDC4-FC24180CE82B
*
@@ -117,8 +115,8 @@ lazy val isAtLeastJava17: Boolean = javaMajorVersion >= 17
* a user's JVM version. We'll provide documentation and an extension setting
* to add these flags to the extension-launched debugger backend.
*/
-lazy val extraXjcJvmOpts: Seq[String] =
- if (isAtLeastJava17)
+lazy val extraJvmOptions: Seq[String] =
+ if (scala.util.Properties.isJavaAtLeast("17"))
Seq(
"--add-opens",
"java.base/java.lang=ALL-UNNAMED"
@@ -133,11 +131,12 @@ lazy val xjcSettings =
"org.apache.daffodil" %% "daffodil-lib" % daffodilVer % Test,
"org.glassfish.jaxb" % "jaxb-xjc" % "2.2.11"
),
+ Test / javaOptions ++= extraJvmOptions, // tests use JAXB at runtime
xjcCommandLine += "-nv",
xjcCommandLine += "-p",
xjcCommandLine += "org.apache.daffodil.tdml",
xjcBindings += "debugger/src/main/resources/bindings.xjb",
- xjcJvmOpts ++= extraXjcJvmOpts,
+ xjcJvmOpts ++= extraJvmOptions,
xjcLibs := Seq(
"org.glassfish.jaxb" % "jaxb-xjc" % "2.2.11",
"com.sun.xml.bind" % "jaxb-impl" % "2.2.11",
diff --git a/build/package/LICENSE b/build/package/LICENSE
index 07f335d..0990a26 100644
--- a/build/package/LICENSE
+++ b/build/package/LICENSE
@@ -681,6 +681,32 @@ conditions of the following licenses.
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE
SOFTWARE.
+- 'locate-java-home' in extension/dist/ext/extension.js
+- 'locate-java-home' in node_modules/@viperproject/locate-java-home
+ This product bundles 'locate-java-home' from the above files.
+ This package is available under the MIT License:
+ The MIT License (MIT)
+
+ Copyright (c) 2015 John Vilk
+
+ Permission is hereby granted, free of charge, to any person obtaining a
copy
+ of this software and associated documentation files (the "Software"), to
deal
+ in the Software without restriction, including without limitation the
rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
all
+ copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE
+ SOFTWARE.
+
- 'lodash.camelcase' in extension/dist/ext/extension.js
- 'lodash.camelcase' in node_modules/@omega-edit/client
This product bundles 'lodash.camelcase' from the above files.
@@ -1211,6 +1237,25 @@ conditions of the following licenses.
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE
SOFTWARE.
+- 'semver' in extension/dist/ext/extension.js
+- 'semver' in node_modules/semver
+
+ The ISC License
+
+ Copyright (c) Isaac Z. Schlueter and Contributors
+
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
- 'sonic-boom' in extension/dist/ext/extension.js
- 'sonic-boom' in node_modules/@omega-edit/client
This product bundles 'sonic-boom' from the above files.
diff --git
a/debugger/src/test/scala/org.apache.daffodil.debugger/ParseSuite.scala
b/debugger/src/test/scala/org.apache.daffodil.debugger/ParseSuite.scala
index ce86c3a..5f74852 100644
--- a/debugger/src/test/scala/org.apache.daffodil.debugger/ParseSuite.scala
+++ b/debugger/src/test/scala/org.apache.daffodil.debugger/ParseSuite.scala
@@ -24,8 +24,8 @@ class ParseSuite extends FunSuite {
val name = "Default Config"
val request = "launch"
val launchType = "dfdl"
- var program =
Paths.get("./debugger/src/test/data/emptySchema.dfdl.xsd").toAbsolutePath().toString()
- var data =
Paths.get("./debugger/src/test/data/emptyData.xml").toAbsolutePath().toString()
+ var program =
Paths.get("./src/test/data/emptySchema.dfdl.xsd").toAbsolutePath().toString()
+ var data =
Paths.get("./src/test/data/emptyData.xml").toAbsolutePath().toString()
val debugServer = 4711
val infosetFormat = "xml"
var infosetOutputType = "none"
@@ -46,8 +46,8 @@ class ParseSuite extends FunSuite {
var testTDMLObject = new JsonObject()
override def beforeEach(context: BeforeEach): Unit = {
- program =
Paths.get("./debugger/src/test/data/emptySchema.dfdl.xsd").toAbsolutePath().toString()
- data =
Paths.get("./debugger/src/test/data/emptyData.xml").toAbsolutePath().toString()
+ program =
Paths.get("./src/test/data/emptySchema.dfdl.xsd").toAbsolutePath().toString()
+ data =
Paths.get("./src/test/data/emptyData.xml").toAbsolutePath().toString()
infosetOutputType = "none"
infosetOutputPath = "testPath/infoset.xml"
tdmlAction = ""
diff --git a/debugger/src/test/scala/org.apache.daffodil.tdml/TDMLSuite.scala
b/debugger/src/test/scala/org.apache.daffodil.tdml/TDMLSuite.scala
index 9676b42..ebc8a3f 100644
--- a/debugger/src/test/scala/org.apache.daffodil.tdml/TDMLSuite.scala
+++ b/debugger/src/test/scala/org.apache.daffodil.tdml/TDMLSuite.scala
@@ -27,8 +27,8 @@ import scala.xml.XML
import java.nio.charset.StandardCharsets
class TDMLSuite extends munit.FunSuite {
- val basePath = Paths.get("./debugger/").toAbsolutePath()
- val basePathStr = "debugger/"
+ val basePath = Paths.get(".").toAbsolutePath()
+ val basePathStr = ""
val infosetPath =
Paths.get("./debugger/src/test/data/emptyInfoset.xml").toAbsolutePath()
val schemaPath =
Paths.get("./debugger/src/test/data/emptySchema.xml").toAbsolutePath()
val dataPath =
Paths.get("./debugger/src/test/data/emptyData.xml").toAbsolutePath()
diff --git a/package.json b/package.json
index 9e05752..74d95d2 100644
--- a/package.json
+++ b/package.json
@@ -51,6 +51,8 @@
"await-notify": "1.0.1",
"hexy": "0.3.4",
"jsonc-parser": "^3.2.0",
+ "@viperproject/locate-java-home": "1.1.13",
+ "semver": "^7.1.1",
"unzip-stream": "0.3.1",
"uuid": "9.0.0",
"wait-port": "1.0.4",
diff --git a/src/daffodilDebugger/utils.ts b/src/daffodilDebugger/utils.ts
index 0898c37..c8a9092 100644
--- a/src/daffodilDebugger/utils.ts
+++ b/src/daffodilDebugger/utils.ts
@@ -18,6 +18,9 @@
import * as vscode from 'vscode'
import * as path from 'path'
import * as child_process from 'child_process'
+import _locateJavaHome from '@viperproject/locate-java-home'
+import { IJavaHomeInfo } from
'@viperproject/locate-java-home/js/es5/lib/interfaces'
+import * as semver from 'semver'
import { LIB_VERSION } from '../version'
import { deactivate } from '../adapter/extension'
import { getDaffodilVersion } from './daffodil'
@@ -36,7 +39,14 @@ export const daffodilArtifact = (version: string): Artifact
=> {
export const stopDebugger = async (id: number | undefined = undefined) =>
child_process.exec(osCheck(`taskkill /F /PID ${id}`, `kill -9 ${id}`))
-export const shellArgs = (port: number) => ['--listenPort', `${port}`]
+export const shellArgs = (port: number, isAtLeastJdk17: boolean) => {
+ // Workaround: certain reflection (used by JAXB) isn't allowed by default in
JDK 17:
+ //
https://docs.oracle.com/en/java/javase/17/migrate/migrating-jdk-8-later-jdk-releases.html#GUID-7BB28E4D-99B3-4078-BDC4-FC24180CE82B
+ const extraArgs = isAtLeastJdk17
+ ? ['-J--add-opens', '-Jjava.base/java.lang=ALL-UNNAMED']
+ : []
+ return ['--listenPort', `${port}`].concat(extraArgs)
+}
export async function runDebugger(
rootPath: string,
@@ -52,21 +62,63 @@ export async function runDebugger(
rootPath,
`daffodil-debugger-${dfdlVersion}-${LIB_VERSION}`
)
+ // Locates the $JAVA_HOME, or if not defined, the highest version available.
+ const javaHome: IJavaHomeInfo | undefined = await new Promise(
+ (resolve, reject) => {
+ _locateJavaHome({ version: '>=1.8' }, (error, javaHomes) => {
+ console.log(`detected java homes: ${JSON.stringify(javaHomes)}`)
+ javaHomes
+ ? resolve(
+ process.env.JAVA_HOME
+ ? javaHomes.find(
+ (home, idx, obj) => home.path == process.env.JAVA_HOME
+ )
+ : latestJdk(javaHomes)
+ )
+ : undefined
+ })
+ }
+ )
+ const isAtLeastJdk17: boolean = parseFloat(javaHome?.version ?? '0') >= 17
+ console.log(
+ `choosing java home at ${javaHome?.path}, version ${javaHome?.version}, is
at least JDK 17: ${isAtLeastJdk17}`
+ )
+ // The backend's launch script honors $JAVA_HOME, but if not set it assumes
java is available on the path.
+ const env = javaHome
+ ? {
+ DAFFODIL_DEBUG_CLASSPATH: daffodilDebugClasspath,
+ DAFFODIL_DEBUG_LOG_LEVEL: dfdlDebugger.logging.level,
+ DAFFODIL_DEBUG_LOG_FILE: dfdlDebugger.logging.file,
+ JAVA_HOME: javaHome?.path,
+ }
+ : {
+ DAFFODIL_DEBUG_CLASSPATH: daffodilDebugClasspath,
+ DAFFODIL_DEBUG_LOG_LEVEL: dfdlDebugger.logging.level,
+ DAFFODIL_DEBUG_LOG_FILE: dfdlDebugger.logging.file,
+ }
return await runScript(
scriptPath,
artifact.scriptName,
createTerminal,
- shellArgs(serverPort),
- {
- DAFFODIL_DEBUG_CLASSPATH: daffodilDebugClasspath,
- DAFFODIL_DEBUG_LOG_LEVEL: dfdlDebugger.logging.level,
- DAFFODIL_DEBUG_LOG_FILE: dfdlDebugger.logging.file,
- },
+ shellArgs(serverPort, isAtLeastJdk17),
+ env,
'daffodil'
)
}
+function latestJdk(jdkHomes: IJavaHomeInfo[]): IJavaHomeInfo | undefined {
+ if (jdkHomes.length > 0) {
+ return jdkHomes.sort((a, b) => {
+ const byVersion = -semver.compare(a.version, b.version)
+ if (byVersion === 0) return b.security - a.security
+ else return byVersion
+ })[0]
+ } else {
+ return undefined
+ }
+}
+
// Function for stopping debugging
export async function stopDebugging() {
vscode.debug.stopDebugging()
diff --git a/src/dataEditor/dataEditorClient.ts
b/src/dataEditor/dataEditorClient.ts
index e98b31e..1ca350d 100644
--- a/src/dataEditor/dataEditorClient.ts
+++ b/src/dataEditor/dataEditorClient.ts
@@ -121,7 +121,7 @@ class HeartbeatInfo implements IHeartbeatInfo {
let activeSessions: string[] = []
let checkpointPath: string = ''
let client: EditorClient
-let getHeartbeatIntervalId: NodeJS.Timer | undefined = undefined
+let getHeartbeatIntervalId: NodeJS.Timeout | undefined = undefined
let heartbeatInfo: IHeartbeatInfo = new HeartbeatInfo()
let omegaEditPort: number = 0
@@ -153,7 +153,7 @@ export class DataEditorClient implements vscode.Disposable {
private omegaSessionId = ''
private contentType = ''
private fileSize = 0
- private sendHeartbeatIntervalId: NodeJS.Timer | undefined = undefined
+ private sendHeartbeatIntervalId: NodeJS.Timeout | undefined = undefined
constructor(
protected context: vscode.ExtensionContext,
diff --git a/src/utils.ts b/src/utils.ts
index e2866e1..b73c6a7 100644
--- a/src/utils.ts
+++ b/src/utils.ts
@@ -22,7 +22,6 @@ import * as child_process from 'child_process'
import path from 'path'
import { VSCodeLaunchConfigArgs } from './classes/vscode-launch'
-const defaultConf = vscode.workspace.getConfiguration()
let currentConfig: vscode.DebugConfiguration
const terminalName = 'daffodil-debugger'
@@ -84,6 +83,8 @@ export function getConfig(jsonArgs: object):
vscode.DebugConfiguration {
const launchConfigArgs: VSCodeLaunchConfigArgs = JSON.parse(
JSON.stringify(jsonArgs)
)
+ // NOTE: Don't make this a static value as extension configuration may
change while the extension is loaded.
+ const defaultConf = vscode.workspace.getConfiguration()
const defaultValues = {
program: defaultConf.get('program', '${command:AskForProgramName}'),
diff --git a/yarn.lock b/yarn.lock
index c35256a..668ec50 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3,11 +3,11 @@
"@babel/runtime@^7.21.0":
- version "7.22.6"
- resolved
"https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438"
- integrity
sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==
+ version "7.22.10"
+ resolved
"https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.10.tgz#ae3e9631fd947cb7e3610d3e9d8fef5f76696682"
+ integrity
sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==
dependencies:
- regenerator-runtime "^0.13.11"
+ regenerator-runtime "^0.14.0"
"@cspotcode/source-map-support@^0.8.0":
version "0.8.1"
@@ -68,12 +68,7 @@
"@jridgewell/sourcemap-codec" "^1.4.10"
"@jridgewell/trace-mapping" "^0.3.9"
-"@jridgewell/[email protected]":
- version "3.1.0"
- resolved
"https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
- integrity
sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
-
-"@jridgewell/resolve-uri@^3.0.3":
+"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0":
version "3.1.1"
resolved
"https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
integrity
sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
@@ -91,11 +86,6 @@
"@jridgewell/gen-mapping" "^0.3.0"
"@jridgewell/trace-mapping" "^0.3.9"
-"@jridgewell/[email protected]":
- version "1.4.14"
- resolved
"https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
- integrity
sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
-
"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13",
"@jridgewell/sourcemap-codec@^1.4.14":
version "1.4.15"
resolved
"https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
@@ -110,12 +100,12 @@
"@jridgewell/sourcemap-codec" "^1.4.10"
"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18",
"@jridgewell/trace-mapping@^0.3.9":
- version "0.3.18"
- resolved
"https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6"
- integrity
sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==
+ version "0.3.19"
+ resolved
"https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811"
+ integrity
sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==
dependencies:
- "@jridgewell/resolve-uri" "3.1.0"
- "@jridgewell/sourcemap-codec" "1.4.14"
+ "@jridgewell/resolve-uri" "^3.1.0"
+ "@jridgewell/sourcemap-codec" "^1.4.14"
"@nodelib/[email protected]":
version "2.1.5"
@@ -279,9 +269,9 @@
"@types/estree" "*"
"@types/eslint@*":
- version "8.44.1"
- resolved
"https://registry.yarnpkg.com/@types/eslint/-/eslint-8.44.1.tgz#d1811559bb6bcd1a76009e3f7883034b78a0415e"
- integrity
sha512-XpNDc4Z5Tb4x+SW1MriMVeIsMoONHCkWFMkR/aPJbzEsxqHy+4Glu/BqTdPrApfDeMaXbtNh6bseNgl5KaWrSg==
+ version "8.44.2"
+ resolved
"https://registry.yarnpkg.com/@types/eslint/-/eslint-8.44.2.tgz#0d21c505f98a89b8dd4d37fa162b09da6089199a"
+ integrity
sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==
dependencies:
"@types/estree" "*"
"@types/json-schema" "*"
@@ -356,9 +346,9 @@
integrity
sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==
"@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0",
"@types/node@^20.4.1":
- version "20.4.5"
- resolved
"https://registry.yarnpkg.com/@types/node/-/node-20.4.5.tgz#9dc0a5cb1ccce4f7a731660935ab70b9c00a5d69"
- integrity
sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==
+ version "20.5.0"
+ resolved
"https://registry.yarnpkg.com/@types/node/-/node-20.5.0.tgz#7fc8636d5f1aaa3b21e6245e97d56b7f56702313"
+ integrity
sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q==
"@types/pug@^2.0.6":
version "2.0.6"
@@ -385,9 +375,9 @@
integrity
sha512-ghW5SfuDmsGDS2A4xkvGsLwDRNc3Vj5rS6rPOyPm/IryZuf3wceZKxgYaUoW+k9f0f/CB7y2c1rRsdOWZWn0PQ==
"@types/vscode@^1.60.2":
- version "1.80.0"
- resolved
"https://registry.yarnpkg.com/@types/vscode/-/vscode-1.80.0.tgz#e004dd6cde74dafdb7fab64a6e1754bf8165b981"
- integrity
sha512-qK/CmOdS2o7ry3k6YqU4zD3R2AYlJfbwBoSbKpBoP+GpXNE+0NEgJOli4n0bm0diK5kfBnchgCEj4igQz/44Hg==
+ version "1.81.0"
+ resolved
"https://registry.yarnpkg.com/@types/vscode/-/vscode-1.81.0.tgz#c27228dd063002e0e00611be70b0497beaa24d39"
+ integrity
sha512-YIaCwpT+O2E7WOMq0eCgBEABE++SX3Yl/O02GoMIF2DO3qAtvw7m6BXFYsxnc6XyzwZgh6/s/UG78LSSombl2w==
"@types/ws@*":
version "8.5.5"
@@ -408,6 +398,14 @@
dependencies:
"@types/yargs-parser" "*"
+"@viperproject/[email protected]":
+ version "1.1.13"
+ resolved
"https://registry.yarnpkg.com/@viperproject/locate-java-home/-/locate-java-home-1.1.13.tgz#043ef24eadb93756ad78397597f79fab52086502"
+ integrity
sha512-xFUn+Xdhla/QpFGzhw0SVfqpfz+PO9jxDnXqiV5jeFVjzZHYAvLCXWIt1qG1gLZDiJy1LXB6rM9w6nqukUYdaw==
+ dependencies:
+ async "^3.2.3"
+ semver "^7.3.5"
+
"@vscode/[email protected]":
version "1.59.0"
resolved
"https://registry.yarnpkg.com/@vscode/debugadapter-testsupport/-/debugadapter-testsupport-1.59.0.tgz#d29b89f6285424435499e9bb5ad42e5db01f3a11"
@@ -466,9 +464,9 @@
keytar "^7.7.0"
"@vscode/vsce@^2.18.0":
- version "2.20.0"
- resolved
"https://registry.yarnpkg.com/@vscode/vsce/-/vsce-2.20.0.tgz#0e81dd9fcbd7ef35bb6aabb4b64aedfac58d9bf4"
- integrity
sha512-FR8Tq2WgGRi/Py5/9WUFG2DCxdqaHXyuhHXSP8hsNc1FsxNzAkqKqfvOUUGxA7gOytmc9s/000QA7wKVukMDbQ==
+ version "2.20.1"
+ resolved
"https://registry.yarnpkg.com/@vscode/vsce/-/vsce-2.20.1.tgz#c37c5867d23667ea3a468d3ec0309c40ae434937"
+ integrity
sha512-ilbvoqvR/1/zseRPBAzYR6aKqSJ+jvda4/BqIwOqTxajpvLtEpK3kMLs77+dJdrlygS+VrP7Yhad8j0ukyD96g==
dependencies:
azure-devops-node-api "^11.0.1"
chalk "^2.4.2"
@@ -764,6 +762,11 @@ assertion-error@^1.1.0:
resolved
"https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b"
integrity
sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==
+async@^3.2.3:
+ version "3.2.4"
+ resolved
"https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
+ integrity
sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
+
atomic-sleep@^1.0.0:
version "1.0.0"
resolved
"https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b"
@@ -980,9 +983,9 @@ caniuse-api@^3.0.0:
lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001517:
- version "1.0.30001518"
- resolved
"https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001518.tgz#b3ca93904cb4699c01218246c4d77a71dbe97150"
- integrity
sha512-rup09/e3I0BKjncL+FesTayKtPrdwKhUufQFd3riFw1hHg8JmIFoInYfB102cFcY/pPgGmdyl/iy+jgiDi2vdA==
+ version "1.0.30001520"
+ resolved
"https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001520.tgz#62e2b7a1c7b35269594cf296a80bdf8cb9565006"
+ integrity
sha512-tahF5O9EiiTzwTUqAeFjIZbn4Dnqxzz7ktrgGlMYNLH43Ul26IgTMH/zvL3DG0lZxBYnlT04axvInszUsZULdA==
chai@^4.3.7:
version "4.3.7"
@@ -1183,11 +1186,16 @@ commander@^9.3.0:
resolved
"https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30"
integrity
sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==
-compare-versions@^5.0.1, compare-versions@^5.0.3:
+compare-versions@^5.0.1:
version "5.0.3"
resolved
"https://registry.yarnpkg.com/compare-versions/-/compare-versions-5.0.3.tgz#a9b34fea217472650ef4a2651d905f42c28ebfd7"
integrity
sha512-4UZlZP8Z99MGEY+Ovg/uJxJuvoXuN4M6B3hKaiackiHrgzQFEe3diJi1mf1PNHbFujM7FvLrK2bpgIaImbtZ1A==
+compare-versions@^6.0.0:
+ version "6.1.0"
+ resolved
"https://registry.yarnpkg.com/compare-versions/-/compare-versions-6.1.0.tgz#3f2131e3ae93577df111dba133e6db876ffe127a"
+ integrity
sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==
+
[email protected]:
version "0.0.1"
resolved
"https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
@@ -1477,9 +1485,9 @@ duplexer2@~0.1.4:
readable-stream "^2.0.2"
electron-to-chromium@^1.4.477:
- version "1.4.477"
- resolved
"https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.477.tgz#05669aa6f161ee9076a6805457e9bd9fe6d0dfd1"
- integrity
sha512-shUVy6Eawp33dFBFIoYbIwLHrX0IZ857AlH9ug2o4rvbWmpaCUdBpQ5Zw39HRrfzAFm4APJE9V+E2A/WB0YqJw==
+ version "1.4.490"
+ resolved
"https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.490.tgz#d99286f6e915667fa18ea4554def1aa60eb4d5f1"
+ integrity
sha512-6s7NVJz+sATdYnIwhdshx/N/9O6rvMxmhVoDSDFdj6iA45gHR8EQje70+RYsF4GeB+k0IeNSBnP7yG9ZXJFr7A==
emoji-regex@^8.0.0:
version "8.0.0"
@@ -1973,9 +1981,9 @@ immediate@~3.0.5:
integrity
sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
immutable@^4.0.0:
- version "4.3.1"
- resolved
"https://registry.yarnpkg.com/immutable/-/immutable-4.3.1.tgz#17988b356097ab0719e2f741d56f3ec6c317f9dc"
- integrity
sha512-lj9cnmB/kVS0QHsJnYKD1uo3o39nrbKxszjnqS9Fr6NB7bZzW45U6WSGBPKXDL/CvDKqDNPA4r3DoDQ8GTxo2A==
+ version "4.3.2"
+ resolved
"https://registry.yarnpkg.com/immutable/-/immutable-4.3.2.tgz#f89d910f8dfb6e15c03b2cae2faaf8c1f66455fe"
+ integrity
sha512-oGXzbEDem9OOpDWZu88jGiYCvIsLHMvGw+8OXlpsvTFvIQplQbjg1B1cvKg8f7Hoch6+NGjpPsH1Fr+Mc2D1aA==
import-fresh@^3.2.1:
version "3.3.0"
@@ -2023,10 +2031,10 @@ is-binary-path@~2.1.0:
dependencies:
binary-extensions "^2.0.0"
-is-core-module@^2.11.0:
- version "2.12.1"
- resolved
"https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd"
- integrity
sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==
+is-core-module@^2.13.0:
+ version "2.13.0"
+ resolved
"https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
+ integrity
sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
dependencies:
has "^1.0.3"
@@ -2488,13 +2496,13 @@ [email protected]:
yargs-unparser "2.0.0"
monaco-page-objects@^3.5.1:
- version "3.8.0"
- resolved
"https://registry.yarnpkg.com/monaco-page-objects/-/monaco-page-objects-3.8.0.tgz#2fac19b213e3adb59fdfe3eb3c38485d306dc68a"
- integrity
sha512-/bsrTHul7KsZ1SmdQFHIdVZTU2Nr+odGpxZAJddWxanX1uEAreqE4H758wI9Ie3mZLFO798lPjv2zaUAi+kDFw==
+ version "3.9.0"
+ resolved
"https://registry.yarnpkg.com/monaco-page-objects/-/monaco-page-objects-3.9.0.tgz#a01c5b6b52715d4b12eb8a7e111cbbc8705401ce"
+ integrity
sha512-Hw5eJqYAhe/a83xziiIU113RVZ7vUOdyNCPxgjVN+JcKjuLzqgQcSRY0NRnQzfMmckpNUpNfcx6o1nKkiPZv4g==
dependencies:
clipboardy "^3.0.0"
clone-deep "^4.0.1"
- compare-versions "^5.0.3"
+ compare-versions "^6.0.0"
fs-extra "^11.1.1"
ts-essentials "^9.3.2"
@@ -3218,10 +3226,10 @@ rechoir@^0.8.0:
dependencies:
resolve "^1.20.0"
-regenerator-runtime@^0.13.11:
- version "0.13.11"
- resolved
"https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
- integrity
sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
+regenerator-runtime@^0.14.0:
+ version "0.14.0"
+ resolved
"https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45"
+ integrity
sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==
require-directory@^2.1.1:
version "2.1.1"
@@ -3256,11 +3264,11 @@ resolve-from@^5.0.0:
integrity
sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
resolve@^1.20.0:
- version "1.22.2"
- resolved
"https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f"
- integrity
sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==
+ version "1.22.4"
+ resolved
"https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34"
+ integrity
sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==
dependencies:
- is-core-module "^2.11.0"
+ is-core-module "^2.13.0"
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
@@ -3349,9 +3357,9 @@ sanitize-filename@^1.6.3:
truncate-utf8-bytes "^1.0.0"
sass@^1.57.1:
- version "1.64.1"
- resolved
"https://registry.yarnpkg.com/sass/-/sass-1.64.1.tgz#6a46f6d68e0fa5ad90aa59ce025673ddaa8441cf"
- integrity
sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ==
+ version "1.65.1"
+ resolved
"https://registry.yarnpkg.com/sass/-/sass-1.65.1.tgz#8f283b0c26335a88246a448d22e1342ba2ea1432"
+ integrity
sha512-9DINwtHmA41SEd36eVPQ9BJKpn7eKDQmUHmpI0y5Zv2Rcorrh0zS+cFrt050hdNbmmCNKTW3hV5mWfuegNRsEA==
dependencies:
chokidar ">=3.0.0 <4.0.0"
immutable "^4.0.0"
@@ -3382,9 +3390,9 @@ schema-utils@^4.0.0, schema-utils@^4.0.1:
ajv-keywords "^5.1.0"
selenium-webdriver@^4.8.1:
- version "4.10.0"
- resolved
"https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.10.0.tgz#0508cdfbb5ad8470d8fd19db1a69d3e87f474b79"
- integrity
sha512-hSQPw6jgc+ej/UEcdQPG/iBwwMeCEgZr9HByY/J8ToyXztEqXzU9aLsIyrlj1BywBcStO4JQK/zMUWWrV8+riA==
+ version "4.11.1"
+ resolved
"https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.11.1.tgz#6a84f68d06199d075e6c2a5448bf08f4249b98c8"
+ integrity
sha512-bvrnr3UZlLScErOmn8gV6cqc+1PYDHn0575CxUR2U14fMWt7OKxSy0lAThhZq4sq4d1HqP8ebz11oiHSlAQ2WA==
dependencies:
jszip "^3.10.1"
tmp "^0.2.1"
@@ -3395,7 +3403,7 @@ semver@^5.1.0:
resolved
"https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity
sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-semver@^7.3.4, semver@^7.3.5, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3:
+semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.8, semver@^7.5.2,
semver@^7.5.3:
version "7.5.4"
resolved
"https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
integrity
sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
@@ -3617,9 +3625,9 @@ supports-preserve-symlinks-flag@^1.0.0:
integrity
sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
svelte-check@^3.0.2:
- version "3.4.6"
- resolved
"https://registry.yarnpkg.com/svelte-check/-/svelte-check-3.4.6.tgz#d43de724ad89d1198c96770e9d23965d3379ad44"
- integrity
sha512-OBlY8866Zh1zHQTkBMPS6psPi7o2umTUyj6JWm4SacnIHXpWFm658pG32m3dKvKFL49V4ntAkfFHKo4ztH07og==
+ version "3.5.0"
+ resolved
"https://registry.yarnpkg.com/svelte-check/-/svelte-check-3.5.0.tgz#ebf2d29799bdd35d35d7c6298115726708e7e6e3"
+ integrity
sha512-KHujbn4k17xKYLmtCwv0sKKM7uiHTYcQvXnvrCcNU6a7hcszh99zFTIoiu/Sp/ewAw5aJmillJ1Cs8gKLmcX4A==
dependencies:
"@jridgewell/trace-mapping" "^0.3.17"
chokidar "^3.4.1"
@@ -3755,9 +3763,9 @@ terser@^5.16.8:
source-map-support "~0.5.20"
thread-stream@^2.0.0:
- version "2.3.0"
- resolved
"https://registry.yarnpkg.com/thread-stream/-/thread-stream-2.3.0.tgz#4fc07fb39eff32ae7bad803cb7dd9598349fed33"
- integrity
sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA==
+ version "2.4.0"
+ resolved
"https://registry.yarnpkg.com/thread-stream/-/thread-stream-2.4.0.tgz#5def29598d1d4171ba3bace7e023a71d87d99c07"
+ integrity
sha512-xZYtOtmnA63zj04Q+F9bdEay5r47bvpo1CaNqsKi7TpoJHcotUez8Fkfo2RJWpW91lnnaApdpRbVwCWsy+ifcw==
dependencies:
real-require "^0.2.0"
@@ -3959,9 +3967,9 @@ v8-compile-cache-lib@^3.0.1:
integrity
sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
vscode-extension-tester-locators@^3.4.1:
- version "3.6.0"
- resolved
"https://registry.yarnpkg.com/vscode-extension-tester-locators/-/vscode-extension-tester-locators-3.6.0.tgz#112f8173fd5d86c9e312a6eae16820ce9525608a"
- integrity
sha512-RjQf5XL33dJORl9ck5X0vhAHf93TOONPE4nb9nai/pDM15nYcD1TqMyzRGl/XxHpvBu/bP8MV/bHfCT6b8w2cQ==
+ version "3.7.0"
+ resolved
"https://registry.yarnpkg.com/vscode-extension-tester-locators/-/vscode-extension-tester-locators-3.7.0.tgz#c48454b00a9db1a0c2aebb48f52e162fcb57707a"
+ integrity
sha512-ML9RFOum8GoE4xggYNzUIanFOT4CWUDCK5LFraLEoJ+9rptA5PSLGC+uSPYVKNNU2pG946SPEC3ZJDetc/IeqA==
[email protected]:
version "5.5.3"