Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
nni
Commits
094ed9f1
Unverified
Commit
094ed9f1
authored
Jul 16, 2021
by
liuzhe-lz
Committed by
GitHub
Jul 16, 2021
Browse files
"Fix" NNI manager UT (#3933)
parent
5588adea
Changes
33
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
103 additions
and
106 deletions
+103
-106
ts/nni_manager/test/training_service/kubeflowTrainingService.test.ts
...ger/test/training_service/kubeflowTrainingService.test.ts
+3
-3
ts/nni_manager/test/training_service/localTrainingService.test.ts
...anager/test/training_service/localTrainingService.test.ts
+3
-3
ts/nni_manager/test/training_service/remote/linuxCommands.test.ts
...anager/test/training_service/remote/linuxCommands.test.ts
+1
-1
ts/nni_manager/test/training_service/remote/shellExecutor.test.ts
...anager/test/training_service/remote/shellExecutor.test.ts
+1
-1
ts/nni_manager/test/training_service/remote/windowsCommands.test.ts
...ager/test/training_service/remote/windowsCommands.test.ts
+1
-1
ts/nni_manager/test/training_service/remoteMachineTrainingService.test.ts
...est/training_service/remoteMachineTrainingService.test.ts
+3
-3
ts/nni_manager/test/training_service/reusable/amlClient.test.ts
..._manager/test/training_service/reusable/amlClient.test.ts
+1
-1
ts/nni_manager/test/training_service/reusable/mountedStorageService.test.ts
...t/training_service/reusable/mountedStorageService.test.ts
+1
-1
ts/nni_manager/test/training_service/reusable/trialDispatcher.test.ts
...er/test/training_service/reusable/trialDispatcher.test.ts
+30
-28
ts/nni_manager/test/training_service/reusable/utCommandChannel.ts
...anager/test/training_service/reusable/utCommandChannel.ts
+2
-2
ts/nni_manager/test/training_service/reusable/utEnvironmentService.ts
...er/test/training_service/reusable/utEnvironmentService.ts
+1
-1
ts/nni_manager/tsconfig.json
ts/nni_manager/tsconfig.json
+2
-1
ts/nni_manager/yarn.lock
ts/nni_manager/yarn.lock
+54
-60
No files found.
ts/nni_manager/training_service/
test/
kubeflowTrainingService.test.ts
→
ts/nni_manager/
test/
training_service/kubeflowTrainingService.test.ts
View file @
094ed9f1
...
...
@@ -9,12 +9,12 @@ import * as fs from 'fs';
import
*
as
tmp
from
'
tmp
'
;
import
*
as
component
from
'
../../common/component
'
;
import
{
cleanupUnitTest
,
prepareUnitTest
}
from
'
../../common/utils
'
;
import
{
TrialConfigMetadataKey
}
from
'
../common/trialConfigMetadataKey
'
;
import
{
KubeflowTrainingService
}
from
'
../kubernetes/kubeflow/kubeflowTrainingService
'
;
import
{
TrialConfigMetadataKey
}
from
'
../
../training_service/
common/trialConfigMetadataKey
'
;
import
{
KubeflowTrainingService
}
from
'
../
../training_service/
kubernetes/kubeflow/kubeflowTrainingService
'
;
// TODO: copy mockedTrail.py to local folder
const
localCodeDir
:
string
=
tmp
.
dirSync
().
name
const
mockedTrialPath
:
string
=
'
./t
raining_service/test
/mockedTrial.py
'
const
mockedTrialPath
:
string
=
'
./t
est/mock
/mockedTrial.py
'
fs
.
copyFileSync
(
mockedTrialPath
,
localCodeDir
+
'
/mockedTrial.py
'
)
describe
(
'
Unit Test for KubeflowTrainingService
'
,
()
=>
{
...
...
ts/nni_manager/training_service/
test/
localTrainingService.test.ts
→
ts/nni_manager/
test/
training_service/localTrainingService.test.ts
View file @
094ed9f1
...
...
@@ -11,13 +11,13 @@ import * as tmp from 'tmp';
import
*
as
component
from
'
../../common/component
'
;
import
{
TrialJobApplicationForm
,
TrialJobDetail
}
from
'
../../common/trainingService
'
;
import
{
cleanupUnitTest
,
delay
,
prepareUnitTest
,
getExperimentRootDir
}
from
'
../../common/utils
'
;
import
{
TrialConfigMetadataKey
}
from
'
../common/trialConfigMetadataKey
'
;
import
{
LocalTrainingService
}
from
'
../local/localTrainingService
'
;
import
{
TrialConfigMetadataKey
}
from
'
../
../training_service/
common/trialConfigMetadataKey
'
;
import
{
LocalTrainingService
}
from
'
../
../training_service/
local/localTrainingService
'
;
import
{
ExperimentConfig
}
from
'
../../common/experimentConfig
'
;
// TODO: copy mockedTrail.py to local folder
const
localCodeDir
:
string
=
tmp
.
dirSync
().
name
.
split
(
'
\\
'
).
join
(
'
\\\\
'
);
const
mockedTrialPath
:
string
=
'
./t
raining_service/test
/mockedTrial.py
'
const
mockedTrialPath
:
string
=
'
./t
est/mock
/mockedTrial.py
'
fs
.
copyFileSync
(
mockedTrialPath
,
localCodeDir
+
'
/mockedTrial.py
'
)
describe
(
'
Unit Test for LocalTrainingService
'
,
()
=>
{
...
...
ts/nni_manager/training_service/remote
_machine/test
/linuxCommands.test.ts
→
ts/nni_manager/
test/
training_service/remote/linuxCommands.test.ts
View file @
094ed9f1
...
...
@@ -7,7 +7,7 @@ import * as chai from 'chai';
import
*
as
chaiAsPromised
from
'
chai-as-promised
'
;
import
*
as
component
from
'
../../../common/component
'
;
import
{
cleanupUnitTest
,
prepareUnitTest
}
from
'
../../../common/utils
'
;
import
{
LinuxCommands
}
from
'
../extends/linuxCommands
'
;
import
{
LinuxCommands
}
from
'
../
../../training_service/remote_machine/
extends/linuxCommands
'
;
describe
(
'
Unit Test for linuxCommands
'
,
()
=>
{
...
...
ts/nni_manager/training_service/remote
_machine/test
/shellExecutor.test.ts
→
ts/nni_manager/
test/
training_service/remote/shellExecutor.test.ts
View file @
094ed9f1
...
...
@@ -8,7 +8,7 @@ import * as fs from 'fs';
import
*
as
chai
from
'
chai
'
;
import
*
as
chaiAsPromised
from
'
chai-as-promised
'
;
import
{
ShellExecutor
}
from
'
../shellExecutor
'
;
import
{
ShellExecutor
}
from
'
../
../../training_service/remote_machine/
shellExecutor
'
;
import
{
prepareUnitTest
,
cleanupUnitTest
}
from
'
../../../common/utils
'
;
const
LOCALFILE
:
string
=
'
localSshUTData
'
;
...
...
ts/nni_manager/training_service/remote
_machine/test
/windowsCommands.test.ts
→
ts/nni_manager/
test/
training_service/remote/windowsCommands.test.ts
View file @
094ed9f1
...
...
@@ -7,7 +7,7 @@ import * as chai from 'chai';
import
*
as
chaiAsPromised
from
'
chai-as-promised
'
;
import
*
as
component
from
'
../../../common/component
'
;
import
{
cleanupUnitTest
,
prepareUnitTest
}
from
'
../../../common/utils
'
;
import
{
WindowsCommands
}
from
'
../extends/windowsCommands
'
;
import
{
WindowsCommands
}
from
'
../
../../training_service/remote_machine/
extends/windowsCommands
'
;
describe
(
'
Unit Test for Windows Commands
'
,
()
=>
{
...
...
ts/nni_manager/training_service/
test/
remoteMachineTrainingService.test.ts
→
ts/nni_manager/
test/
training_service/remoteMachineTrainingService.test.ts
View file @
094ed9f1
...
...
@@ -11,12 +11,12 @@ import * as tmp from 'tmp';
import
*
as
component
from
'
../../common/component
'
;
import
{
TrialJobApplicationForm
,
TrialJobDetail
,
TrainingService
}
from
'
../../common/trainingService
'
;
import
{
cleanupUnitTest
,
delay
,
prepareUnitTest
}
from
'
../../common/utils
'
;
import
{
TrialConfigMetadataKey
}
from
'
../common/trialConfigMetadataKey
'
;
import
{
RemoteMachineTrainingService
}
from
'
../remote_machine/remoteMachineTrainingService
'
;
import
{
TrialConfigMetadataKey
}
from
'
../
../training_service/
common/trialConfigMetadataKey
'
;
import
{
RemoteMachineTrainingService
}
from
'
../
../training_service/
remote_machine/remoteMachineTrainingService
'
;
// copy mockedTrail.py to local folder
const
localCodeDir
:
string
=
tmp
.
dirSync
().
name
const
mockedTrialPath
:
string
=
'
./t
raining_service/test
/mockedTrial.py
'
const
mockedTrialPath
:
string
=
'
./t
est/mock
/mockedTrial.py
'
fs
.
copyFileSync
(
mockedTrialPath
,
localCodeDir
+
'
/mockedTrial.py
'
)
describe
(
'
Unit Test for RemoteMachineTrainingService
'
,
()
=>
{
...
...
ts/nni_manager/training_service/reusable/
test/
amlClient.test.ts
→
ts/nni_manager/
test/
training_service/reusable/amlClient.test.ts
View file @
094ed9f1
...
...
@@ -4,7 +4,7 @@
import
*
as
chai
from
'
chai
'
;
import
{
cleanupUnitTest
,
prepareUnitTest
}
from
'
../../../common/utils
'
;
import
chaiAsPromised
=
require
(
"
chai-as-promised
"
);
import
{
AMLClient
}
from
'
../aml/amlClient
'
;
import
{
AMLClient
}
from
'
../
../../training_service/reusable/
aml/amlClient
'
;
describe
(
'
Unit Test for amlClient
'
,
()
=>
{
...
...
ts/nni_manager/training_service/reusable/
test/
mountedStorageService.test.ts
→
ts/nni_manager/
test/
training_service/reusable/mountedStorageService.test.ts
View file @
094ed9f1
...
...
@@ -8,7 +8,7 @@ import * as fs from 'fs';
import
*
as
path
from
'
path
'
;
import
{
getLogger
,
Logger
}
from
"
../../../common/log
"
;
import
{
cleanupUnitTest
,
prepareUnitTest
}
from
'
../../../common/utils
'
;
import
{
MountedStorageService
}
from
"
../storages/mountedStorageService
"
;
import
{
MountedStorageService
}
from
"
../
../../training_service/reusable/
storages/mountedStorageService
"
;
import
chaiAsPromised
=
require
(
"
chai-as-promised
"
);
...
...
ts/nni_manager/training_service/reusable/
test/
trialDispatcher.test.ts
→
ts/nni_manager/
test/
training_service/reusable/trialDispatcher.test.ts
View file @
094ed9f1
...
...
@@ -8,10 +8,10 @@ import { TrialJobApplicationForm, TrialJobStatus } from '../../../common/trainin
import
{
cleanupUnitTest
,
delay
,
prepareUnitTest
,
uniqueString
}
from
'
../../../common/utils
'
;
import
{
INITIALIZED
,
KILL_TRIAL_JOB
,
NEW_TRIAL_JOB
,
SEND_TRIAL_JOB_PARAMETER
,
TRIAL_END
,
GPU_INFO
}
from
'
../../../core/commands
'
;
import
{
TrialConfigMetadataKey
}
from
'
../../../training_service/common/trialConfigMetadataKey
'
;
import
{
Command
,
CommandChannel
}
from
'
../commandChannel
'
;
import
{
Channel
,
EnvironmentInformation
,
EnvironmentService
}
from
"
../environment
"
;
import
{
TrialDetail
}
from
'
../trial
'
;
import
{
TrialDispatcher
}
from
"
../trialDispatcher
"
;
import
{
Command
,
CommandChannel
}
from
'
../
../../training_service/reusable/
commandChannel
'
;
import
{
Channel
,
EnvironmentInformation
,
EnvironmentService
}
from
"
../
../../training_service/reusable/
environment
"
;
import
{
TrialDetail
}
from
'
../
../../training_service/reusable/
trial
'
;
import
{
TrialDispatcher
}
from
"
../
../../training_service/reusable/
trialDispatcher
"
;
import
{
UtCommandChannel
}
from
'
./utCommandChannel
'
;
import
{
UtEnvironmentService
}
from
"
./utEnvironmentService
"
;
import
chaiAsPromised
=
require
(
"
chai-as-promised
"
);
...
...
@@ -466,6 +466,7 @@ describe('Unit Test for TrialDispatcher', () => {
chai
.
assert
.
equal
<
TrialJobStatus
>
(
trialDetail
.
status
,
'
FAILED
'
,
"
env failed, so trial also failed.
"
);
});
/* FIXME: setClusterMetadata
it('GPUScheduler disabled gpuNum === undefined', async () => {
let trialDetail = await newTrial(trialDispatcher);
...
...
@@ -477,37 +478,37 @@ describe('Unit Test for TrialDispatcher', () => {
});
it('GPUScheduler disabled gpuNum === 0', async () => {
//
trialDispatcher.setClusterMetadata(
//
TrialConfigMetadataKey.TRIAL_CONFIG,
//
JSON.stringify({
//
reuseEnvironment: false,
//
codeDir: currentDir,
//
gpuNum: 0,
//
}));
trialDispatcher.setClusterMetadata(
TrialConfigMetadataKey.TRIAL_CONFIG,
JSON.stringify({
reuseEnvironment: false,
codeDir: currentDir,
gpuNum: 0,
}));
//
let trialDetail = await newTrial(trialDispatcher);
//
await waitEnvironment(1, previousEnvironments, environmentService, commandChannel);
//
const command = await verifyTrialRunning(commandChannel, trialDetail);
//
await verifyTrialResult(commandChannel, trialDetail, 0);
let trialDetail = await newTrial(trialDispatcher);
await waitEnvironment(1, previousEnvironments, environmentService, commandChannel);
const command = await verifyTrialRunning(commandChannel, trialDetail);
await verifyTrialResult(commandChannel, trialDetail, 0);
//
chai.assert.equal(command.data["gpuIndices"], "");
chai.assert.equal(command.data["gpuIndices"], "");
});
it('GPUScheduler enable no cluster gpu config', async () => {
//
trialDispatcher.setClusterMetadata(
//
TrialConfigMetadataKey.TRIAL_CONFIG,
//
JSON.stringify({
//
reuseEnvironment: false,
//
codeDir: currentDir,
//
gpuNum: 1,
//
}));
trialDispatcher.setClusterMetadata(
TrialConfigMetadataKey.TRIAL_CONFIG,
JSON.stringify({
reuseEnvironment: false,
codeDir: currentDir,
gpuNum: 1,
}));
//
let trialDetail = await newTrial(trialDispatcher);
//
await waitEnvironment(1, previousEnvironments, environmentService, commandChannel);
//
const command = await verifyTrialRunning(commandChannel, trialDetail);
//
await verifyTrialResult(commandChannel, trialDetail, 0);
let trialDetail = await newTrial(trialDispatcher);
await waitEnvironment(1, previousEnvironments, environmentService, commandChannel);
const command = await verifyTrialRunning(commandChannel, trialDetail);
await verifyTrialResult(commandChannel, trialDetail, 0);
//
chai.assert.equal(command.data["gpuIndices"], "0");
chai.assert.equal(command.data["gpuIndices"], "0");
});
it('GPUScheduler skipped no GPU info', async () => {
...
...
@@ -709,4 +710,5 @@ describe('Unit Test for TrialDispatcher', () => {
const listedTrials = await trialDispatcher.listTrialJobs();
chai.assert.equal(listedTrials.length, 6);
});
*/
});
ts/nni_manager/training_service/reusable/
test/
utCommandChannel.ts
→
ts/nni_manager/
test/
training_service/reusable/utCommandChannel.ts
View file @
094ed9f1
...
...
@@ -2,8 +2,8 @@
// Licensed under the MIT license.
import
{
encodeCommand
}
from
"
../../../core/ipcInterface
"
;
import
{
Command
,
CommandChannel
,
RunnerConnection
}
from
"
../commandChannel
"
;
import
{
Channel
,
EnvironmentInformation
}
from
"
../environment
"
;
import
{
Command
,
CommandChannel
,
RunnerConnection
}
from
"
../
../../training_service/reusable/
commandChannel
"
;
import
{
Channel
,
EnvironmentInformation
}
from
"
../
../../training_service/reusable/
environment
"
;
class
UtRunnerConnection
extends
RunnerConnection
{
...
...
ts/nni_manager/training_service/reusable/
test/
utEnvironmentService.ts
→
ts/nni_manager/
test/
training_service/reusable/utEnvironmentService.ts
View file @
094ed9f1
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
import
{
Channel
,
EnvironmentInformation
,
EnvironmentService
,
EnvironmentStatus
}
from
"
../environment
"
;
import
{
Channel
,
EnvironmentInformation
,
EnvironmentService
,
EnvironmentStatus
}
from
"
../
../../training_service/reusable/
environment
"
;
import
{
EventEmitter
}
from
'
events
'
;
import
{
UtCommandChannel
}
from
"
./utCommandChannel
"
;
...
...
ts/nni_manager/tsconfig.json
View file @
094ed9f1
...
...
@@ -15,6 +15,7 @@
]
},
"exclude"
:
[
"node_modules"
"node_modules"
,
"test"
]
}
ts/nni_manager/yarn.lock
View file @
094ed9f1
...
...
@@ -955,7 +955,7 @@ ansistyles@~0.1.3:
resolved "https://registry.yarnpkg.com/ansistyles/-/ansistyles-0.1.3.tgz#5de60415bda071bb37127854c864f41b23254539"
integrity sha1-XeYEFb2gcbs3EnhUyGT0GyMlRTk=
anymatch@~3.1.
1
:
anymatch@~3.1.
2
:
version "3.1.2"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
...
...
@@ -1398,20 +1398,20 @@ child-process-promise@^2.2.1:
node-version "^1.0.0"
promise-polyfill "^6.0.1"
chokidar@3.5.
1
:
version "3.5.
1
"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.
1
.tgz#
ee9ce7bbebd2b79f49f304799d5468e31e14e68a
"
integrity sha512-
9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw
==
chokidar@3.5.
2
:
version "3.5.
2
"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.
2
.tgz#
dba3976fcadb016f66fd365021d91600d01c1e75
"
integrity sha512-
ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ
==
dependencies:
anymatch "~3.1.
1
"
anymatch "~3.1.
2
"
braces "~3.0.2"
glob-parent "~5.1.
0
"
glob-parent "~5.1.
2
"
is-binary-path "~2.1.0"
is-glob "~4.0.1"
normalize-path "~3.0.0"
readdirp "~3.
5
.0"
readdirp "~3.
6
.0"
optionalDependencies:
fsevents "~2.3.
1
"
fsevents "~2.3.
2
"
chownr@^1.1.1:
version "1.1.4"
...
...
@@ -2380,7 +2380,7 @@ fs.realpath@^1.0.0:
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
fsevents@~2.3.
1
:
fsevents@~2.3.
2
:
version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
...
...
@@ -2472,26 +2472,14 @@ getpass@^0.1.1:
dependencies:
assert-plus "^1.0.0"
glob-parent@>=6.0.0, glob-parent@^3.0.0, glob-parent@^5.1.0, glob-parent@^5.1.2, glob-parent@~5.1.
0
:
glob-parent@>=6.0.0, glob-parent@^3.0.0, glob-parent@^5.1.0, glob-parent@^5.1.2, glob-parent@~5.1.
2
:
version "6.0.0"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.0.tgz#f851b59b388e788f3a44d63fab50382b2859c33c"
integrity sha512-Hdd4287VEJcZXUwv1l8a+vXC1GjOQqXe+VS30w/ypihpcnu9M1n3xeYeJu5CBpeEQj2nAab2xxz28GuA3vp4Ww==
dependencies:
is-glob "^4.0.1"
glob@7.1.6:
version "7.1.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
minimatch "^3.0.4"
once "^1.3.0"
path-is-absolute "^1.0.0"
glob@^7.0.3, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7:
glob@7.1.7, glob@^7.0.3, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7:
version "7.1.7"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
...
...
@@ -3053,6 +3041,11 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0:
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
is-unicode-supported@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
is-windows@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
...
...
@@ -3173,10 +3166,10 @@ js-tokens@^4.0.0:
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
js-yaml@4.
0
.0:
version "4.
0
.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.
0
.0.tgz#
f426bc0ff4b4051926cd588c71113183409a121f
"
integrity sha512-
pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q
==
js-yaml@4.
1
.0:
version "4.
1
.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.
1
.0.tgz#
c1fb65f8f5017901cdd2c951864ba18458a10602
"
integrity sha512-
wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA
==
dependencies:
argparse "^2.0.1"
...
...
@@ -3532,12 +3525,13 @@ lodash@^4.17.11, lodash@^4.17.15:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
log-symbols@4.
0
.0:
version "4.
0
.0"
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.
0
.0.tgz#
69b3cc46d20f448eccdb75ea1fa733d9e821c920
"
integrity sha512-
FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA
==
log-symbols@4.
1
.0:
version "4.
1
.0"
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.
1
.0.tgz#
3fbdbb95b4683ac9fc785111e792e558d4abd503
"
integrity sha512-
8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg
==
dependencies:
chalk "^4.0.0"
chalk "^4.1.0"
is-unicode-supported "^0.1.0"
long@^4.0.0:
version "4.0.0"
...
...
@@ -3823,33 +3817,33 @@ mkdirp@^1.0.3, mkdirp@^1.0.4:
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
mocha@^
8.4.0
:
version "
8.4.0
"
resolved "https://registry.yarnpkg.com/mocha/-/mocha-
8.4.0.tgz#677be88bf15980a3cae03a73e10a0fc3997f0cff
"
integrity sha512-
hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ
==
mocha@^
9.0.2
:
version "
9.0.2
"
resolved "https://registry.yarnpkg.com/mocha/-/mocha-
9.0.2.tgz#e84849b61f406a680ced85af76425f6f3108d1a0
"
integrity sha512-
FpspiWU+UT9Sixx/wKimvnpkeW0mh6ROAKkIaPokj3xZgxeRhcna/k5X57jJghEr8X+Cgu/Vegf8zCX5ugSuTA
==
dependencies:
"@ungap/promise-all-settled" "1.1.2"
ansi-colors "4.1.1"
browser-stdout "1.3.1"
chokidar "3.5.
1
"
chokidar "3.5.
2
"
debug "4.3.1"
diff "5.0.0"
escape-string-regexp "4.0.0"
find-up "5.0.0"
glob "7.1.
6
"
glob "7.1.
7
"
growl "1.10.5"
he "1.2.0"
js-yaml "4.
0
.0"
log-symbols "4.
0
.0"
js-yaml "4.
1
.0"
log-symbols "4.
1
.0"
minimatch "3.0.4"
ms "2.1.3"
nanoid "3.1.2
0
"
serialize-javascript "
5
.0.
1
"
nanoid "3.1.2
3
"
serialize-javascript "
6
.0.
0
"
strip-json-comments "3.1.1"
supports-color "8.1.1"
which "2.0.2"
wide-align "1.1.3"
workerpool "6.1.
0
"
workerpool "6.1.
5
"
yargs "16.2.0"
yargs-parser "20.2.4"
yargs-unparser "2.0.0"
...
...
@@ -3884,10 +3878,10 @@ nan@^2.14.1, nan@^2.14.2:
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19"
integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==
nanoid@3.1.2
0
:
version "3.1.2
0
"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.2
0
.tgz#
badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788
"
integrity sha512-
a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Ux
w==
nanoid@3.1.2
3
:
version "3.1.2
3
"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.2
3
.tgz#
f744086ce7c2bc47ee0a8472574d5c78e4183a81
"
integrity sha512-
FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVn
w==
natural-compare@^1.4.0:
version "1.4.0"
...
...
@@ -4942,10 +4936,10 @@ readdir-scoped-modules@^1.1.0:
graceful-fs "^4.1.2"
once "^1.3.0"
readdirp@~3.
5
.0:
version "3.
5
.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.
5
.0.tgz#
9ba74c019b15d365278d2e91bb8c48d7b4d42c9e
"
integrity sha512-
cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ
==
readdirp@~3.
6
.0:
version "3.
6
.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.
6
.0.tgz#
74a370bd857116e245b29cc97340cd431a02a6c7
"
integrity sha512-
hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA
==
dependencies:
picomatch "^2.2.1"
...
...
@@ -5182,10 +5176,10 @@ send@0.17.1:
range-parser "~1.2.1"
statuses "~1.5.0"
serialize-javascript@
5
.0.
1
:
version "
5
.0.
1
"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-
5
.0.
1
.tgz#
7886ec848049a462467a97d3d918ebb2aaf934f4
"
integrity sha512-
SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA
==
serialize-javascript@
6
.0.
0
:
version "
6
.0.
0
"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-
6
.0.
0
.tgz#
efae5d88f45d7924141da8b5c3a7a7e663fefeb8
"
integrity sha512-
Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag
==
dependencies:
randombytes "^2.1.0"
...
...
@@ -5950,10 +5944,10 @@ word-wrap@^1.2.3:
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
workerpool@6.1.
0
:
version "6.1.
0
"
resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.
0
.tgz#
a8e038b4c94569596852de7a8ea4228eefdeb37b
"
integrity sha512-
toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg
==
workerpool@6.1.
5
:
version "6.1.
5
"
resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.
5
.tgz#
0f7cf076b6215fd7e1da903ff6f22ddd1886b581
"
integrity sha512-
XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw
==
wrap-ansi@^2.0.0:
version "2.1.0"
...
...
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment