appmap_depends 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1b9b4ea40ab4a29c1a948d170192055e2968066202355029e700f4fc2b81ab7
4
- data.tar.gz: 6391eccbb15cca43cd41f6bb3f379559186117122388aefd50b7bd5396b135a9
3
+ metadata.gz: 61450fe5109787d571ca7062109d4ca887a2b852663f344fc1de108549001d4a
4
+ data.tar.gz: 83a0cde1a756cce056176c1388832539f729e194ee23c687f371fa7735a86ccc
5
5
  SHA512:
6
- metadata.gz: 2c9f085dc5e91d28da82048ff7b91f630caebc8281f126352e03aaedda2303ab8db2d86f5b8e83ac9d5c58e522745ebdcebd59f3fef7a2c76163ff03c5670cce
7
- data.tar.gz: 68595be48e354a7bcaaa26731347a1e4593f84fa8418c564ee301ae9b4570a5973d3cdf54772a277f5032cc0917c865739bfbe1dbff3d763031e820be9f9e86e
6
+ metadata.gz: 2965ebae001844b72833ff245f6733f88437fc54902be85224b3205ef7cd3eed712aed948d4c6bc648a47a7bbb78994cc71403046c6b44469d1890ed27ca56c1
7
+ data.tar.gz: c9cb4cef05d316be80cd3fc1ca488735f728d8035896b2e1625e24661399f522156e5b3eae41141ef76924652268ee7d34ded86e373edf470eaf9d9a3a28a056
data/.gitignore CHANGED
@@ -8,3 +8,5 @@
8
8
  /tmp/
9
9
  Gemfile.lock
10
10
  .byebug_history
11
+ node_modules
12
+
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # v0.3.0
2
+
3
+ * Add top-level function 'remove_out_of_date_appmaps'.
4
+
1
5
  # v0.2.0
2
6
 
3
7
  * Switch to the monorepo version of `@appland/cli`.
@@ -27,5 +27,5 @@ Gem::Specification.new do |spec|
27
27
  spec.add_dependency 'rake'
28
28
  spec.add_dependency 'activesupport'
29
29
 
30
- spec.add_development_dependency 'minitest'
30
+ spec.add_development_dependency 'rspec'
31
31
  end
@@ -23,7 +23,7 @@ module AppMap
23
23
  Set.new prune_directory_prefix(test_files)
24
24
  end
25
25
 
26
- def inspect_test_files(appmap_dir = DEFAULT_APPMAP_DIR, test_file_patterns = DEFAULT_TEST_FILE_PATTERNS)
26
+ def inspect_test_files(appmap_dir: DEFAULT_APPMAP_DIR, test_file_patterns: DEFAULT_TEST_FILE_PATTERNS)
27
27
  inspector = AppMap::Depends::TestFileInspector.new(appmap_dir, test_file_patterns)
28
28
  inspector.report
29
29
  end
