This is an automated email from the ASF dual-hosted git repository.
shanedell 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 778d818 Multiple updates:
778d818 is described below
commit 778d8182f46b13d1588a2d5582d0642416ac7251
Author: Shane Dell <[email protected]>
AuthorDate: Wed Jul 19 09:12:15 2023 -0400
Multiple updates:
- Use webpack for doing most packaging tasks instead of using a manual TS
script for everything.
- Update webpack to automatically extract out the debugger package to
./daffodil-debugger-${daffodilVersion}-${extVersion}.
- This allowed for the code to unzip the debugger in the extension to be
removed.
- This also allows for easier running of the debugger.
- No longer extract the package out to somewhere else on the user system.
- The extracted debugger folder with the bin and lib dirs are bundled
with the extension source.
- Update scalawatch to build scala code then generate the version.ts, this
will ensure the updated debugger package gets unzipped.
- Move location of webpack files as now there are two.
- webpack/ext-dev.webpack.config.js - used when running locally.
- webpack/ext-package.webpack.config.js - used when creating a package.
- Remove build/scripts directory.
- Move build/scripts/yarn-scripts.ts to build/yarn-scripts.ts
- Remove .vscodeignore, gets automatically created during the packaging to
ignore node_modules.
- Remove Backend class and archiveUrl method from Artifact class
- Remove execSync commands from yarn-scripts.ts
Closes #692
Closes #711
---
.gitignore | 2 +
.prettierignore | 2 +-
README.md | 3 +-
build/extension.webpack.config.js | 57 ----------
build/package/.vscodeignore | 36 -------
build/scripts/package.ts | 93 -----------------
build/{scripts => }/yarn-scripts.ts | 66 ++++++++++--
debugger/nodemon.json | 2 +-
package.json | 20 ++--
src/classes/artifact.ts | 14 +--
src/daffodilDebugger/debugger.ts | 58 +----------
src/daffodilDebugger/utils.ts | 25 +----
src/tests/suite/daffodilDebugger.test.ts | 8 +-
src/utils.ts | 17 ---
tsconfig.json | 2 +-
webpack/ext-dev.webpack.config.js | 105 +++++++++++++++++++
webpack/ext-package.webpack.config.js | 161 +++++++++++++++++++++++++++++
yarn.lock | 172 ++++++++++++++++++++++++++++++-
18 files changed, 510 insertions(+), 333 deletions(-)
diff --git a/.gitignore b/.gitignore
index d05bd99..e7cd193 100644
--- a/.gitignore
+++ b/.gitignore
@@ -60,6 +60,8 @@ omega-edit-grpc-server*
# ignore tests unzip daffodil-debugger
daffodil-debugger-*
+**/bin
+**/lib
# ignore generated schema files
server/sbtXjc/resources/xsd/*.xsd
diff --git a/.prettierignore b/.prettierignore
index 7826943..ea1fade 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -14,7 +14,7 @@
# limitations under the License.
# Ignore artifacts
-build
+build/package
coverage
out
dist
diff --git a/README.md b/README.md
index e663207..f7af384 100644
--- a/README.md
+++ b/README.md
@@ -67,13 +67,12 @@ Run full package
```
* This command performs the following tasks:
- * Create sbt zip package
+ * Create sbt zip package and unzip it
* Install dependencies
* Compiles Extension
* Packages Extension
* Creates Files
```
- debugger/target/universal/daffodil-debugger-*.zip
apache-daffodil-vscode-*.vsix
```
diff --git a/build/extension.webpack.config.js
b/build/extension.webpack.config.js
deleted file mode 100644
index a4be276..0000000
--- a/build/extension.webpack.config.js
+++ /dev/null
@@ -1,57 +0,0 @@
-
-/*---------------------------------------------------------------------------------------------
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for
license information.
-
*--------------------------------------------------------------------------------------------*/
-
-//@ts-check
-'use strict';
-
-//@ts-check
-/** @typedef {import('webpack').Configuration} WebpackConfig **/
-
-const path = require('path');
-
-module.exports = /** @type WebpackConfig */ {
- context: path.dirname(__dirname),
- mode: 'none', // this leaves the source code as close as possible to
the original (when packaging we set this to 'production')
- target: 'node', // vscode extensions run in a Node.js-context
- entry: {
- extension: './src/adapter/extension.ts'
- },
- resolve: { // support reading TypeScript and JavaScript files
- extensions: ['.ts', '.js']
- },
- node: {
- __dirname: false, // leave the __dirname-behaviour intact
- },
- module: {
- rules: [{
- test: /\.ts$/,
- exclude: /node_modules/,
- use: [{
- // configure TypeScript loader:
- // * enable sources maps for end-to-end source
maps
- loader: 'ts-loader',
- options: {
- compilerOptions: {
- 'sourceMap': true,
- 'declaration': false
- }
- }
- }]
- }]
- },
- externals: {
- vscode: "commonjs vscode" // the vscode-module is created
on-the-fly and must be excluded. Add other modules that cannot be webpack'ed
- },
- output: {
- filename: 'extension.js',
- path: path.resolve(__dirname, '../dist/ext'),
- libraryTarget: 'commonjs2',
- devtoolModuleFilenameTemplate: "../../[resource-path]",
- hashFunction: "sha512",
- clean: true, // makes sure the output directory is remade
- },
- devtool: 'source-map'
-}
diff --git a/build/package/.vscodeignore b/build/package/.vscodeignore
deleted file mode 100644
index 2ead549..0000000
--- a/build/package/.vscodeignore
+++ /dev/null
@@ -1,36 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-*
-*/**
-!dist/ext/extension.js
-!images/*
-!LICENSE
-!NOTICE
-!package.json
-!README.md
-!debugger/target/universal/daffodil-debugger-*.zip
-!language/*
-!language/syntaxes/*
-!src/launchWizard/launchWizard.js
-!src/styles/styles.css
-!src/omega_edit/omega_edit.js
-!src/omega_edit/interface.html
-!node_modules/@omega-edit/server/bin
-!node_modules/@omega-edit/server/lib
-!src/language/providers/intellisense/DFDLGeneralFormat.dfdl.xsd
-!dist/styles.css
-!dist/views/dataEditor/index.js
-!src/svelte/package.json
diff --git a/build/scripts/package.ts b/build/scripts/package.ts
deleted file mode 100644
index 9a9e587..0000000
--- a/build/scripts/package.ts
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// @ts-nocheck <-- This is needed as this file is basically a JavaScript script
-// but with some TypeScript niceness baked in
-const fs = require('fs')
-const path = require('path')
-const glob = require('glob')
-const execSync = require('child_process').execSync
-const pkg_dir = 'dist/package'
-
-async function copyGlob(pattern, dir = '.') {
- glob(pattern, { cwd: dir }, (error, files) => {
- for (var i = 0; i < files.length; i++) {
- let src = path.join(dir, files[i])
- let dst = path.join(pkg_dir, files[i])
- let dstDir = path.dirname(dst)
-
- fs.mkdirSync(dstDir, { recursive: true })
-
- if (fs.statSync(src).isFile()) {
- if (src.toString() == 'package.json') {
- let updatedLines = fs
- .readFileSync(src, 'utf-8')
- .replace(
- '\t\t"postinstall": "cd src/svelte && yarn install",\n',
- ''
- )
-
- fs.writeFileSync(dst, updatedLines, 'utf-8')
- continue
- }
-
- fs.copyFileSync(src, dst)
- }
- }
- })
-}
-
-// Setup package directory
-function setup() {
- if (fs.existsSync(pkg_dir)) {
- fs.rmSync(pkg_dir, { recursive: true })
- }
-
- fs.mkdirSync(pkg_dir)
-
- let lines = fs
- .readFileSync('build/package/.vscodeignore')
- .toString()
- .split('\n')
-
- // Copy all files listed in the .vscodeignore
- for (var i = 0; i < lines.length; i++) {
- var line = lines[i]
-
- if (!line.startsWith('!')) continue
-
- let pattern = line.substring(1).trim()
-
- copyGlob(pattern)
- }
-
- // Copy required package files into package directory
- copyGlob('{.,}*', 'build/package') // include hidden files
-
- fs.copyFileSync('yarn.lock', `${pkg_dir}/yarn.lock`)
-}
-
-// Create VSIX package
-function create() {
- execSync('yarn install', { cwd: pkg_dir })
- execSync('yarn vsce package --out ../../', { cwd: pkg_dir })
-}
-
-module.exports = {
- setup: setup,
- create: create,
-}
diff --git a/build/scripts/yarn-scripts.ts b/build/yarn-scripts.ts
similarity index 57%
rename from build/scripts/yarn-scripts.ts
rename to build/yarn-scripts.ts
index f4d51d3..9014b7c 100644
--- a/build/scripts/yarn-scripts.ts
+++ b/build/yarn-scripts.ts
@@ -17,19 +17,24 @@
// @ts-nocheck <-- This is needed as this file is basically a JavaScript script
// but with some TypeScript niceness baked in
+const path = require('path')
const fs = require('fs')
const glob = require('glob')
const nodemon = require('nodemon')
const concurrently = require('concurrently')
function rmFileOrDirectory(path) {
- if (fs.existsSync(path))
- fs.rmSync(path, { recursive: true })
+ if (fs.existsSync(path)) fs.rmSync(path, { recursive: true })
}
function genVersionTS() {
- const version =
JSON.stringify(require('../../package.json').version).replace(/"/g, "'")
- fs.writeFileSync('./src/version.ts', `/*
+ const version = JSON.stringify(require('../package.json').version).replace(
+ /"/g,
+ "'"
+ )
+ fs.writeFileSync(
+ './src/version.ts',
+ `/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
@@ -47,13 +52,23 @@ function genVersionTS() {
*/
export const LIB_VERSION = ${version}
-`)
+`
+ )
}
-const nodeclean = () =>
- ['out', 'dist'].forEach((dir) => rmFileOrDirectory(dir))
+const nodeclean = () => {
+ ;['out', 'dist'].forEach((dir) => rmFileOrDirectory(dir))
+ glob('daffodil-debugger-*', { cwd: '.' }, (err, files) => {
+ if (err) {
+ console.log(err)
+ return
+ }
-function scalaclean() {
+ files.forEach((dir) => rmFileOrDirectory(dir))
+ })
+}
+
+const scalaclean = () => {
glob('**/target', { cwd: '.' }, (err, files) => {
if (err) {
console.log(err)
@@ -67,9 +82,9 @@ function scalaclean() {
function watch() {
concurrently(
[
- "yarn scalawatch",
- "webpack --watch --devtool nosources-source-map --config
./build/extension.webpack.config.js",
- "yarn watch:svelte"
+ 'yarn scalawatch',
+ 'webpack --watch --devtool nosources-source-map --config
./webpack/ext-dev.webpack.config.js',
+ 'yarn watch:svelte',
],
{
killOthers: ['failure', 'success'],
@@ -77,9 +92,38 @@ function watch() {
)
}
+function package() {
+ const pkg_dir = 'dist/package'
+
+ // create .vscodeignore to not package all node_modules into the vsix
+ fs.writeFileSync(
+ path.join(pkg_dir, '.vscodeignore'),
+ `# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+**/node_modules/**/*
+!node_modules/@omega-edit/server/bin
+!node_modules/@omega-edit/server/lib
+`
+ )
+}
+
module.exports = {
genVersionTS: genVersionTS,
nodeclean: nodeclean,
scalaclean: scalaclean,
watch: watch,
+ package: package,
}
diff --git a/debugger/nodemon.json b/debugger/nodemon.json
index d4dd3a0..efb2388 100644
--- a/debugger/nodemon.json
+++ b/debugger/nodemon.json
@@ -3,7 +3,7 @@
"**/target/**"
],
"verbose": true,
- "exec": "yarn sbt",
+ "exec": "yarn sbt && yarn gen-version-ts",
"watch": [
"debugger",
"project",
diff --git a/package.json b/package.json
index e4954da..a9c82f5 100644
--- a/package.json
+++ b/package.json
@@ -24,23 +24,22 @@
},
"scripts": {
"postinstall": "cd src/svelte && yarn install",
- "gen-version-ts": "run-func build/scripts/yarn-scripts.ts genVersionTS",
- "nodeclean": "run-func build/scripts/yarn-scripts.ts nodeclean",
- "scalaclean": "run-func build/scripts/yarn-scripts.ts scalaclean",
+ "gen-version-ts": "run-func build/yarn-scripts.ts genVersionTS",
+ "nodeclean": "run-func build/yarn-scripts.ts nodeclean",
+ "scalaclean": "run-func build/yarn-scripts.ts scalaclean",
"clean": "yarn nodeclean && yarn scalaclean",
"precompile": "yarn nodeclean && yarn gen-version-ts && cd src/svelte &&
yarn build",
"compile": "tsc -p ./ && yarn sbt",
"lint": "yarn prettier src -c && cd src/svelte && yarn lint",
"lint:fix": "yarn prettier src -w && cd src/svelte && yarn lint:fix",
"scalawatch": "nodemon --config debugger/nodemon.json",
- "prewatch": "yarn gen-version-ts",
- "watch": "run-func build/scripts/yarn-scripts.ts watch",
+ "prewatch": "yarn gen-version-ts && yarn sbt",
+ "watch": "run-func build/yarn-scripts.ts watch",
"watch:svelte": "cd src/svelte && yarn dev",
- "webpack": "webpack --mode production --config
./build/extension.webpack.config.js",
- "prepackage": "yarn install && yarn compile && yarn webpack",
- "package": "yarn package-setup && yarn package-create",
- "package-setup": "run-func build/scripts/package.ts setup",
- "package-create": "run-func build/scripts/package.ts create",
+ "webpack": "webpack --mode production --config
./webpack/ext-dev.webpack.config.js",
+ "webpack:pkg": "webpack --mode production --config
./webpack/ext-package.webpack.config.js",
+ "prepackage": "yarn install && yarn compile && yarn webpack:pkg",
+ "package": "run-func build/yarn-scripts.ts package && yarn --cwd
dist/package install && yarn --cwd dist/package vsce package --out ../../",
"pretest": "yarn compile && yarn webpack",
"test": "sbt test && node ./out/tests/runTest.js",
"sbt": "sbt debugger/Universal/packageBin"
@@ -66,6 +65,7 @@
"@vscode/vsce": "2.19.0",
"chai": "^4.3.7",
"concurrently": "^7.0.0",
+ "copy-webpack-plugin": "^11.0.0",
"glob": "8.0.3",
"mocha": "10.2.0",
"prettier": "2.8.8",
diff --git a/src/classes/artifact.ts b/src/classes/artifact.ts
index d802dfb..7888dd8 100644
--- a/src/classes/artifact.ts
+++ b/src/classes/artifact.ts
@@ -18,13 +18,10 @@
import { LIB_VERSION } from '../version'
import { osCheck } from '../utils'
-export class Backend {
- constructor(readonly owner: string, readonly repo: string) {}
-}
-
export class Artifact {
name: string
archive: string
+ folder: string
scriptName: string
constructor(
@@ -36,14 +33,7 @@ export class Artifact {
? `${type}-${this.version}-${LIB_VERSION}`
: `${type}-${this.version}`
this.archive = `${this.name}.zip`
+ this.folder = `${this.name}`
this.scriptName = osCheck(`${baseScriptName}.bat`, `./${baseScriptName}`)
}
-
- archiveUrl = (backend: Backend) => {
- if (this.type.includes('omega-edit')) {
- return
`https://github.com/${backend.owner}/${backend.repo}/releases/download/v${this.version}/${this.archive}`
- } else {
- return ''
- }
- }
}
diff --git a/src/daffodilDebugger/debugger.ts b/src/daffodilDebugger/debugger.ts
index c701b6f..a7fb514 100644
--- a/src/daffodilDebugger/debugger.ts
+++ b/src/daffodilDebugger/debugger.ts
@@ -17,42 +17,9 @@
import * as vscode from 'vscode'
import * as fs from 'fs'
-import XDGAppPaths from 'xdg-app-paths'
import * as path from 'path'
import { regexp, getConfig } from '../utils'
-import {
- daffodilArtifact,
- daffodilVersion,
- extractDebugger,
- runDebugger,
- stopDebugger,
- stopDebugging,
-} from './utils'
-
-const xdgAppPaths = XDGAppPaths({ name: 'daffodil-dap' })
-
-// Class for getting release data
-export class Release {
- name: string
- zipballUrl: string
- tarballUrl: string
- commit: JSON
- nodeId: string
-
- constructor(
- name: string,
- zipballUrl: string,
- tarballUrl: string,
- commit: JSON,
- nodeId: string
- ) {
- this.name = name
- this.zipballUrl = zipballUrl
- this.tarballUrl = tarballUrl
- this.commit = commit
- this.nodeId = nodeId
- }
-}
+import { runDebugger, stopDebugger, stopDebugging } from './utils'
// Function to get data file given a folder
export async function getDataFileFromFolder(dataFolder: string) {
@@ -207,22 +174,9 @@ export async function getDebugger(
config: vscode.DebugConfiguration
) {
config = getConfig(config) // make sure all config attributes are set
- const artifact = daffodilArtifact(
- daffodilVersion(context.asAbsolutePath('./package.json'))
- )
- // If useExistingServer var set to false make sure version of debugger
entered is downloaded then ran
if (!config.useExistingServer) {
if (vscode.workspace.workspaceFolders !== undefined) {
- let rootPath = xdgAppPaths.data()
-
- // If data and app directories for storing debugger does not exist
create them
- if (!fs.existsSync(rootPath)) {
- fs.mkdirSync(rootPath, { recursive: true })
- }
-
- await extractDebugger(context, artifact.archive, rootPath)
-
await stopDebugger()
if (!(await getTDMLConfig(config))) {
@@ -239,16 +193,8 @@ export async function getDebugger(
workspaceFolder
)
- // Start debugger in terminal based on scriptName
-
- /*
- * For Mac if /bin/bash --login -c not used errors about compiled
version versus
- * currently being used java version. Not sure if its needed for linux
but it
- * being there will cause no issues.
- */
-
await runDebugger(
- rootPath,
+ context.asAbsolutePath('./'),
daffodilDebugClasspath,
context.asAbsolutePath('./package.json'),
config.debugServer,
diff --git a/src/daffodilDebugger/utils.ts b/src/daffodilDebugger/utils.ts
index 62e068d..93af30d 100644
--- a/src/daffodilDebugger/utils.ts
+++ b/src/daffodilDebugger/utils.ts
@@ -23,7 +23,7 @@ import { deactivate } from '../adapter/extension'
import { getDaffodilVersion } from './daffodil'
import { Artifact } from '../classes/artifact'
import { DFDLDebugger } from '../classes/dfdlDebugger'
-import { osCheck, runScript, unzipFile } from '../utils'
+import { osCheck, runScript } from '../utils'
export const daffodilVersion = (filePath: string): string => {
return getDaffodilVersion(filePath)
@@ -53,12 +53,6 @@ export async function runDebugger(
`daffodil-debugger-${dfdlVersion}-${LIB_VERSION}`
)
- /*
- * For Mac if /bin/bash --login -c not used errors about compiled version
versus
- * currently being used java version. Not sure if its needed for linux but it
- * being there will cause no issues.
- */
-
return await runScript(
scriptPath,
artifact.scriptName,
@@ -81,20 +75,3 @@ export async function stopDebugging() {
await stopDebugger(id)
})
}
-
-export async function extractDebugger(
- context: vscode.ExtensionContext,
- artifactArchive: string,
- rootPath: string
-) {
- // Get daffodil-debugger zip from extension files
- const filePath = path
- .join(
- context.asAbsolutePath('./debugger/target/universal'),
- artifactArchive
- )
- .toString()
-
- // Unzip file
- await unzipFile(filePath, rootPath)
-}
diff --git a/src/tests/suite/daffodilDebugger.test.ts
b/src/tests/suite/daffodilDebugger.test.ts
index f028156..3fbe338 100644
--- a/src/tests/suite/daffodilDebugger.test.ts
+++ b/src/tests/suite/daffodilDebugger.test.ts
@@ -20,7 +20,7 @@ import * as assert from 'assert'
import * as path from 'path'
import * as fs from 'fs'
import { PROJECT_ROOT, PACKAGE_PATH, TEST_SCHEMA } from './common'
-import { getConfig, killProcess, unzipFile } from '../../utils'
+import { getConfig, killProcess } from '../../utils'
import {
daffodilArtifact,
daffodilVersion,
@@ -36,11 +36,6 @@ suite('Daffodil Debugger', () => {
const dfdlVersion = daffodilVersion(PACKAGE_PATH)
const artifact = daffodilArtifact(dfdlVersion)
- const SCALA_PATH = path.join(
- PROJECT_ROOT,
- 'debugger/target/universal',
- artifact.archive
- )
const EXTRACTED_FOLDER = path.join(PROJECT_ROOT, artifact.name)
// debugger options
@@ -81,7 +76,6 @@ suite('Daffodil Debugger', () => {
]
before(async () => {
- await unzipFile(SCALA_PATH, PROJECT_ROOT)
debuggers.push(
await runDebugger(
PROJECT_ROOT,
diff --git a/src/utils.ts b/src/utils.ts
index cf1cfd6..a462047 100644
--- a/src/utils.ts
+++ b/src/utils.ts
@@ -17,7 +17,6 @@
import * as vscode from 'vscode'
import * as fs from 'fs'
-import * as unzip from 'unzip-stream'
import * as os from 'os'
import * as child_process from 'child_process'
import path from 'path'
@@ -133,22 +132,6 @@ export function getConfig(jsonArgs: object):
vscode.DebugConfiguration {
return JSON.parse(JSON.stringify(launchConfigArgs))
}
-export async function unzipFile(zipFilePath: string, extractPath: string) {
- return await new Promise((resolve, reject) => {
- let stream = fs
- .createReadStream(zipFilePath)
- .pipe(unzip.Extract({ path: `${extractPath}` }) as NodeJS.WritableStream)
-
- stream.on('close', () => {
- try {
- resolve(zipFilePath)
- } catch (err) {
- reject(err)
- }
- })
- })
-}
-
export async function displayTerminalExitStatus(terminal: vscode.Terminal) {
vscode.window.onDidCloseTerminal((t) => {
if (t.name === terminal.name && t.processId === terminal.processId) {
diff --git a/tsconfig.json b/tsconfig.json
index d428d08..56a079c 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -44,7 +44,7 @@
},
"exclude": [
"node_modules",
- "build/scripts",
+ "build/yarn-scripts.ts",
"src/svelte",
"test-resources"
]
diff --git a/webpack/ext-dev.webpack.config.js
b/webpack/ext-dev.webpack.config.js
new file mode 100644
index 0000000..1d64fef
--- /dev/null
+++ b/webpack/ext-dev.webpack.config.js
@@ -0,0 +1,105 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
license information.
+
*--------------------------------------------------------------------------------------------*/
+
+//@ts-check
+'use strict'
+
+//@ts-check
+/** @typedef {import('webpack').Configuration} WebpackConfig **/
+
+const path = require('path')
+const unzip = require('unzip-stream')
+const fs = require('fs')
+
+const packageData = JSON.parse(
+ fs.readFileSync(path.resolve('package.json')).toString()
+)
+const pkg_version = packageData['version']
+const daffodilVersion = packageData['daffodilVersion']
+const serverPackage = `daffodil-debugger-${daffodilVersion}-${pkg_version}`
+const zipFilePath = path.resolve(
+ `debugger/target/universal/${serverPackage}.zip`
+)
+
+module.exports = /** @type WebpackConfig */ {
+ context: path.dirname(__dirname),
+ mode: 'none', // this leaves the source code as close as possible to the
original (when packaging we set this to 'production')
+ target: 'node', // vscode extensions run in a Node.js-context
+ entry: {
+ extension: './src/adapter/extension.ts',
+ },
+ resolve: {
+ // support reading TypeScript and JavaScript files
+ extensions: ['.ts', '.js'],
+ },
+ node: {
+ __dirname: false, // leave the __dirname-behaviour intact
+ },
+ module: {
+ rules: [
+ {
+ test: /\.ts$/,
+ exclude: /node_modules/,
+ use: [
+ {
+ // configure TypeScript loader:
+ // * enable sources maps for end-to-end source maps
+ loader: 'ts-loader',
+ options: {
+ compilerOptions: {
+ sourceMap: true,
+ declaration: false,
+ },
+ },
+ },
+ ],
+ },
+ ],
+ },
+ externals: {
+ vscode: 'commonjs vscode', // the vscode-module is created on-the-fly and
must be excluded. Add other modules that cannot be webpack'ed
+ },
+ output: {
+ filename: 'extension.js',
+ path: path.resolve(__dirname, '../dist/ext'),
+ libraryTarget: 'commonjs2',
+ devtoolModuleFilenameTemplate: '../../[resource-path]',
+ hashFunction: 'sha512',
+ clean: true, // makes sure the output directory is remade
+ },
+ devtool: 'source-map',
+ plugins: [
+ {
+ // unzip server package file
+ apply: (compiler) => {
+ compiler.hooks.done.tap('extra', async () => {
+ const serverPackageFolder = path.join(
+ path.resolve('dist/package'),
+ serverPackage
+ )
+
+ // remove debugger package folder if exists
+ if (fs.existsSync(serverPackageFolder)) {
+ fs.rmSync(serverPackageFolder, { recursive: true })
+ }
+
+ await new Promise(async (resolve, reject) =>
+ fs
+ .createReadStream(zipFilePath)
+ // @ts-ignore
+ .pipe(unzip.Extract({ path: '.' }))
+ .on('close', async () => {
+ try {
+ resolve(zipFilePath)
+ } catch (err) {
+ reject(err)
+ }
+ })
+ )
+ })
+ },
+ },
+ ],
+}
diff --git a/webpack/ext-package.webpack.config.js
b/webpack/ext-package.webpack.config.js
new file mode 100644
index 0000000..ab342e0
--- /dev/null
+++ b/webpack/ext-package.webpack.config.js
@@ -0,0 +1,161 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+//@ts-check
+'use strict'
+
+//@ts-check
+/** @typedef {import('webpack').Configuration} WebpackConfig **/
+
+// import packages
+const path = require('path')
+const unzip = require('unzip-stream')
+const fs = require('fs')
+const CopyPlugin = require('copy-webpack-plugin')
+
+const pkg_dir = path.resolve('dist/package')
+
+const packageData = JSON.parse(
+ fs.readFileSync(path.resolve('package.json')).toString()
+)
+const pkg_version = packageData['version']
+const daffodilVersion = packageData['daffodilVersion']
+const serverPackage = `daffodil-debugger-${daffodilVersion}-${pkg_version}`
+const zipFilePath = path.resolve(
+ `debugger/target/universal/${serverPackage}.zip`
+)
+
+module.exports = /** @type WebpackConfig */ {
+ context: path.dirname(__dirname),
+ mode: 'none', // this leaves the source code as close as possible to the
original (when packaging we set this to 'production')
+ target: 'node', // vscode extensions run in a Node.js-context
+ entry: {
+ extension: './src/adapter/extension.ts',
+ },
+ resolve: {
+ // support reading TypeScript and JavaScript files
+ extensions: ['.ts', '.js'],
+ },
+ node: {
+ __dirname: false, // leave the __dirname-behaviour intact
+ },
+ module: {
+ rules: [
+ {
+ test: /\.ts$/,
+ exclude: /node_modules/,
+ use: [
+ {
+ // configure TypeScript loader:
+ // * enable sources maps for end-to-end source maps
+ loader: 'ts-loader',
+ options: {
+ compilerOptions: {
+ sourceMap: true,
+ declaration: false,
+ },
+ },
+ },
+ ],
+ },
+ ],
+ },
+ externals: {
+ vscode: 'commonjs vscode', // the vscode-module is created on-the-fly and
must be excluded. Add other modules that cannot be webpack'ed
+ },
+ output: {
+ filename: 'extension.js',
+ path: path.resolve(__dirname, '../dist/package/dist/ext'),
+ libraryTarget: 'commonjs2',
+ devtoolModuleFilenameTemplate: '../../[resource-path]',
+ hashFunction: 'sha512',
+ clean: true, // makes sure the output directory is remade
+ },
+ devtool: 'source-map',
+ plugins: [
+ new CopyPlugin({
+ patterns: [
+ // { from: 'build/package/.vscodeignore', to: pkg_dir },
+ { from: 'build/package/LICENSE', to: `${pkg_dir}` },
+ { from: 'build/package/NOTICE', to: `${pkg_dir}` },
+ { from: 'dist/styles.css', to: `${pkg_dir}/dist/styles.css` },
+ {
+ from: 'dist/views/dataEditor/index.js',
+ to: `${pkg_dir}/dist/views/dataEditor/index.js`,
+ },
+ { from: 'images', to: `${pkg_dir}/images` },
+ { from: 'language', to: `${pkg_dir}/language` },
+ { from: 'package.json', to: `${pkg_dir}` },
+ {
+ from: 'node_modules/@omega-edit/server/bin',
+ to: `${pkg_dir}/node_modules/@omega-edit/server/bin`,
+ },
+ {
+ from: 'node_modules/@omega-edit/server/lib',
+ to: `${pkg_dir}/node_modules/@omega-edit/server/lib`,
+ },
+ {
+ from:
'src/language/providers/intellisense/DFDLGeneralFormat.dfdl.xsd',
+ to:
`${pkg_dir}/src/language/providers/intellisense/DFDLGeneralFormat.dfdl.xsd`,
+ },
+ {
+ from: 'src/launchWizard/launchWizard.js',
+ to: `${pkg_dir}/src/launchWizard/launchWizard.js`,
+ },
+ {
+ from: 'src/styles/styles.css',
+ to: `${pkg_dir}/src/styles/styles.css`,
+ },
+ {
+ from: 'src/svelte/package.json',
+ to: `${pkg_dir}/src/svelte/package.json`,
+ },
+ ],
+ }),
+ {
+ apply: (compiler) => {
+ compiler.hooks.done.tap('extra', async () => {
+ // remove debugger package folder if exists
+ const serverPackageFolder = path.join(
+ path.resolve('dist/package'),
+ serverPackage
+ )
+
+ // remove debugger package folder if exists
+ if (fs.existsSync(serverPackageFolder)) {
+ fs.rmSync(serverPackageFolder, { recursive: true })
+ }
+
+ // unzip debugger package file
+ await new Promise(async (resolve, reject) =>
+ fs
+ .createReadStream(zipFilePath)
+ // @ts-ignore
+ .pipe(unzip.Extract({ path: 'dist/package' }))
+ .on('close', async () => {
+ try {
+ resolve(zipFilePath)
+ } catch (err) {
+ reject(err)
+ }
+ })
+ )
+ })
+ },
+ },
+ ],
+}
diff --git a/yarn.lock b/yarn.lock
index 44bd735..d2e7f34 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -91,6 +91,27 @@
"@jridgewell/resolve-uri" "3.1.0"
"@jridgewell/sourcemap-codec" "1.4.14"
+"@nodelib/[email protected]":
+ version "2.1.5"
+ resolved
"https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+ integrity
sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.5"
+ run-parallel "^1.1.9"
+
+"@nodelib/[email protected]", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.5"
+ resolved
"https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+ integrity
sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
+"@nodelib/fs.walk@^1.2.3":
+ version "1.2.8"
+ resolved
"https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
+ integrity
sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.5"
+ fastq "^1.6.0"
+
"@omega-edit/[email protected]":
version "0.9.63"
resolved
"https://registry.yarnpkg.com/@omega-edit/client/-/client-0.9.63.tgz#495479f52beb8cdc4330b97b2981a2cb90ea9f2b"
@@ -252,6 +273,11 @@
resolved
"https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
integrity
sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
+"@types/json-schema@^7.0.9":
+ version "7.0.12"
+ resolved
"https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb"
+ integrity
sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==
+
"@types/keyv@^3.1.4":
version "3.1.4"
resolved
"https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6"
@@ -542,11 +568,25 @@ agent-base@6:
dependencies:
debug "4"
+ajv-formats@^2.1.1:
+ version "2.1.1"
+ resolved
"https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520"
+ integrity
sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==
+ dependencies:
+ ajv "^8.0.0"
+
ajv-keywords@^3.5.2:
version "3.5.2"
resolved
"https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
integrity
sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
+ajv-keywords@^5.1.0:
+ version "5.1.0"
+ resolved
"https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16"
+ integrity
sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==
+ dependencies:
+ fast-deep-equal "^3.1.3"
+
ajv@^6.12.5:
version "6.12.6"
resolved
"https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
@@ -557,6 +597,16 @@ ajv@^6.12.5:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
+ajv@^8.0.0, ajv@^8.9.0:
+ version "8.12.0"
+ resolved
"https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1"
+ integrity
sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ json-schema-traverse "^1.0.0"
+ require-from-string "^2.0.2"
+ uri-js "^4.2.2"
+
[email protected]:
version "4.1.1"
resolved
"https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
@@ -1023,6 +1073,18 @@ concurrently@^7.0.0:
tree-kill "^1.2.2"
yargs "^17.3.1"
+copy-webpack-plugin@^11.0.0:
+ version "11.0.0"
+ resolved
"https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a"
+ integrity
sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==
+ dependencies:
+ fast-glob "^3.2.11"
+ glob-parent "^6.0.1"
+ globby "^13.1.1"
+ normalize-path "^3.0.0"
+ schema-utils "^4.0.0"
+ serialize-javascript "^6.0.0"
+
core-util-is@~1.0.0:
version "1.0.3"
resolved
"https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
@@ -1132,6 +1194,13 @@ diff@^4.0.1:
resolved
"https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
integrity
sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
+dir-glob@^3.0.1:
+ version "3.0.1"
+ resolved
"https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
+ integrity
sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+ dependencies:
+ path-type "^4.0.0"
+
dom-serializer@^2.0.0:
version "2.0.0"
resolved
"https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53"
@@ -1303,11 +1372,22 @@ expand-template@^2.0.3:
resolved
"https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
integrity
sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
-fast-deep-equal@^3.1.1:
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved
"https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity
sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+fast-glob@^3.2.11, fast-glob@^3.3.0:
+ version "3.3.0"
+ resolved
"https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.0.tgz#7c40cb491e1e2ed5664749e87bfb516dbe8727c0"
+ integrity
sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.2"
+ merge2 "^1.3.0"
+ micromatch "^4.0.4"
+
fast-json-stable-stringify@^2.0.0:
version "2.1.0"
resolved
"https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
@@ -1323,6 +1403,13 @@ fastest-levenshtein@^1.0.12:
resolved
"https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5"
integrity
sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==
+fastq@^1.6.0:
+ version "1.15.0"
+ resolved
"https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a"
+ integrity
sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
+ dependencies:
+ reusify "^1.0.4"
+
fd-slicer@~1.1.0:
version "1.1.0"
resolved
"https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
@@ -1435,13 +1522,20 @@ [email protected]:
resolved
"https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
integrity
sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==
-glob-parent@~5.1.2:
+glob-parent@^5.1.2, glob-parent@~5.1.2:
version "5.1.2"
resolved
"https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity
sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
dependencies:
is-glob "^4.0.1"
+glob-parent@^6.0.1:
+ version "6.0.2"
+ resolved
"https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
+ integrity
sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
+ dependencies:
+ is-glob "^4.0.3"
+
glob-to-regexp@^0.4.1:
version "0.4.1"
resolved
"https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
@@ -1493,6 +1587,17 @@ glob@^8.1.0:
minimatch "^5.0.1"
once "^1.3.0"
+globby@^13.1.1:
+ version "13.2.2"
+ resolved
"https://registry.yarnpkg.com/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592"
+ integrity
sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==
+ dependencies:
+ dir-glob "^3.0.1"
+ fast-glob "^3.3.0"
+ ignore "^5.2.4"
+ merge2 "^1.4.1"
+ slash "^4.0.0"
+
google-protobuf@^3.21.2:
version "3.21.2"
resolved
"https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.21.2.tgz#4580a2bea8bbb291ee579d1fefb14d6fa3070ea4"
@@ -1614,6 +1719,11 @@ ignore-by-default@^1.0.1:
resolved
"https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
integrity
sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==
+ignore@^5.2.4:
+ version "5.2.4"
+ resolved
"https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
+ integrity
sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
+
immediate@~3.0.5:
version "3.0.6"
resolved
"https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
@@ -1679,7 +1789,7 @@ is-fullwidth-code-point@^3.0.0:
resolved
"https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
integrity
sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
-is-glob@^4.0.1, is-glob@~4.0.1:
+is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
version "4.0.3"
resolved
"https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
integrity
sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
@@ -1766,6 +1876,11 @@ json-schema-traverse@^0.4.1:
resolved
"https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
integrity
sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+json-schema-traverse@^1.0.0:
+ version "1.0.0"
+ resolved
"https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
+ integrity
sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
+
json5@^2.1.2:
version "2.2.3"
resolved
"https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
@@ -1948,7 +2063,12 @@ merge-stream@^2.0.0:
resolved
"https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
integrity
sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-micromatch@^4.0.0:
+merge2@^1.3.0, merge2@^1.4.1:
+ version "1.4.1"
+ resolved
"https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+ integrity
sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+micromatch@^4.0.0, micromatch@^4.0.4:
version "4.0.5"
resolved
"https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
integrity
sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
@@ -2277,6 +2397,11 @@ path-parse@^1.0.7:
resolved
"https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity
sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved
"https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ integrity
sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
pathval@^1.1.1:
version "1.1.1"
resolved
"https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d"
@@ -2428,6 +2553,11 @@ qs@^6.9.1:
dependencies:
side-channel "^1.0.4"
+queue-microtask@^1.2.2:
+ version "1.2.3"
+ resolved
"https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
+ integrity
sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
quick-format-unescaped@^4.0.3:
version "4.0.4"
resolved
"https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7"
@@ -2518,6 +2648,11 @@ require-directory@^2.1.1:
resolved
"https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity
sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
+require-from-string@^2.0.2:
+ version "2.0.2"
+ resolved
"https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
+ integrity
sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
+
resolve-alpn@^1.0.0:
version "1.2.1"
resolved
"https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9"
@@ -2551,6 +2686,11 @@ responselike@^2.0.0:
dependencies:
lowercase-keys "^2.0.0"
+reusify@^1.0.4:
+ version "1.0.4"
+ resolved
"https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+ integrity
sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
rimraf@2:
version "2.7.1"
resolved
"https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
@@ -2570,6 +2710,13 @@ run-func@^3.0.0:
resolved
"https://registry.yarnpkg.com/run-func/-/run-func-3.0.0.tgz#16b5802afdb8e92d3e0857d16e728295876005cb"
integrity
sha512-RZwVzBrD7biV5CiAgwEUdaRGt0hLjBrhn4PqemBuNogH9Sc/8Bv8p+6F6AweU5bxZXsb3Mxltgu+/f+TGi0udA==
+run-parallel@^1.1.9:
+ version "1.2.0"
+ resolved
"https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+ integrity
sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+ dependencies:
+ queue-microtask "^1.2.2"
+
rxjs@^7.0.0:
version "7.8.0"
resolved
"https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4"
@@ -2613,6 +2760,16 @@ schema-utils@^3.1.1, schema-utils@^3.2.0:
ajv "^6.12.5"
ajv-keywords "^3.5.2"
+schema-utils@^4.0.0:
+ version "4.2.0"
+ resolved
"https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b"
+ integrity
sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==
+ dependencies:
+ "@types/json-schema" "^7.0.9"
+ ajv "^8.9.0"
+ ajv-formats "^2.1.1"
+ ajv-keywords "^5.1.0"
+
selenium-webdriver@^4.8.1:
version "4.8.2"
resolved
"https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.8.2.tgz#2e7cb452133f7a6859879575852ef29f0ab4668c"
@@ -2641,7 +2798,7 @@ [email protected]:
dependencies:
randombytes "^2.1.0"
-serialize-javascript@^6.0.1:
+serialize-javascript@^6.0.0, serialize-javascript@^6.0.1:
version "6.0.1"
resolved
"https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c"
integrity
sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==
@@ -2724,6 +2881,11 @@ simple-update-notifier@^2.0.0:
dependencies:
semver "^7.5.3"
+slash@^4.0.0:
+ version "4.0.0"
+ resolved
"https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7"
+ integrity
sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==
+
sonic-boom@^3.1.0:
version "3.3.0"
resolved
"https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-3.3.0.tgz#cffab6dafee3b2bcb88d08d589394198bee1838c"