karma-dart
Advanced tools
Comparing version 0.2.8 to 0.3.0-rc.0
// Remove old rules on load. | ||
chrome.declarativeWebRequest.onRequest.removeRules(); | ||
chrome.declarativeWebRequest.onRequest.removeRules() | ||
var prevFiles = {}; | ||
var prevFiles = {} | ||
// Called when a message is passed. | ||
function onRequest(request, sender, sendResponse) { | ||
function onRequest (request, sender, sendResponse) { | ||
// Show the page action for the tab that the sender (content script) was on. | ||
chrome.pageAction.show(sender.tab.id); | ||
chrome.pageAction.show(sender.tab.id) | ||
var files = request.files; | ||
var files = request.files | ||
if (request.action == 'load') { | ||
var rules = []; | ||
if (request.action === 'load') { | ||
var rules = [] | ||
for (var file in files) { | ||
var regex; | ||
var regex | ||
var isKnownFile = | ||
prevFiles[sender.tab.id] && prevFiles[sender.tab.id][file]; | ||
prevFiles[sender.tab.id] && prevFiles[sender.tab.id][file] | ||
if (isKnownFile) { | ||
if (prevFiles[sender.tab.id][file] == files[file]) { | ||
if (prevFiles[sender.tab.id][file] === files[file]) { | ||
// We can skip this rule if the timestamp hasn't change. | ||
continue; | ||
continue | ||
} | ||
regex = '^([^\\?]*)\\?' + prevFiles[sender.tab.id][file] + '$'; | ||
regex = '^([^\\?]*)\\?' + prevFiles[sender.tab.id][file] + '$' | ||
} else { | ||
regex = '^([^\\?]*)$'; | ||
regex = '^([^\\?]*)$' | ||
} | ||
@@ -33,10 +33,10 @@ var actions = [ | ||
}) | ||
]; | ||
] | ||
if (!isKnownFile) { // is new file | ||
actions.push( | ||
new chrome.declarativeWebRequest.RemoveResponseHeader( | ||
{name: 'Cache-Control'})); | ||
new chrome.declarativeWebRequest.RemoveResponseHeader( | ||
{name: 'Cache-Control'})) | ||
actions.push( | ||
new chrome.declarativeWebRequest.AddResponseHeader( | ||
{name: 'Cache-Control', value: 'no-cache'})); | ||
new chrome.declarativeWebRequest.AddResponseHeader( | ||
{name: 'Cache-Control', value: 'no-cache'})) | ||
} | ||
@@ -50,13 +50,13 @@ rules.push({ | ||
actions: actions | ||
}); | ||
}) | ||
} | ||
prevFiles[sender.tab.id] = files; | ||
chrome.declarativeWebRequest.onRequest.addRules(rules, function(callback) { | ||
prevFiles[sender.tab.id] = files | ||
chrome.declarativeWebRequest.onRequest.addRules(rules, function (callback) { | ||
// We reply back only when new rules are set. | ||
sendResponse({}); | ||
}); | ||
sendResponse({}) | ||
}) | ||
} | ||
// Return nothing to let the connection be cleaned up. | ||
}; | ||
// Return nothing to let the connection be cleaned up. | ||
} | ||
chrome.extension.onRequest.addListener(onRequest); | ||
chrome.extension.onRequest.addListener(onRequest) |
// Test the text of the body element against our regular expression. | ||
if (/window\.__karma__/.test(document.body.innerHTML)) { | ||
// TODO(pavelgj): find a better way to parse files out of the page. | ||
var filesRegex = /window\.__karma__\.files = \{(.*)\};/m; | ||
var filesSrc = (filesRegex.exec(document.body.innerHTML.replace(/[\n\r]/g, ' ')))[1]; | ||
eval('var files = {' + filesSrc + '}'); | ||
chrome.extension.sendRequest({action: 'load', files: files}, function(response) { | ||
var filesRegex = /window\.__karma__\.files = \{(.*)\};/m | ||
var filesSrc = (filesRegex.exec(document.body.innerHTML.replace(/[\n\r]/g, ' ')))[1] | ||
eval('var files = {' + filesSrc + '}') // eslint-disable-line | ||
chrome.extension.sendRequest({action: 'load', files: files}, function (response) { // eslint-disable-line | ||
// When new redirect rules are in place, we bootstrap Dart. | ||
var dartJs = document.createElement("script"); | ||
dartJs.setAttribute('type', 'text/javascript'); | ||
var dartJs = document.createElement('script') | ||
dartJs.setAttribute('type', 'text/javascript') | ||
// TODO(pavelgj): unhardcode the path to dart.js. | ||
dartJs.setAttribute("src", '/base/packages/browser/dart.js'); | ||
window.document.body.appendChild(dartJs); | ||
}); | ||
dartJs.setAttribute('src', '/base/packages/browser/dart.js') | ||
window.document.body.appendChild(dartJs) | ||
}) | ||
} |
@@ -1,4 +0,4 @@ | ||
window.__karma__.start = function() {}; | ||
window.onerror = function(e) { | ||
window.__karma__.error(e); | ||
window.__karma__.start = function () {} | ||
window.onerror = function (e) { | ||
window.__karma__.error(e) | ||
} |
177
lib/index.js
@@ -1,33 +0,32 @@ | ||
var path = require('path'); | ||
var fs = require('fs'); | ||
var dart2jsaas = require('dart2jsaas'); | ||
var path = require('path') | ||
var fs = require('fs') | ||
var dart2jsaas = require('dart2jsaas') | ||
var format = require('util').format; | ||
var areEqual = require('./util').areEqual; | ||
var random = function() { | ||
return Math.round(Math.random() * 10000); | ||
}; | ||
var format = require('util').format | ||
var areEqual = require('./util').areEqual | ||
var random = function () { | ||
return Math.round(Math.random() * 10000) | ||
} | ||
var DART_ADAPTER_TPL = fs.readFileSync(__dirname + '/../static/adapter.dart.tmpl').toString(); | ||
var TEMP_DIR = process.env.TMPDIR || process.env.TMP || process.env.TEMP || '/tmp'; | ||
var DART_IMPORT = 'import "%s" as %s;'; | ||
var DART_ADAPTER_TPL = fs.readFileSync(__dirname + '/../static/adapter.dart.tmpl').toString() | ||
var TEMP_DIR = process.env.TMPDIR || process.env.TMP || process.env.TEMP || '/tmp' | ||
var DART_IMPORT = 'import "%s" as %s;' | ||
var initDartUnittest = function(emitter, /* config.files */ files, /* config.basePath */ basePath, | ||
var initDartUnittest = function (emitter, /* config.files */ files, /* config.basePath */ basePath, | ||
/* config.karmaDartImports */ customImports, /* config.hostname */ hostname, /* config.port */ port, | ||
logger, customFileHandlers, /* config.dart2js */ dart2js) { | ||
var log = logger.create('dart') | ||
var log = logger.create('dart'); | ||
// Default to true. | ||
var useDart2JsCheckedMode = dart2js == undefined ? | ||
true : dart2js.checked == undefined ? | ||
true : dart2js.checked; | ||
var useDart2JsCheckedMode = dart2js === undefined ? | ||
true : dart2js.checked === undefined ? | ||
true : dart2js.checked | ||
customFileHandlers.push({ | ||
urlRegex: /.*dart.js(\?[0-9]*)?$/, | ||
handler: function(request, response, fa, fb, basePath) { | ||
var url = request.url.substr(1); // Drop the leading slash. | ||
handler: function (request, response, fa, fb, basePath) { | ||
// Drop the leading slash. | ||
var url = request.url.substr(1) | ||
var filename = (/[^\/]*dart.js(\?[0-9]*)?$/).exec(url)[0]; | ||
var filename = (/[^\/]*dart.js(\?[0-9]*)?$/).exec(url)[0] | ||
@@ -37,40 +36,40 @@ var dart2js = dart2jsaas.setupSystem({ | ||
dart2jsCheckedMode: useDart2JsCheckedMode | ||
}); | ||
}) | ||
dart2js(filename.replace(/\.js(\?[0-9]*)?$/, '')).then(function(outjs) { | ||
response.writeHead(200); | ||
response.end(outjs); | ||
}).done(); | ||
dart2js(filename.replace(/\.js(\?[0-9]*)?$/, '')).then(function (outjs) { | ||
response.writeHead(200) | ||
response.end(outjs) | ||
}).done() | ||
} | ||
}); | ||
}) | ||
customFileHandlers.push({ | ||
urlRegex: /.*\/packages\/.*$/, | ||
handler: function(request, response, fa, fb, basePath) { | ||
var url = request.url; | ||
var path = url.indexOf('?') > -1 ? url.substring(0, url.indexOf('?')) : url; | ||
var contets = fs.readFileSync(basePath + path); | ||
response.writeHead(200); | ||
response.end(contets); | ||
handler: function (request, response, fa, fb, basePath) { | ||
var url = request.url | ||
var path = url.indexOf('?') > -1 ? url.substring(0, url.indexOf('?')) : url | ||
var contets = fs.readFileSync(basePath + path) | ||
response.writeHead(200) | ||
response.end(contets) | ||
} | ||
}); | ||
}) | ||
// include the adapter.js | ||
files.unshift({pattern: __dirname + '/adapter.js', included: true, served: true, watched: false}); | ||
files.unshift({pattern: __dirname + '/adapter.js', included: true, served: true, watched: false}) | ||
var adapterImports = { | ||
unittest: 'package:unittest/unittest.dart' | ||
}; | ||
} | ||
if (customImports) { | ||
Object.keys(customImports).forEach(function(library) { | ||
adapterImports[library] = customImports[library]; | ||
}); | ||
Object.keys(customImports).forEach(function (library) { | ||
adapterImports[library] = customImports[library] | ||
}) | ||
} | ||
var adapterImportsCode = Object.keys(adapterImports).map(function(library) { | ||
return format(DART_IMPORT, adapterImports[library], library); | ||
}).join('\n'); | ||
var adapterImportsCode = Object.keys(adapterImports).map(function (library) { | ||
return format(DART_IMPORT, adapterImports[library], library) | ||
}).join('\n') | ||
var randomUid = random(); | ||
var randomUid = random() | ||
@@ -82,59 +81,57 @@ var dartAdapterFile = { | ||
mtime: new Date() | ||
}; | ||
} | ||
var previousDartTestFiles = []; | ||
var previousDartTestFiles = [] | ||
emitter.on('file_list_modified', function(filesPromise) { | ||
filesPromise.then(function(files) { | ||
var dartTestFiles = []; | ||
var dartTestFilePaths = []; | ||
var includedFiles = [dartAdapterFile]; | ||
emitter.on('file_list_modified', function (files) { | ||
var dartTestFiles = [] | ||
var dartTestFilePaths = [] | ||
var includedFiles = [dartAdapterFile] | ||
// All *.dart included files are considered to be test libraries. | ||
files.included.forEach(function(file) { | ||
if (path.extname(file.path) === '.dart') { | ||
dartTestFiles.push(file); | ||
dartTestFilePaths.push(file.path); | ||
} else { | ||
includedFiles.push(file); | ||
} | ||
}); | ||
// All *.dart included files are considered to be test libraries. | ||
files.included.forEach(function (file) { | ||
if (path.extname(file.path) === '.dart') { | ||
dartTestFiles.push(file) | ||
dartTestFilePaths.push(file.path) | ||
} else { | ||
includedFiles.push(file) | ||
} | ||
}) | ||
// filtered (without dart test files, the adapter will include them) | ||
files.included = includedFiles; | ||
files.served.push(dartAdapterFile); | ||
// filtered (without dart test files, the adapter will include them) | ||
files.included = includedFiles | ||
files.served.push(dartAdapterFile) | ||
// Did the list of included test files changed ? | ||
// If so, update the adapter files, which contains all the imports. | ||
if (!areEqual(previousDartTestFiles, dartTestFilePaths)) { | ||
log.debug('List of dart files changed, updating the list of imports.'); | ||
// Did the list of included test files changed ? | ||
// If so, update the adapter files, which contains all the imports. | ||
if (!areEqual(previousDartTestFiles, dartTestFilePaths)) { | ||
log.debug('List of dart files changed, updating the list of imports.') | ||
var testImports = []; | ||
var mainCalls = []; | ||
dartTestFiles.forEach(function(dartFile, index) { | ||
var filePath = dartFile.path; | ||
if (filePath.indexOf(basePath) === 0) { | ||
filePath = 'base/' + filePath.substr(basePath.length + 1); | ||
} else { | ||
filePath = 'absolute' + filePath; | ||
} | ||
testImports.push(format(DART_IMPORT, filePath, 'test_' + index)); | ||
mainCalls.push(format(' test_%s.main();', index)); | ||
}); | ||
var testImports = [] | ||
var mainCalls = [] | ||
dartTestFiles.forEach(function (dartFile, index) { | ||
var filePath = dartFile.path | ||
if (filePath.indexOf(basePath) === 0) { | ||
filePath = 'base/' + filePath.substr(basePath.length + 1) | ||
} else { | ||
filePath = 'absolute' + filePath | ||
} | ||
testImports.push(format(DART_IMPORT, filePath, 'test_' + index)) | ||
mainCalls.push(format(' test_%s.main();', index)) | ||
}) | ||
// TODO(vojta): skip this writeFileSync() once we can use in-memory cache (file.content) | ||
fs.writeFileSync(dartAdapterFile.contentPath, DART_ADAPTER_TPL | ||
.replace('/*%ADAPTER_IMPORTS%*/', adapterImportsCode) | ||
.replace('/*%TEST_IMPORTS%*/', testImports.join('\n')) | ||
.replace('/*%TEST_MAIN_CALLS%*/', mainCalls.join('\n'))); | ||
// TODO(vojta): skip this writeFileSync() once we can use in-memory cache (file.content) | ||
fs.writeFileSync(dartAdapterFile.contentPath, DART_ADAPTER_TPL | ||
.replace('/*%ADAPTER_IMPORTS%*/', adapterImportsCode) | ||
.replace('/*%TEST_IMPORTS%*/', testImports.join('\n')) | ||
.replace('/*%TEST_MAIN_CALLS%*/', mainCalls.join('\n'))) | ||
dartAdapterFile.mtime = new Date(); | ||
previousDartTestFiles = dartTestFilePaths; | ||
} | ||
}); | ||
}); | ||
}; | ||
dartAdapterFile.mtime = new Date() | ||
previousDartTestFiles = dartTestFilePaths | ||
} | ||
}) | ||
} | ||
module.exports = { | ||
'framework:dart-unittest': ['factory', initDartUnittest] | ||
}; | ||
} |
/** | ||
* Compares two arrays of strings, order matters. | ||
*/ | ||
exports.areEqual = function(first, second) { | ||
exports.areEqual = function (first, second) { | ||
if (first.length !== second.length) { | ||
return false; | ||
return false | ||
} | ||
@@ -11,7 +11,7 @@ | ||
if (first[i] !== second[i]) { | ||
return false; | ||
return false | ||
} | ||
} | ||
return true; | ||
}; | ||
return true | ||
} |
{ | ||
"name": "karma-dart", | ||
"version": "0.2.8", | ||
"version": "0.3.0-rc.0", | ||
"description": "A Karma plugin - adapter for Dart unittest testing framework.", | ||
@@ -17,13 +17,17 @@ "main": "lib/index.js", | ||
"author": "Pavel Jbanov <pavelgj@gmail.com>", | ||
"peerDependencies": { | ||
"karma": ">=0.10" | ||
}, | ||
"dependencies": { | ||
"dart2jsaas": "~0.0.16" | ||
"dart2jsaas": "^0.0.16" | ||
}, | ||
"devDependencies": { | ||
"grunt-npm": "~0.0.2", | ||
"grunt": "~0.4.1", | ||
"grunt-bump": "~0.0.11", | ||
"grunt-auto-release": "~0.0.4" | ||
"eslint": "^0.23.0", | ||
"eslint-config-standard": "^3.3.0", | ||
"grunt": "^0.4.5", | ||
"grunt-auto-release": "^0.0.6", | ||
"grunt-bump": "^0.3.1", | ||
"grunt-eslint": "^15.0.0", | ||
"grunt-karma": "^0.11.1", | ||
"grunt-npm": "^0.0.2", | ||
"karma": "^0.12.37", | ||
"karma-chrome-launcher": "^0.2.0", | ||
"load-grunt-tasks": "^3.2.0" | ||
}, | ||
@@ -30,0 +34,0 @@ "readmeFilename": "README.md", |
@@ -0,1 +1,9 @@ | ||
# karma-dart | ||
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/karma-runner/karma-dart) | ||
[![npm version](https://img.shields.io/npm/v/karma-dart.svg?style=flat-square)](https://www.npmjs.com/package/karma-dart) [![npm downloads](https://img.shields.io/npm/dm/karma-dart.svg?style=flat-square)](https://www.npmjs.com/package/karma-dart) | ||
[![Build Status](https://img.shields.io/travis/karma-runner/karma-dart/master.svg?style=flat-square)](https://travis-ci.org/karma-runner/karma-dart) [![Dependency Status](https://img.shields.io/david/karma-runner/karma-dart.svg?style=flat-square)](https://david-dm.org/karma-runner/karma-dart) [![devDependency Status](https://img.shields.io/david/dev/karma-runner/karma-dart.svg?style=flat-square)](https://david-dm.org/karma-runner/karma-dart#info=devDependencies) | ||
> Adapter for the Dart [unittest] testing framework. | ||
@@ -11,3 +19,5 @@ | ||
npm install karma-dart | ||
```bash | ||
$ npm install karma-dart | ||
``` | ||
@@ -18,4 +28,6 @@ Refer to [npm install] documentation for more details and install options. | ||
unittest: any | ||
browser: any | ||
```yaml | ||
unittest: any | ||
browser: any | ||
``` | ||
@@ -53,9 +65,11 @@ The following is an example of karma config. | ||
You can run karma from the local folder: | ||
```bash | ||
$ node node_modules/karma/bin/karma start karma-dart.conf | ||
``` | ||
node node_modules/karma/bin/karma start karma-dart.conf | ||
or if you installed it with -g flag just | ||
karma start karma-dart.conf | ||
```bash | ||
$ karma start karma-dart.conf | ||
``` | ||
Then just open http://localhost:9876/ in [Dartium]. | ||
@@ -62,0 +76,0 @@ |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
27663
1
22
309
0
83
11
2
- Removed@colors/colors@1.5.0(transitive)
- Removed@socket.io/component-emitter@3.1.2(transitive)
- Removed@types/cors@2.8.17(transitive)
- Removed@types/node@22.13.4(transitive)
- Removedaccepts@1.3.8(transitive)
- Removedansi-regex@5.0.1(transitive)
- Removedansi-styles@4.3.0(transitive)
- Removedanymatch@3.1.3(transitive)
- Removedbalanced-match@1.0.2(transitive)
- Removedbase64id@2.0.0(transitive)
- Removedbinary-extensions@2.3.0(transitive)
- Removedbody-parser@1.20.3(transitive)
- Removedbrace-expansion@1.1.11(transitive)
- Removedbraces@3.0.3(transitive)
- Removedbytes@3.1.2(transitive)
- Removedcall-bind-apply-helpers@1.0.2(transitive)
- Removedcall-bound@1.0.3(transitive)
- Removedchokidar@3.6.0(transitive)
- Removedcliui@7.0.4(transitive)
- Removedcolor-convert@2.0.1(transitive)
- Removedcolor-name@1.1.4(transitive)
- Removedconcat-map@0.0.1(transitive)
- Removedconnect@3.7.0(transitive)
- Removedcontent-type@1.0.5(transitive)
- Removedcookie@0.7.2(transitive)
- Removedcors@2.8.5(transitive)
- Removedcustom-event@1.0.1(transitive)
- Removeddate-format@4.0.14(transitive)
- Removeddebug@2.6.94.3.74.4.0(transitive)
- Removeddepd@2.0.0(transitive)
- Removeddestroy@1.2.0(transitive)
- Removeddi@0.0.1(transitive)
- Removeddom-serialize@2.2.1(transitive)
- Removeddunder-proto@1.0.1(transitive)
- Removedee-first@1.1.1(transitive)
- Removedemoji-regex@8.0.0(transitive)
- Removedencodeurl@1.0.2(transitive)
- Removedengine.io@6.6.4(transitive)
- Removedengine.io-parser@5.2.3(transitive)
- Removedent@2.2.2(transitive)
- Removedes-define-property@1.0.1(transitive)
- Removedes-errors@1.3.0(transitive)
- Removedes-object-atoms@1.1.1(transitive)
- Removedescalade@3.2.0(transitive)
- Removedescape-html@1.0.3(transitive)
- Removedeventemitter3@4.0.7(transitive)
- Removedextend@3.0.2(transitive)
- Removedfill-range@7.1.1(transitive)
- Removedfinalhandler@1.1.2(transitive)
- Removedflatted@3.3.3(transitive)
- Removedfollow-redirects@1.15.9(transitive)
- Removedfs-extra@8.1.0(transitive)
- Removedfs.realpath@1.0.0(transitive)
- Removedfsevents@2.3.3(transitive)
- Removedfunction-bind@1.1.2(transitive)
- Removedget-caller-file@2.0.5(transitive)
- Removedget-intrinsic@1.2.7(transitive)
- Removedget-proto@1.0.1(transitive)
- Removedglob@7.2.3(transitive)
- Removedglob-parent@5.1.2(transitive)
- Removedgopd@1.2.0(transitive)
- Removedgraceful-fs@4.2.11(transitive)
- Removedhas-symbols@1.1.0(transitive)
- Removedhas-tostringtag@1.0.2(transitive)
- Removedhasown@2.0.2(transitive)
- Removedhttp-errors@2.0.0(transitive)
- Removedhttp-proxy@1.18.1(transitive)
- Removediconv-lite@0.4.24(transitive)
- Removedinflight@1.0.6(transitive)
- Removedinherits@2.0.4(transitive)
- Removedis-binary-path@2.1.0(transitive)
- Removedis-extglob@2.1.1(transitive)
- Removedis-fullwidth-code-point@3.0.0(transitive)
- Removedis-glob@4.0.3(transitive)
- Removedis-number@7.0.0(transitive)
- Removedis-regex@1.2.1(transitive)
- Removedisbinaryfile@4.0.10(transitive)
- Removedjsonfile@4.0.0(transitive)
- Removedkarma@6.4.4(transitive)
- Removedlodash@4.17.21(transitive)
- Removedlog4js@6.9.1(transitive)
- Removedmath-intrinsics@1.1.0(transitive)
- Removedmedia-typer@0.3.0(transitive)
- Removedmime@2.6.0(transitive)
- Removedmime-db@1.52.0(transitive)
- Removedmime-types@2.1.35(transitive)
- Removedminimatch@3.1.2(transitive)
- Removedminimist@1.2.8(transitive)
- Removedmkdirp@0.5.6(transitive)
- Removedms@2.0.02.1.3(transitive)
- Removednegotiator@0.6.3(transitive)
- Removednormalize-path@3.0.0(transitive)
- Removedobject-assign@4.1.1(transitive)
- Removedobject-inspect@1.13.4(transitive)
- Removedon-finished@2.3.02.4.1(transitive)
- Removedonce@1.4.0(transitive)
- Removedparseurl@1.3.3(transitive)
- Removedpath-is-absolute@1.0.1(transitive)
- Removedpicomatch@2.3.1(transitive)
- Removedpunycode@1.4.1(transitive)
- Removedqjobs@1.2.0(transitive)
- Removedqs@6.13.0(transitive)
- Removedrange-parser@1.2.1(transitive)
- Removedraw-body@2.5.2(transitive)
- Removedreaddirp@3.6.0(transitive)
- Removedrequire-directory@2.1.1(transitive)
- Removedrequires-port@1.0.0(transitive)
- Removedrfdc@1.4.1(transitive)
- Removedrimraf@3.0.2(transitive)
- Removedsafe-regex-test@1.1.0(transitive)
- Removedsafer-buffer@2.1.2(transitive)
- Removedsetprototypeof@1.2.0(transitive)
- Removedside-channel@1.1.0(transitive)
- Removedside-channel-list@1.0.0(transitive)
- Removedside-channel-map@1.0.1(transitive)
- Removedside-channel-weakmap@1.0.2(transitive)
- Removedsocket.io@4.8.1(transitive)
- Removedsocket.io-adapter@2.5.5(transitive)
- Removedsocket.io-parser@4.2.4(transitive)
- Removedsource-map@0.6.1(transitive)
- Removedstatuses@1.5.02.0.1(transitive)
- Removedstreamroller@3.1.5(transitive)
- Removedstring-width@4.2.3(transitive)
- Removedstrip-ansi@6.0.1(transitive)
- Removedtmp@0.2.3(transitive)
- Removedto-regex-range@5.0.1(transitive)
- Removedtoidentifier@1.0.1(transitive)
- Removedtype-is@1.6.18(transitive)
- Removedua-parser-js@0.7.40(transitive)
- Removedundici-types@6.20.0(transitive)
- Removeduniversalify@0.1.2(transitive)
- Removedunpipe@1.0.0(transitive)
- Removedutils-merge@1.0.1(transitive)
- Removedvary@1.1.2(transitive)
- Removedvoid-elements@2.0.1(transitive)
- Removedwrap-ansi@7.0.0(transitive)
- Removedwrappy@1.0.2(transitive)
- Removedws@8.17.1(transitive)
- Removedy18n@5.0.8(transitive)
- Removedyargs@16.2.0(transitive)
- Removedyargs-parser@20.2.9(transitive)
Updateddart2jsaas@^0.0.16