@@ -41,6 +41,31 @@ module AppMap
41
41
  system(%(./node_modules/@appland/cli/src/cli.js index --appmap-dir #{appmap_dir.shellescape}))
42
42
  end
43
43
 
44
+ # Remove out-of-date AppMaps which are unmodified +since+ the start time. This operation is used to remove AppMaps
45
+ # that were previously generated from a test case that has been removed from a test file.
46
+ #
47
+ # * +since+ an instance of Time
48
+ def remove_out_of_date_appmaps(since, appmap_dir: DEFAULT_APPMAP_DIR, base_dir: nil)
49
+ since_ms = ( since.to_f * 1000 ).to_i
50
+
51
+ depends = AppMap::Depends::AppMapJSDepends.new(appmap_dir)
52
+ depends.base_dir = base_dir if base_dir
53
+ depends.field = nil
54
+ out_of_date_appmaps = depends.depends
55
+ removed = []
56
+ out_of_date_appmaps.each do |appmap_path|
57
+ mtime_path = File.join(appmap_path, 'mtime')
58
+ next unless File.exists?(mtime_path)
59
+
60
+ appmap_mtime = File.read(mtime_path).to_i
61
+ if appmap_mtime < since_ms
62
+ Util.delete_appmap appmap_path
63
+ removed << appmap_path
64
+ end
65
+ end
66
+ removed.sort
67
+ end
68
+
44
69
  protected
45
70
 
46
71
  def prune_directory_prefix(files)
@@ -1,5 +1,9 @@
1
1
  APPMAP_JS = './node_modules/@appland/appmap/src/cli.js'
2
2
 
3
+ require 'open3'
4
+ require 'active_support'
5
+ require 'active_support/core_ext'
6
+
3
7
  module AppMap
4
8
  module Depends
5
9
  # Utilities for invoking the +@appland/appmap+ CLI.
@@ -30,6 +34,7 @@ module AppMap
30
34
  def appmap_js_command(command, options = {})
31
35
  command.unshift << '--verbose' if Depends.verbose
32
36
  command.unshift APPMAP_JS
37
+ command.unshift 'node'
33
38
 
34
39
  warn command.join(' ') if Depends.verbose
35
40
  stdout, stderr, status = Open3.capture3({ 'NODE_OPTIONS' => '--trace-warnings' }, *command, options)
@@ -11,10 +11,13 @@ module AppMap
11
11
  attr_accessor :appmap_dir
12
12
  # Directory name to prefix to the list of modified files which is provided to +depends+.
13
13
  attr_accessor :base_dir
14
+ # AppMap field to report.
15
+ attr_accessor :field
14
16
 
15
17
  def initialize(appmap_dir)
16
18
  @appmap_dir = appmap_dir
17
19
  @base_dir = false
20
+ @field = 'source_location'
18
21
  end
19
22
 
20
23
  # Ensures that all dependencies are available.
@@ -30,7 +33,8 @@ module AppMap
30
33
 
31
34
  index_appmaps(appmap_dir)
32
35
 
33
- cmd = %w[depends --field source_location]
36
+ cmd = %w[depends]
37
+ cmd += [ '--field', field ] if field
34
38
  cmd += [ '--appmap-dir', appmap_dir ] if appmap_dir
35
39
  cmd += [ '--base-dir', base_dir ] if base_dir
36
40
 
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'json'
4
+
3
5
  module AppMap
4
6
  module Depends
5
7
  class TestFileInspector
@@ -31,19 +33,13 @@ module AppMap
31
33
  def clean_appmaps
32
34
  return if removed.empty?
33
35
 
34
- delete_appmap = lambda do |appmap_path|
35
- FileUtils.rm_rf(appmap_path)
36
- appmap_file_path = [ appmap_path, 'appmap.json' ].join('.')
37
- File.unlink(appmap_file_path) if File.exists?(appmap_file_path)
38
- end
39
-
40
36
  count = metadata_files.each_with_object(0) do |metadata_file, count|
41
37
  metadata = JSON.parse(File.read(metadata_file))
42
38
  source_location = Util.normalize_path(metadata['source_location'])
43
39
  appmap_path = File.join(metadata_file.split('/')[0...-1])
44
40
 
45
- if removed.member?(source_location)
46
- delete_appmap.(appmap_path)
41
+ if source_location && removed.member?(source_location)
42
+ Util.delete_appmap(appmap_path)
47
43
  count += 1
48
44
  end
49
45
  end
@@ -84,10 +80,11 @@ module AppMap
84
80
  end
85
81
 
86
82
  test_files = Set.new(test_file_patterns.map(&Dir.method(:glob)).flatten)
87
- new_test_files = test_files - source_locations
88
- obsolete_test_files = source_locations - test_files
83
+ added_test_files = test_files - source_locations
84
+ changed_test_files -= added_test_files
85
+ removed_test_files = source_locations - test_files
89
86
 
90
- TestReport.new(metadata_files, new_test_files, obsolete_test_files, changed_test_files, failed_test_files)
87
+ TestReport.new(metadata_files, added_test_files, removed_test_files, changed_test_files, failed_test_files)
91
88
  end
92
89
  end
93
90
  end
@@ -10,11 +10,21 @@ module AppMap
10
10
  def normalize_paths(paths, pwd: Dir.pwd)
11
11
  paths.map(&normalize_path_fn(pwd))
12
12
  end
13
+
14
+ def delete_appmap(appmap_path)
15
+ FileUtils.rm_rf(appmap_path)
16
+ appmap_file_path = [ appmap_path, 'appmap.json' ].join('.')
17
+ File.unlink(appmap_file_path) if File.exists?(appmap_file_path)
18
+ rescue
19
+ warn "Unable to delete AppMap: #{$!}"
20
+ end
13
21
 
14
22
  private
15
23
 
16
24
  def normalize_path_fn(pwd)
17
25
  lambda do |path|
26
+ next path if path.blank?
27
+
18
28
  path = path[pwd.length + 1..-1] if path.index(pwd) == 0
19
29
  path.split(':')[0]
20
30
  end
@@ -1,5 +1,5 @@
1
1
  module AppMap
2
2
  module Depends
3
- VERSION = "0.2.0"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end
data/package-lock.json ADDED
@@ -0,0 +1,1293 @@
1
+ {
2
+ "name": "appmap_depends-ruby",
3
+ "lockfileVersion": 2,
4
+ "requires": true,
5
+ "packages": {
6
+ "": {
7
+ "devDependencies": {
8
+ "@appland/cli": "^1.0.3"
9
+ }
10
+ },
11
+ "node_modules/@appland/cli": {
12
+ "version": "1.0.3",
13
+ "resolved": "https://registry.npmjs.org/@appland/cli/-/cli-1.0.3.tgz",
14
+ "integrity": "sha512-MrngUqU3IeehkLyw1y/gzArJaHmNZoeJeGUW7wsluyUheIQ9b/d4tOYgGEGhRqA0mlprm0XlgPL7VC02CjbeKw==",
15
+ "dev": true,
16
+ "dependencies": {
17
+ "@appland/models": "1.0.3",
18
+ "async": "^3.2.0",
19
+ "chokidar": "^3.5.1",
20
+ "crypto-js": "^4.0.0",
21
+ "diff": "^5.0.0",
22
+ "fs-extra": "^9.1.0",
23
+ "glob": "^7.1.6",
24
+ "js-yaml": "^3.14.1",
25
+ "yargs": "^17.0.1"
26
+ }
27
+ },
28
+ "node_modules/@appland/models": {
29
+ "version": "1.0.3",
30
+ "resolved": "https://registry.npmjs.org/@appland/models/-/models-1.0.3.tgz",
31
+ "integrity": "sha512-r3fpSM4BLOGcQssXKkXUKQdsqJ370by6df0hLtZmLHuasiovM/S4RpJER0Ey0SdrS/RAh4jpKV5TWeEBJyIDaw==",
32
+ "dev": true,
33
+ "dependencies": {
34
+ "@rollup/plugin-alias": "^3.1.2",
35
+ "cross-env": "^7.0.3",
36
+ "crypto-js": "^4.0.0",
37
+ "sqlite-parser": "^1.0.1"
38
+ }
39
+ },
40
+ "node_modules/@rollup/plugin-alias": {
41
+ "version": "3.1.2",
42
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-3.1.2.tgz",
43
+ "integrity": "sha512-wzDnQ6v7CcoRzS0qVwFPrFdYA4Qlr+ookA217Y2Z3DPZE1R8jrFNM3jvGgOf6o6DMjbnQIn5lCIJgHPe1Bt3uw==",
44
+ "dev": true,
45
+ "dependencies": {
46
+ "slash": "^3.0.0"
47
+ },
48
+ "engines": {
49
+ "node": ">=8.0.0"
50
+ },
51
+ "peerDependencies": {
52
+ "rollup": "^1.20.0||^2.0.0"
53
+ }
54
+ },
55
+ "node_modules/ansi-regex": {
56
+ "version": "5.0.0",
57
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
58
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
59
+ "dev": true,
60
+ "engines": {
61
+ "node": ">=8"
62
+ }
63
+ },
64
+ "node_modules/ansi-styles": {
65
+ "version": "4.3.0",
66
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
67
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
68
+ "dev": true,
69
+ "dependencies": {
70
+ "color-convert": "^2.0.1"
71
+ },
72
+ "engines": {
73
+ "node": ">=8"
74
+ },
75
+ "funding": {
76
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
77
+ }
78
+ },
79
+ "node_modules/anymatch": {
80
+ "version": "3.1.2",
81
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
82
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
83
+ "dev": true,
84
+ "dependencies": {
85
+ "normalize-path": "^3.0.0",
86
+ "picomatch": "^2.0.4"
87
+ },
88
+ "engines": {
89
+ "node": ">= 8"
90
+ }
91
+ },
92
+ "node_modules/argparse": {
93
+ "version": "1.0.10",
94
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
95
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
96
+ "dev": true,
97
+ "dependencies": {
98
+ "sprintf-js": "~1.0.2"
99
+ }
100
+ },
101
+ "node_modules/async": {
102
+ "version": "3.2.0",
103
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz",
104
+ "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==",
105
+ "dev": true
106
+ },
107
+ "node_modules/at-least-node": {
108
+ "version": "1.0.0",
109
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
110
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
111
+ "dev": true,
112
+ "engines": {
113
+ "node": ">= 4.0.0"
114
+ }
115
+ },
116
+ "node_modules/balanced-match": {
117
+ "version": "1.0.2",
118
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
119
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
120
+ "dev": true
121
+ },
122
+ "node_modules/binary-extensions": {
123
+ "version": "2.2.0",
124
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
125
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
126
+ "dev": true,
127
+ "engines": {
128
+ "node": ">=8"
129
+ }
130
+ },
131
+ "node_modules/brace-expansion": {
132
+ "version": "1.1.11",
133
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
134
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
135
+ "dev": true,
136
+ "dependencies": {
137
+ "balanced-match": "^1.0.0",
138
+ "concat-map": "0.0.1"
139
+ }
140
+ },
141
+ "node_modules/braces": {
142
+ "version": "3.0.2",
143
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
144
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
145
+ "dev": true,
146
+ "dependencies": {
147
+ "fill-range": "^7.0.1"
148
+ },
149
+ "engines": {
150
+ "node": ">=8"
151
+ }
152
+ },
153
+ "node_modules/chokidar": {
154
+ "version": "3.5.1",
155
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
156
+ "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
157
+ "dev": true,
158
+ "dependencies": {
159
+ "anymatch": "~3.1.1",
160
+ "braces": "~3.0.2",
161
+ "glob-parent": "~5.1.0",
162
+ "is-binary-path": "~2.1.0",
163
+ "is-glob": "~4.0.1",
164
+ "normalize-path": "~3.0.0",
165
+ "readdirp": "~3.5.0"
166
+ },
167
+ "engines": {
168
+ "node": ">= 8.10.0"
169
+ },
170
+ "optionalDependencies": {
171
+ "fsevents": "~2.3.1"
172
+ }
173
+ },
174
+ "node_modules/cliui": {
175
+ "version": "7.0.4",
176
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
177
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
178
+ "dev": true,
179
+ "dependencies": {
180
+ "string-width": "^4.2.0",
181
+ "strip-ansi": "^6.0.0",
182
+ "wrap-ansi": "^7.0.0"
183
+ }
184
+ },
185
+ "node_modules/color-convert": {
186
+ "version": "2.0.1",
187
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
188
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
189
+ "dev": true,
190
+ "dependencies": {
191
+ "color-name": "~1.1.4"
192
+ },
193
+ "engines": {
194
+ "node": ">=7.0.0"
195
+ }
196
+ },
197
+ "node_modules/color-name": {
198
+ "version": "1.1.4",
199
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
200
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
201
+ "dev": true
202
+ },
203
+ "node_modules/concat-map": {
204
+ "version": "0.0.1",
205
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
206
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
207
+ "dev": true
208
+ },
209
+ "node_modules/cross-env": {
210
+ "version": "7.0.3",
211
+ "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
212
+ "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
213
+ "dev": true,
214
+ "dependencies": {
215
+ "cross-spawn": "^7.0.1"
216
+ },
217
+ "bin": {
218
+ "cross-env": "src/bin/cross-env.js",
219
+ "cross-env-shell": "src/bin/cross-env-shell.js"
220
+ },
221
+ "engines": {
222
+ "node": ">=10.14",
223
+ "npm": ">=6",
224
+ "yarn": ">=1"
225
+ }
226
+ },
227
+ "node_modules/cross-spawn": {
228
+ "version": "7.0.3",
229
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
230
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
231
+ "dev": true,
232
+ "dependencies": {
233
+ "path-key": "^3.1.0",
234
+ "shebang-command": "^2.0.0",
235
+ "which": "^2.0.1"
236
+ },
237
+ "engines": {
238
+ "node": ">= 8"
239
+ }
240
+ },
241
+ "node_modules/crypto-js": {
242
+ "version": "4.0.0",
243
+ "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.0.0.tgz",
244
+ "integrity": "sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg==",
245
+ "dev": true
246
+ },
247
+ "node_modules/diff": {
248
+ "version": "5.0.0",
249
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
250
+ "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
251
+ "dev": true,
252
+ "engines": {
253
+ "node": ">=0.3.1"
254
+ }
255
+ },
256
+ "node_modules/emoji-regex": {
257
+ "version": "8.0.0",
258
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
259
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
260
+ "dev": true
261
+ },
262
+ "node_modules/escalade": {
263
+ "version": "3.1.1",
264
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
265
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
266
+ "dev": true,
267
+ "engines": {
268
+ "node": ">=6"
269
+ }
270
+ },
271
+ "node_modules/esprima": {
272
+ "version": "4.0.1",
273
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
274
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
275
+ "dev": true,
276
+ "bin": {
277
+ "esparse": "bin/esparse.js",
278
+ "esvalidate": "bin/esvalidate.js"
279
+ },
280
+ "engines": {
281
+ "node": ">=4"
282
+ }
283
+ },
284
+ "node_modules/fill-range": {
285
+ "version": "7.0.1",
286
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
287
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
288
+ "dev": true,
289
+ "dependencies": {
290
+ "to-regex-range": "^5.0.1"
291
+ },
292
+ "engines": {
293
+ "node": ">=8"
294
+ }
295
+ },
296
+ "node_modules/fs-extra": {
297
+ "version": "9.1.0",
298
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
299
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
300
+ "dev": true,
301
+ "dependencies": {
302
+ "at-least-node": "^1.0.0",
303
+ "graceful-fs": "^4.2.0",
304
+ "jsonfile": "^6.0.1",
305
+ "universalify": "^2.0.0"
306
+ },
307
+ "engines": {
308
+ "node": ">=10"
309
+ }
310
+ },
311
+ "node_modules/fs.realpath": {
312
+ "version": "1.0.0",
313
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
314
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
315
+ "dev": true
316
+ },
317
+ "node_modules/fsevents": {
318
+ "version": "2.3.2",
319
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
320
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
321
+ "dev": true,
322
+ "hasInstallScript": true,
323
+ "optional": true,
324
+ "os": [
325
+ "darwin"
326
+ ],
327
+ "engines": {
328
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
329
+ }
330
+ },
331
+ "node_modules/get-caller-file": {
332
+ "version": "2.0.5",
333
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
334
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
335
+ "dev": true,
336
+ "engines": {
337
+ "node": "6.* || 8.* || >= 10.*"
338
+ }
339
+ },
340
+ "node_modules/glob": {
341
+ "version": "7.1.7",
342
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
343
+ "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
344
+ "dev": true,
345
+ "dependencies": {
346
+ "fs.realpath": "^1.0.0",
347
+ "inflight": "^1.0.4",
348
+ "inherits": "2",
349
+ "minimatch": "^3.0.4",
350
+ "once": "^1.3.0",
351
+ "path-is-absolute": "^1.0.0"
352
+ },
353
+ "engines": {
354
+ "node": "*"
355
+ },
356
+ "funding": {
357
+ "url": "https://github.com/sponsors/isaacs"
358
+ }
359
+ },
360
+ "node_modules/glob-parent": {
361
+ "version": "5.1.2",
362
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
363
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
364
+ "dev": true,
365
+ "dependencies": {
366
+ "is-glob": "^4.0.1"
367
+ },
368
+ "engines": {
369
+ "node": ">= 6"
370
+ }
371
+ },
372
+ "node_modules/graceful-fs": {
373
+ "version": "4.2.6",
374
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
375
+ "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
376
+ "dev": true
377
+ },
378
+ "node_modules/inflight": {
379
+ "version": "1.0.6",
380
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
381
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
382
+ "dev": true,
383
+ "dependencies": {
384
+ "once": "^1.3.0",
385
+ "wrappy": "1"
386
+ }
387
+ },
388
+ "node_modules/inherits": {
389
+ "version": "2.0.4",
390
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
391
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
392
+ "dev": true
393
+ },
394
+ "node_modules/is-binary-path": {
395
+ "version": "2.1.0",
396
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
397
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
398
+ "dev": true,
399
+ "dependencies": {
400
+ "binary-extensions": "^2.0.0"
401
+ },
402
+ "engines": {
403
+ "node": ">=8"
404
+ }
405
+ },
406
+ "node_modules/is-extglob": {
407
+ "version": "2.1.1",
408
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
409
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
410
+ "dev": true,
411
+ "engines": {
412
+ "node": ">=0.10.0"
413
+ }
414
+ },
415
+ "node_modules/is-fullwidth-code-point": {
416
+ "version": "3.0.0",
417
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
418
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
419
+ "dev": true,
420
+ "engines": {
421
+ "node": ">=8"
422
+ }
423
+ },
424
+ "node_modules/is-glob": {
425
+ "version": "4.0.1",
426
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
427
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
428
+ "dev": true,
429
+ "dependencies": {
430
+ "is-extglob": "^2.1.1"
431
+ },
432
+ "engines": {
433
+ "node": ">=0.10.0"
434
+ }
435
+ },
436
+ "node_modules/is-number": {
437
+ "version": "7.0.0",
438
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
439
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
440
+ "dev": true,
441
+ "engines": {
442
+ "node": ">=0.12.0"
443
+ }
444
+ },
445
+ "node_modules/isexe": {
446
+ "version": "2.0.0",
447
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
448
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
449
+ "dev": true
450
+ },
451
+ "node_modules/js-yaml": {
452
+ "version": "3.14.1",
453
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
454
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
455
+ "dev": true,
456
+ "dependencies": {
457
+ "argparse": "^1.0.7",
458
+ "esprima": "^4.0.0"
459
+ },
460
+ "bin": {
461
+ "js-yaml": "bin/js-yaml.js"
462
+ }
463
+ },
464
+ "node_modules/jsonfile": {
465
+ "version": "6.1.0",
466
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
467
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
468
+ "dev": true,
469
+ "dependencies": {
470
+ "universalify": "^2.0.0"
471
+ },
472
+ "optionalDependencies": {
473
+ "graceful-fs": "^4.1.6"
474
+ }
475
+ },
476
+ "node_modules/minimatch": {
477
+ "version": "3.0.4",
478
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
479
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
480
+ "dev": true,
481
+ "dependencies": {
482
+ "brace-expansion": "^1.1.7"
483
+ },
484
+ "engines": {
485
+ "node": "*"
486
+ }
487
+ },
488
+ "node_modules/normalize-path": {
489
+ "version": "3.0.0",
490
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
491
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
492
+ "dev": true,
493
+ "engines": {
494
+ "node": ">=0.10.0"
495
+ }
496
+ },
497
+ "node_modules/once": {
498
+ "version": "1.4.0",
499
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
500
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
501
+ "dev": true,
502
+ "dependencies": {
503
+ "wrappy": "1"
504
+ }
505
+ },
506
+ "node_modules/path-is-absolute": {
507
+ "version": "1.0.1",
508
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
509
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
510
+ "dev": true,
511
+ "engines": {
512
+ "node": ">=0.10.0"
513
+ }
514
+ },
515
+ "node_modules/path-key": {
516
+ "version": "3.1.1",
517
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
518
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
519
+ "dev": true,
520
+ "engines": {
521
+ "node": ">=8"
522
+ }
523
+ },
524
+ "node_modules/picomatch": {
525
+ "version": "2.3.0",
526
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
527
+ "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
528
+ "dev": true,
529
+ "engines": {
530
+ "node": ">=8.6"
531
+ },
532
+ "funding": {
533
+ "url": "https://github.com/sponsors/jonschlinkert"
534
+ }
535
+ },
536
+ "node_modules/readdirp": {
537
+ "version": "3.5.0",
538
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
539
+ "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
540
+ "dev": true,
541
+ "dependencies": {
542
+ "picomatch": "^2.2.1"
543
+ },
544
+ "engines": {
545
+ "node": ">=8.10.0"
546
+ }
547
+ },
548
+ "node_modules/require-directory": {
549
+ "version": "2.1.1",
550
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
551
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
552
+ "dev": true,
553
+ "engines": {
554
+ "node": ">=0.10.0"
555
+ }
556
+ },
557
+ "node_modules/rollup": {
558
+ "version": "2.50.0",
559
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.50.0.tgz",
560
+ "integrity": "sha512-wO+F2MqWPGUCZx0549oqY8dsQqHVjuSxoyBWWnxKoQE+1UGcDKjtL7wHq/8jnnLJEeoGDQLf3ztrpgRwlbGJ0A==",
561
+ "dev": true,
562
+ "peer": true,
563
+ "bin": {
564
+ "rollup": "dist/bin/rollup"
565
+ },
566
+ "engines": {
567
+ "node": ">=10.0.0"
568
+ },
569
+ "optionalDependencies": {
570
+ "fsevents": "~2.3.1"
571
+ }
572
+ },
573
+ "node_modules/shebang-command": {
574
+ "version": "2.0.0",
575
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
576
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
577
+ "dev": true,
578
+ "dependencies": {
579
+ "shebang-regex": "^3.0.0"
580
+ },
581
+ "engines": {
582
+ "node": ">=8"
583
+ }
584
+ },
585
+ "node_modules/shebang-regex": {
586
+ "version": "3.0.0",
587
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
588
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
589
+ "dev": true,
590
+ "engines": {
591
+ "node": ">=8"
592
+ }
593
+ },
594
+ "node_modules/slash": {
595
+ "version": "3.0.0",
596
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
597
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
598
+ "dev": true,
599
+ "engines": {
600
+ "node": ">=8"
601
+ }
602
+ },
603
+ "node_modules/sprintf-js": {
604
+ "version": "1.0.3",
605
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
606
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
607
+ "dev": true
608
+ },
609
+ "node_modules/sqlite-parser": {
610
+ "version": "1.0.1",
611
+ "resolved": "https://registry.npmjs.org/sqlite-parser/-/sqlite-parser-1.0.1.tgz",
612
+ "integrity": "sha1-EQGD8mgvBKxsfYrQnEREbvl21ew=",
613
+ "dev": true,
614
+ "bin": {
615
+ "sqlite-parser": "bin/sqlite-parser"
616
+ },
617
+ "engines": {
618
+ "node": ">=4"
619
+ }
620
+ },
621
+ "node_modules/string-width": {
622
+ "version": "4.2.2",
623
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
624
+ "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
625
+ "dev": true,
626
+ "dependencies": {
627
+ "emoji-regex": "^8.0.0",
628
+ "is-fullwidth-code-point": "^3.0.0",
629
+ "strip-ansi": "^6.0.0"
630
+ },
631
+ "engines": {
632
+ "node": ">=8"
633
+ }
634
+ },
635
+ "node_modules/strip-ansi": {
636
+ "version": "6.0.0",
637
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
638
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
639
+ "dev": true,
640
+ "dependencies": {
641
+ "ansi-regex": "^5.0.0"
642
+ },
643
+ "engines": {
644
+ "node": ">=8"
645
+ }
646
+ },
647
+ "node_modules/to-regex-range": {
648
+ "version": "5.0.1",
649
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
650
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
651
+ "dev": true,
652
+ "dependencies": {
653
+ "is-number": "^7.0.0"
654
+ },
655
+ "engines": {
656
+ "node": ">=8.0"
657
+ }
658
+ },
659
+ "node_modules/universalify": {
660
+ "version": "2.0.0",
661
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
662
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
663
+ "dev": true,
664
+ "engines": {
665
+ "node": ">= 10.0.0"
666
+ }
667
+ },
668
+ "node_modules/which": {
669
+ "version": "2.0.2",
670
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
671
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
672
+ "dev": true,
673
+ "dependencies": {
674
+ "isexe": "^2.0.0"
675
+ },
676
+ "bin": {
677
+ "node-which": "bin/node-which"
678
+ },
679
+ "engines": {
680
+ "node": ">= 8"
681
+ }
682
+ },
683
+ "node_modules/wrap-ansi": {
684
+ "version": "7.0.0",
685
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
686
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
687
+ "dev": true,
688
+ "dependencies": {
689
+ "ansi-styles": "^4.0.0",
690
+ "string-width": "^4.1.0",
691
+ "strip-ansi": "^6.0.0"
692
+ },
693
+ "engines": {
694
+ "node": ">=10"
695
+ },
696
+ "funding": {
697
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
698
+ }
699
+ },
700
+ "node_modules/wrappy": {
701
+ "version": "1.0.2",
702
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
703
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
704
+ "dev": true
705
+ },
706
+ "node_modules/y18n": {
707
+ "version": "5.0.8",
708
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
709
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
710
+ "dev": true,
711
+ "engines": {
712
+ "node": ">=10"
713
+ }
714
+ },
715
+ "node_modules/yargs": {
716
+ "version": "17.0.1",
717
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.0.1.tgz",
718
+ "integrity": "sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==",
719
+ "dev": true,
720
+ "dependencies": {
721
+ "cliui": "^7.0.2",
722
+ "escalade": "^3.1.1",
723
+ "get-caller-file": "^2.0.5",
724
+ "require-directory": "^2.1.1",
725
+ "string-width": "^4.2.0",
726
+ "y18n": "^5.0.5",
727
+ "yargs-parser": "^20.2.2"
728
+ },
729
+ "engines": {
730
+ "node": ">=12"
731
+ }
732
+ },
733
+ "node_modules/yargs-parser": {
734
+ "version": "20.2.7",
735
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz",
736
+ "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==",
737
+ "dev": true,
738
+ "engines": {
739
+ "node": ">=10"
740
+ }
741
+ }
742
+ },
743
+ "dependencies": {
744
+ "@appland/cli": {
745
+ "version": "1.0.3",
746
+ "resolved": "https://registry.npmjs.org/@appland/cli/-/cli-1.0.3.tgz",
747
+ "integrity": "sha512-MrngUqU3IeehkLyw1y/gzArJaHmNZoeJeGUW7wsluyUheIQ9b/d4tOYgGEGhRqA0mlprm0XlgPL7VC02CjbeKw==",
748
+ "dev": true,
749
+ "requires": {
750
+ "@appland/models": "1.0.3",
751
+ "async": "^3.2.0",
752
+ "chokidar": "^3.5.1",
753
+ "crypto-js": "^4.0.0",
754
+ "diff": "^5.0.0",
755
+ "fs-extra": "^9.1.0",
756
+ "glob": "^7.1.6",
757
+ "js-yaml": "^3.14.1",
758
+ "yargs": "^17.0.1"
759
+ }
760
+ },
761
+ "@appland/models": {
762
+ "version": "1.0.3",
763
+ "resolved": "https://registry.npmjs.org/@appland/models/-/models-1.0.3.tgz",
764
+ "integrity": "sha512-r3fpSM4BLOGcQssXKkXUKQdsqJ370by6df0hLtZmLHuasiovM/S4RpJER0Ey0SdrS/RAh4jpKV5TWeEBJyIDaw==",
765
+ "dev": true,
766
+ "requires": {
767
+ "@rollup/plugin-alias": "^3.1.2",
768
+ "cross-env": "^7.0.3",
769
+ "crypto-js": "^4.0.0",
770
+ "sqlite-parser": "^1.0.1"
771
+ }
772
+ },
773
+ "@rollup/plugin-alias": {
774
+ "version": "3.1.2",
775
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-3.1.2.tgz",
776
+ "integrity": "sha512-wzDnQ6v7CcoRzS0qVwFPrFdYA4Qlr+ookA217Y2Z3DPZE1R8jrFNM3jvGgOf6o6DMjbnQIn5lCIJgHPe1Bt3uw==",
777
+ "dev": true,
778
+ "requires": {
779
+ "slash": "^3.0.0"
780
+ }
781
+ },
782
+ "ansi-regex": {
783
+ "version": "5.0.0",
784
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
785
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
786
+ "dev": true
787
+ },
788
+ "ansi-styles": {
789
+ "version": "4.3.0",
790
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
791
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
792
+ "dev": true,
793
+ "requires": {
794
+ "color-convert": "^2.0.1"
795
+ }
796
+ },
797
+ "anymatch": {
798
+ "version": "3.1.2",
799
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
800
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
801
+ "dev": true,
802
+ "requires": {
803
+ "normalize-path": "^3.0.0",
804
+ "picomatch": "^2.0.4"
805
+ }
806
+ },
807
+ "argparse": {
808
+ "version": "1.0.10",
809
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
810
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
811
+ "dev": true,
812
+ "requires": {
813
+ "sprintf-js": "~1.0.2"
814
+ }
815
+ },
816
+ "async": {
817
+ "version": "3.2.0",
818
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz",
819
+ "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==",
820
+ "dev": true
821
+ },
822
+ "at-least-node": {
823
+ "version": "1.0.0",
824
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
825
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
826
+ "dev": true
827
+ },
828
+ "balanced-match": {
829
+ "version": "1.0.2",
830
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
831
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
832
+ "dev": true
833
+ },
834
+ "binary-extensions": {
835
+ "version": "2.2.0",
836
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
837
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
838
+ "dev": true
839
+ },
840
+ "brace-expansion": {
841
+ "version": "1.1.11",
842
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
843
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
844
+ "dev": true,
845
+ "requires": {
846
+ "balanced-match": "^1.0.0",
847
+ "concat-map": "0.0.1"
848
+ }
849
+ },
850
+ "braces": {
851
+ "version": "3.0.2",
852
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
853
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
854
+ "dev": true,
855
+ "requires": {
856
+ "fill-range": "^7.0.1"
857
+ }
858
+ },
859
+ "chokidar": {
860
+ "version": "3.5.1",
861
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
862
+ "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
863
+ "dev": true,
864
+ "requires": {
865
+ "anymatch": "~3.1.1",
866
+ "braces": "~3.0.2",
867
+ "fsevents": "~2.3.1",
868
+ "glob-parent": "~5.1.0",
869
+ "is-binary-path": "~2.1.0",
870
+ "is-glob": "~4.0.1",
871
+ "normalize-path": "~3.0.0",
872
+ "readdirp": "~3.5.0"
873
+ }
874
+ },
875
+ "cliui": {
876
+ "version": "7.0.4",
877
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
878
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
879
+ "dev": true,
880
+ "requires": {
881
+ "string-width": "^4.2.0",
882
+ "strip-ansi": "^6.0.0",
883
+ "wrap-ansi": "^7.0.0"
884
+ }
885
+ },
886
+ "color-convert": {
887
+ "version": "2.0.1",
888
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
889
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
890
+ "dev": true,
891
+ "requires": {
892
+ "color-name": "~1.1.4"
893
+ }
894
+ },
895
+ "color-name": {
896
+ "version": "1.1.4",
897
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
898
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
899
+ "dev": true
900
+ },
901
+ "concat-map": {
902
+ "version": "0.0.1",
903
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
904
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
905
+ "dev": true
906
+ },
907
+ "cross-env": {
908
+ "version": "7.0.3",
909
+ "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
910
+ "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
911
+ "dev": true,
912
+ "requires": {
913
+ "cross-spawn": "^7.0.1"
914
+ }
915
+ },
916
+ "cross-spawn": {
917
+ "version": "7.0.3",
918
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
919
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
920
+ "dev": true,
921
+ "requires": {
922
+ "path-key": "^3.1.0",
923
+ "shebang-command": "^2.0.0",
924
+ "which": "^2.0.1"
925
+ }
926
+ },
927
+ "crypto-js": {
928
+ "version": "4.0.0",
929
+ "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.0.0.tgz",
930
+ "integrity": "sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg==",
931
+ "dev": true
932
+ },
933
+ "diff": {
934
+ "version": "5.0.0",
935
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
936
+ "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
937
+ "dev": true
938
+ },
939
+ "emoji-regex": {
940
+ "version": "8.0.0",
941
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
942
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
943
+ "dev": true
944
+ },
945
+ "escalade": {
946
+ "version": "3.1.1",
947
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
948
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
949
+ "dev": true
950
+ },
951
+ "esprima": {
952
+ "version": "4.0.1",
953
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
954
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
955
+ "dev": true
956
+ },
957
+ "fill-range": {
958
+ "version": "7.0.1",
959
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
960
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
961
+ "dev": true,
962
+ "requires": {
963
+ "to-regex-range": "^5.0.1"
964
+ }
965
+ },
966
+ "fs-extra": {
967
+ "version": "9.1.0",
968
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
969
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
970
+ "dev": true,
971
+ "requires": {
972
+ "at-least-node": "^1.0.0",
973
+ "graceful-fs": "^4.2.0",
974
+ "jsonfile": "^6.0.1",
975
+ "universalify": "^2.0.0"
976
+ }
977
+ },
978
+ "fs.realpath": {
979
+ "version": "1.0.0",
980
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
981
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
982
+ "dev": true
983
+ },
984
+ "fsevents": {
985
+ "version": "2.3.2",
986
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
987
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
988
+ "dev": true,
989
+ "optional": true
990
+ },
991
+ "get-caller-file": {
992
+ "version": "2.0.5",
993
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
994
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
995
+ "dev": true
996
+ },
997
+ "glob": {
998
+ "version": "7.1.7",
999
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
1000
+ "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
1001
+ "dev": true,
1002
+ "requires": {
1003
+ "fs.realpath": "^1.0.0",
1004
+ "inflight": "^1.0.4",
1005
+ "inherits": "2",
1006
+ "minimatch": "^3.0.4",
1007
+ "once": "^1.3.0",
1008
+ "path-is-absolute": "^1.0.0"
1009
+ }
1010
+ },
1011
+ "glob-parent": {
1012
+ "version": "5.1.2",
1013
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1014
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1015
+ "dev": true,
1016
+ "requires": {
1017
+ "is-glob": "^4.0.1"
1018
+ }
1019
+ },
1020
+ "graceful-fs": {
1021
+ "version": "4.2.6",
1022
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
1023
+ "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
1024
+ "dev": true
1025
+ },
1026
+ "inflight": {
1027
+ "version": "1.0.6",
1028
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1029
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1030
+ "dev": true,
1031
+ "requires": {
1032
+ "once": "^1.3.0",
1033
+ "wrappy": "1"
1034
+ }
1035
+ },
1036
+ "inherits": {
1037
+ "version": "2.0.4",
1038
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1039
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1040
+ "dev": true
1041
+ },
1042
+ "is-binary-path": {
1043
+ "version": "2.1.0",
1044
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
1045
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
1046
+ "dev": true,
1047
+ "requires": {
1048
+ "binary-extensions": "^2.0.0"
1049
+ }
1050
+ },
1051
+ "is-extglob": {
1052
+ "version": "2.1.1",
1053
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1054
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
1055
+ "dev": true
1056
+ },
1057
+ "is-fullwidth-code-point": {
1058
+ "version": "3.0.0",
1059
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
1060
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
1061
+ "dev": true
1062
+ },
1063
+ "is-glob": {
1064
+ "version": "4.0.1",
1065
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
1066
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
1067
+ "dev": true,
1068
+ "requires": {
1069
+ "is-extglob": "^2.1.1"
1070
+ }
1071
+ },
1072
+ "is-number": {
1073
+ "version": "7.0.0",
1074
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1075
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1076
+ "dev": true
1077
+ },
1078
+ "isexe": {
1079
+ "version": "2.0.0",
1080
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1081
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1082
+ "dev": true
1083
+ },
1084
+ "js-yaml": {
1085
+ "version": "3.14.1",
1086
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
1087
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
1088
+ "dev": true,
1089
+ "requires": {
1090
+ "argparse": "^1.0.7",
1091
+ "esprima": "^4.0.0"
1092
+ }
1093
+ },
1094
+ "jsonfile": {
1095
+ "version": "6.1.0",
1096
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
1097
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
1098
+ "dev": true,
1099
+ "requires": {
1100
+ "graceful-fs": "^4.1.6",
1101
+ "universalify": "^2.0.0"
1102
+ }
1103
+ },
1104
+ "minimatch": {
1105
+ "version": "3.0.4",
1106
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1107
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1108
+ "dev": true,
1109
+ "requires": {
1110
+ "brace-expansion": "^1.1.7"
1111
+ }
1112
+ },
1113
+ "normalize-path": {
1114
+ "version": "3.0.0",
1115
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
1116
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
1117
+ "dev": true
1118
+ },
1119
+ "once": {
1120
+ "version": "1.4.0",
1121
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1122
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1123
+ "dev": true,
1124
+ "requires": {
1125
+ "wrappy": "1"
1126
+ }
1127
+ },
1128
+ "path-is-absolute": {
1129
+ "version": "1.0.1",
1130
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1131
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1132
+ "dev": true
1133
+ },
1134
+ "path-key": {
1135
+ "version": "3.1.1",
1136
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
1137
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
1138
+ "dev": true
1139
+ },
1140
+ "picomatch": {
1141
+ "version": "2.3.0",
1142
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
1143
+ "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
1144
+ "dev": true
1145
+ },
1146
+ "readdirp": {
1147
+ "version": "3.5.0",
1148
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
1149
+ "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
1150
+ "dev": true,
1151
+ "requires": {
1152
+ "picomatch": "^2.2.1"
1153
+ }
1154
+ },
1155
+ "require-directory": {
1156
+ "version": "2.1.1",
1157
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
1158
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
1159
+ "dev": true
1160
+ },
1161
+ "rollup": {
1162
+ "version": "2.50.0",
1163
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.50.0.tgz",
1164
+ "integrity": "sha512-wO+F2MqWPGUCZx0549oqY8dsQqHVjuSxoyBWWnxKoQE+1UGcDKjtL7wHq/8jnnLJEeoGDQLf3ztrpgRwlbGJ0A==",
1165
+ "dev": true,
1166
+ "peer": true,
1167
+ "requires": {
1168
+ "fsevents": "~2.3.1"
1169
+ }
1170
+ },
1171
+ "shebang-command": {
1172
+ "version": "2.0.0",
1173
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
1174
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
1175
+ "dev": true,
1176
+ "requires": {
1177
+ "shebang-regex": "^3.0.0"
1178
+ }
1179
+ },
1180
+ "shebang-regex": {
1181
+ "version": "3.0.0",
1182
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
1183
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
1184
+ "dev": true
1185
+ },
1186
+ "slash": {
1187
+ "version": "3.0.0",
1188
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
1189
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
1190
+ "dev": true
1191
+ },
1192
+ "sprintf-js": {
1193
+ "version": "1.0.3",
1194
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
1195
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
1196
+ "dev": true
1197
+ },
1198
+ "sqlite-parser": {
1199
+ "version": "1.0.1",
1200
+ "resolved": "https://registry.npmjs.org/sqlite-parser/-/sqlite-parser-1.0.1.tgz",
1201
+ "integrity": "sha1-EQGD8mgvBKxsfYrQnEREbvl21ew=",
1202
+ "dev": true
1203
+ },
1204
+ "string-width": {
1205
+ "version": "4.2.2",
1206
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
1207
+ "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
1208
+ "dev": true,
1209
+ "requires": {
1210
+ "emoji-regex": "^8.0.0",
1211
+ "is-fullwidth-code-point": "^3.0.0",
1212
+ "strip-ansi": "^6.0.0"
1213
+ }
1214
+ },
1215
+ "strip-ansi": {
1216
+ "version": "6.0.0",
1217
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
1218
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
1219
+ "dev": true,
1220
+ "requires": {
1221
+ "ansi-regex": "^5.0.0"
1222
+ }
1223
+ },
1224
+ "to-regex-range": {
1225
+ "version": "5.0.1",
1226
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
1227
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
1228
+ "dev": true,
1229
+ "requires": {
1230
+ "is-number": "^7.0.0"
1231
+ }
1232
+ },
1233
+ "universalify": {
1234
+ "version": "2.0.0",
1235
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
1236
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
1237
+ "dev": true
1238
+ },
1239
+ "which": {
1240
+ "version": "2.0.2",
1241
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
1242
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
1243
+ "dev": true,
1244
+ "requires": {
1245
+ "isexe": "^2.0.0"
1246
+ }
1247
+ },
1248
+ "wrap-ansi": {
1249
+ "version": "7.0.0",
1250
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
1251
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
1252
+ "dev": true,
1253
+ "requires": {
1254
+ "ansi-styles": "^4.0.0",
1255
+ "string-width": "^4.1.0",
1256
+ "strip-ansi": "^6.0.0"
1257
+ }
1258
+ },
1259
+ "wrappy": {
1260
+ "version": "1.0.2",
1261
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1262
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1263
+ "dev": true
1264
+ },
1265
+ "y18n": {
1266
+ "version": "5.0.8",
1267
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
1268
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
1269
+ "dev": true
1270
+ },
1271
+ "yargs": {
1272
+ "version": "17.0.1",
1273
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.0.1.tgz",
1274
+ "integrity": "sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==",
1275
+ "dev": true,
1276
+ "requires": {
1277
+ "cliui": "^7.0.2",
1278
+ "escalade": "^3.1.1",
1279
+ "get-caller-file": "^2.0.5",
1280
+ "require-directory": "^2.1.1",
1281
+ "string-width": "^4.2.0",
1282
+ "y18n": "^5.0.5",
1283
+ "yargs-parser": "^20.2.2"
1284
+ }
1285
+ },
1286
+ "yargs-parser": {
1287
+ "version": "20.2.7",
1288
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz",
1289
+ "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==",
1290
+ "dev": true
1291
+ }
1292
+ }
1293
+ }