@suffolklitlab/alkiln 5.15.2 → 5.15.4-ref-paths-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/github_server.yml +1 -1
- package/.github/workflows/playground.yml +1 -1
- package/CHANGELOG.md +29 -1
- package/action.yml +3 -2
- package/docs/016_root_path_2026_04_09.md +17 -0
- package/lib/scope.js +1 -1
- package/lib/setup/artifacts.js +10 -10
- package/lib/utils/Log.js +1 -0
- package/lib/utils/files.js +11 -7
- package/lib/utils/session_vars.js +11 -1
- package/lib/utils/set_sources_paths.js +8 -6
- package/npm-shrinkwrap.json +70 -127
- package/package.json +10 -10
package/CHANGELOG.md
CHANGED
|
@@ -43,10 +43,38 @@ Format:
|
|
|
43
43
|
-
|
|
44
44
|
-->
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
## [Unreleased]
|
|
47
|
+
|
|
48
|
+
### Changed
|
|
49
|
+
|
|
50
|
+
- Use `cwd` as the base of file paths. Motivated by ALKiP's need to change the way it handles its own file paths.
|
|
51
|
+
|
|
52
|
+
### Fixed
|
|
53
|
+
|
|
54
|
+
- Print error correctly when missing sources paths
|
|
55
|
+
|
|
56
|
+
## [5.15.4] - 2025-11-29
|
|
57
|
+
|
|
58
|
+
### Changed
|
|
59
|
+
|
|
60
|
+
- Published on correct commit/branch
|
|
61
|
+
|
|
62
|
+
## [5.15.3] - 2025-11-29
|
|
63
|
+
|
|
64
|
+
Note: published on incorrect commit
|
|
65
|
+
|
|
66
|
+
### Fixed
|
|
67
|
+
|
|
68
|
+
- Update bin versions as per npm instructions
|
|
47
69
|
|
|
48
70
|
## [5.15.2] - 2025-11-29
|
|
49
71
|
|
|
72
|
+
Note: published on incorrect commit
|
|
73
|
+
|
|
74
|
+
### Changed
|
|
75
|
+
|
|
76
|
+
- Updated dependencies
|
|
77
|
+
|
|
50
78
|
### Fixed
|
|
51
79
|
|
|
52
80
|
- Fixed race condition between navigating and extracting button text.
|
package/action.yml
CHANGED
|
@@ -111,9 +111,10 @@ runs:
|
|
|
111
111
|
|
|
112
112
|
# Install ALKiln during GitHub workflow
|
|
113
113
|
- name: "💡 ALK0025 INFO: Set up node"
|
|
114
|
-
uses: actions/setup-node@
|
|
114
|
+
uses: actions/setup-node@v5
|
|
115
115
|
with:
|
|
116
|
-
node-version: "
|
|
116
|
+
node-version: "24.x"
|
|
117
|
+
package-manager-cache: false
|
|
117
118
|
- name: "💡 ALK0026 INFO: Install ALKiln directly from npm"
|
|
118
119
|
shell: bash
|
|
119
120
|
run: |
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Root path
|
|
2
|
+
|
|
3
|
+
This code assumes the current root directory will contain the necessary files and folders to get files like `.feature` files and the test run runtime config file.
|
|
4
|
+
|
|
5
|
+
When you run ALKiln on the command line, run the tests in the root directory of the docassemble package with the tests. There are other ways to tell processes where the root directory is. For example, ALKiP, a docassemble package that uses ALKiln inside an author's server, runs `subprocess.run()` or `subprocess.Popen()` with `cwd=`. In ALKiP the `cwd` is most likely `/tmp`.
|
|
6
|
+
|
|
7
|
+
Files that make this root path assumption:
|
|
8
|
+
|
|
9
|
+
- lib/utils/set_sources_paths.js
|
|
10
|
+
- lib/utils/files.js
|
|
11
|
+
- lib/utils/session_vars.js
|
|
12
|
+
|
|
13
|
+
ALKiln makes assumptions about specific folder names inside the root directory. See `lib/utils/set_sources_paths.js` and `validate.js` for where it looks for `.feature` files.
|
|
14
|
+
|
|
15
|
+
## Anti-goals
|
|
16
|
+
|
|
17
|
+
It is possible for us to make the root path configurable in a few ways (env vars, command line args, etc.), but we are avoiding adding that maintenance cost until we see a need.
|
package/lib/scope.js
CHANGED
|
@@ -2768,7 +2768,7 @@ module.exports = {
|
|
|
2768
2768
|
pic_name = `pic_on-${ short_id }-${ timestamp }`;
|
|
2769
2769
|
}
|
|
2770
2770
|
|
|
2771
|
-
await scope.take_a_screenshot( scope, { path:
|
|
2771
|
+
await scope.take_a_screenshot( scope, { path: `${ scope.paths.scenario }/${ pic_name }.jpg` });
|
|
2772
2772
|
|
|
2773
2773
|
await scope.afterStep( scope );
|
|
2774
2774
|
}, // Ends scope.steps.screenshot()
|
package/lib/setup/artifacts.js
CHANGED
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
const session_vars = require(`../utils/session_vars`);
|
|
4
4
|
const files = require(`../utils/files`);
|
|
5
|
-
const Log = require(`../
|
|
5
|
+
const Log = require(`../utils/Log.js`);
|
|
6
6
|
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Reset and refresh artifacts path name. Use this at the start of every test
|
|
9
|
+
* run for that run's unique results.
|
|
10
|
+
* */
|
|
8
11
|
|
|
9
12
|
session_vars.delete_artifacts_path_name();
|
|
10
13
|
|
|
11
|
-
|
|
12
|
-
// If using `npm run cucumber` (as opposed to the bin commands),
|
|
13
|
-
// use `--` before `--sources=./foo`
|
|
14
|
-
const argv = require(`minimist`)( process.argv.slice(2) );
|
|
15
|
-
const artifacts_path = files.make_artifacts_folder( argv.path );
|
|
16
|
-
|
|
14
|
+
const artifacts_path = files.make_artifacts_folder();
|
|
17
15
|
session_vars.save_artifacts_path_name( artifacts_path );
|
|
18
16
|
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
const log = new Log({ path: artifacts_path, context: `artifacts` });
|
|
18
|
+
log.info({ code: `ALK0278`, context: `artifacts`,},
|
|
19
|
+
`Created the artifacts folder at "${ artifacts_path }"`
|
|
20
|
+
);
|
package/lib/utils/Log.js
CHANGED
package/lib/utils/files.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const fs = require('fs');
|
|
2
2
|
const safe_filename = require('sanitize-filename');
|
|
3
|
+
const path = require(`path`);
|
|
3
4
|
|
|
4
5
|
let files = {};
|
|
5
6
|
|
|
@@ -21,27 +22,30 @@ files.readable_date = function() {
|
|
|
21
22
|
return fancy_str;
|
|
22
23
|
}; // Ends files.readable_date()
|
|
23
24
|
|
|
24
|
-
files.make_artifacts_folder = function (
|
|
25
|
+
files.make_artifacts_folder = function ( file_path ) {
|
|
25
26
|
/** Makes a folder in the root of the project if it doesn't
|
|
26
27
|
* already exist, either with the given name or with a default name.
|
|
27
28
|
*
|
|
28
29
|
* Works for local development as well, without action.yml or workflow files.
|
|
29
30
|
* */
|
|
30
|
-
if (
|
|
31
|
-
let name_parts =
|
|
31
|
+
if (file_path) {
|
|
32
|
+
let name_parts = file_path.split(`/`);
|
|
32
33
|
let safe_parts = [];
|
|
33
34
|
for ( let part of name_parts ) {
|
|
34
35
|
safe_parts.push(safe_filename( part ));
|
|
35
36
|
}
|
|
36
|
-
|
|
37
|
+
file_path = path.join( ...safe_parts );
|
|
37
38
|
} else {
|
|
38
|
-
|
|
39
|
+
file_path = `alkiln-${ files.readable_date() }`
|
|
39
40
|
}
|
|
40
41
|
|
|
42
|
+
const root = process.cwd();
|
|
43
|
+
root_path = path.join( root, file_path );
|
|
44
|
+
|
|
41
45
|
// `recursive` avoids errors if folder already exists
|
|
42
46
|
// https://nodejs.org/docs/latest-v18.x/api/fs.html#fspromisesmkdirpath-options
|
|
43
|
-
fs.mkdirSync(
|
|
44
|
-
return
|
|
47
|
+
fs.mkdirSync( root_path, { recursive: true });
|
|
48
|
+
return root_path;
|
|
45
49
|
}; // Ends files.make_artifacts_folder()
|
|
46
50
|
|
|
47
51
|
module.exports = files;
|
|
@@ -52,6 +52,10 @@ session_vars.get_origin = function () {
|
|
|
52
52
|
};
|
|
53
53
|
session_vars.get_user_project_name = function () { return process.env._PROJECT_NAME || null; };
|
|
54
54
|
session_vars.get_user_id = function () { return process.env._USER_ID || null; };
|
|
55
|
+
session_vars.get_runtime_config_path = function () {
|
|
56
|
+
const root = process.cwd(); // absolute path just to be sure
|
|
57
|
+
return path.join( root, `runtime_config.json` );
|
|
58
|
+
}
|
|
55
59
|
|
|
56
60
|
// More complex logic
|
|
57
61
|
session_vars.get_server_reload_timeout = function () {
|
|
@@ -133,7 +137,6 @@ session_vars.get_languages = function () {
|
|
|
133
137
|
}; // Ends session_vars.get_languages()
|
|
134
138
|
|
|
135
139
|
|
|
136
|
-
const runtime_config_path = `runtime_config.json`;
|
|
137
140
|
const project_name_key = `da_project_name`;
|
|
138
141
|
session_vars.save_project_name = function ( project_name ) {
|
|
139
142
|
/* Saves the name of the project to a json obj so deletion can use it later.
|
|
@@ -142,6 +145,7 @@ session_vars.save_project_name = function ( project_name ) {
|
|
|
142
145
|
* Should we try to prevent someone overwriting a previous project name?
|
|
143
146
|
*
|
|
144
147
|
* @param project_name { string } - purely alphanumeric string */
|
|
148
|
+
const runtime_config_path = session_vars.get_runtime_config_path();
|
|
145
149
|
|
|
146
150
|
// Warn local developers if file already exists
|
|
147
151
|
if ( fs.existsSync( runtime_config_path ) ) {
|
|
@@ -172,6 +176,8 @@ session_vars.get_project_name = function () {
|
|
|
172
176
|
if ( session_vars.get_origin() === 'playground' ) {
|
|
173
177
|
return session_vars.get_user_project_name();
|
|
174
178
|
}
|
|
179
|
+
|
|
180
|
+
const runtime_config_path = session_vars.get_runtime_config_path();
|
|
175
181
|
let json = JSON.parse( fs.readFileSync( runtime_config_path ));
|
|
176
182
|
let project_name = json[ project_name_key ] || null;
|
|
177
183
|
if ( session_vars.get_debug() ) { console.debug( `🐛 ALK0037 DEBUG: Project name from file is "${ project_name }".` ); }
|
|
@@ -180,6 +186,7 @@ session_vars.get_project_name = function () {
|
|
|
180
186
|
|
|
181
187
|
session_vars.delete_project_name = function () {
|
|
182
188
|
/* Empty the key storing the name of the docassemble Project */
|
|
189
|
+
const runtime_config_path = session_vars.get_runtime_config_path();
|
|
183
190
|
try {
|
|
184
191
|
// Get the json, changing it, and re-write the file from scratch
|
|
185
192
|
let json = JSON.parse( fs.readFileSync( runtime_config_path ));
|
|
@@ -252,6 +259,7 @@ session_vars.save_runtime_config_var = function ({ key, value }) {
|
|
|
252
259
|
*
|
|
253
260
|
* @returns {binary?} file Runtime config file
|
|
254
261
|
*/
|
|
262
|
+
const runtime_config_path = session_vars.get_runtime_config_path();
|
|
255
263
|
|
|
256
264
|
// Ensure runtime config file exists
|
|
257
265
|
if ( !fs.existsSync( runtime_config_path ) ) {
|
|
@@ -277,6 +285,7 @@ session_vars.get_runtime_config_var = function ( key ) {
|
|
|
277
285
|
*
|
|
278
286
|
* @returns {any} - Value of given key in runtime config file or null
|
|
279
287
|
*/
|
|
288
|
+
const runtime_config_path = session_vars.get_runtime_config_path();
|
|
280
289
|
try {
|
|
281
290
|
let json = JSON.parse( fs.readFileSync( runtime_config_path ));
|
|
282
291
|
let value = json[ key ];
|
|
@@ -300,6 +309,7 @@ session_vars.delete_runtime_config_var = function ({ key }) {
|
|
|
300
309
|
*
|
|
301
310
|
* @returns {null}
|
|
302
311
|
* */
|
|
312
|
+
const runtime_config_path = session_vars.get_runtime_config_path();
|
|
303
313
|
try {
|
|
304
314
|
if ( !fs.existsSync( runtime_config_path )) { return null; }
|
|
305
315
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const fast_glob = require(`fast-glob`);
|
|
2
|
+
const path = require(`path`);
|
|
2
3
|
|
|
3
4
|
const session_vars = require(`./session_vars`);
|
|
4
5
|
|
|
@@ -18,7 +19,7 @@ module.exports = function set_sources_paths({ log }) {
|
|
|
18
19
|
let maybe_paths = get_potential_paths();
|
|
19
20
|
|
|
20
21
|
let sources_paths = get_sources_paths({ maybe_paths });
|
|
21
|
-
if ( sources_paths === 0 ) {
|
|
22
|
+
if ( sources_paths.length === 0 ) {
|
|
22
23
|
// If we don't throw, it'll be more confusing when no tests run
|
|
23
24
|
log.throw({ code: `ALK0050`, context: `sources`,
|
|
24
25
|
error: new ReferenceError(
|
|
@@ -45,6 +46,7 @@ function get_potential_paths() {
|
|
|
45
46
|
// `project` is the name in the server docassemble "Project" page
|
|
46
47
|
let project = session_vars.get_user_project_name();
|
|
47
48
|
let id = session_vars.get_user_id();
|
|
49
|
+
let root = process.cwd(); // Assumes correct root. See docs about root path.
|
|
48
50
|
|
|
49
51
|
// process.argv is a list of strings of commands and args.
|
|
50
52
|
// Internal note: If using `npm run cucumber`, use `--` before
|
|
@@ -53,8 +55,8 @@ function get_potential_paths() {
|
|
|
53
55
|
default: {
|
|
54
56
|
sources: [
|
|
55
57
|
`./docassemble/*/data/sources`, // In GitHub folder
|
|
56
|
-
`/usr/share/docassemble/files/playgroundsources/${id}/${project}
|
|
57
|
-
`/
|
|
58
|
+
`/usr/share/docassemble/files/playgroundsources/${id}/${project}`, // From playground without S3
|
|
59
|
+
path.join( root, `/playgroundsources/${id}/${project}`), // From playground with S3
|
|
58
60
|
],
|
|
59
61
|
}
|
|
60
62
|
});
|
|
@@ -81,16 +83,16 @@ function get_sources_paths({ maybe_paths }) {
|
|
|
81
83
|
// Check every path, tracking which exist and which are missing
|
|
82
84
|
let existing_paths = [];
|
|
83
85
|
let missing_paths = [];
|
|
84
|
-
for ( let
|
|
86
|
+
for ( let maybe_path of maybe_paths ) {
|
|
85
87
|
let dirs = fast_glob.sync(
|
|
86
|
-
[
|
|
88
|
+
[ maybe_path ],
|
|
87
89
|
{ onlyFiles: false, suppressErrors: true }
|
|
88
90
|
);
|
|
89
91
|
|
|
90
92
|
if ( dirs.length > 0 ) {
|
|
91
93
|
existing_paths.push( ...dirs );
|
|
92
94
|
} else {
|
|
93
|
-
missing_paths.push(
|
|
95
|
+
missing_paths.push( maybe_path );
|
|
94
96
|
}
|
|
95
97
|
}
|
|
96
98
|
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@suffolklitlab/alkiln",
|
|
3
|
-
"version": "5.15.1",
|
|
3
|
+
"version": "5.15.4-ref-paths-1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@suffolklitlab/alkiln",
|
|
9
|
-
"version": "5.15.1",
|
|
9
|
+
"version": "5.15.4-ref-paths-1",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@axe-core/puppeteer": "4.7.3",
|
|
13
13
|
"@cucumber/cucumber": "9.3.0",
|
|
14
14
|
"@faker-js/faker": "7.3.0",
|
|
15
|
-
"axios": "1.
|
|
15
|
+
"axios": "1.13.2",
|
|
16
16
|
"chai": "4.2.0",
|
|
17
17
|
"cheerio": "1.0.0-rc.10",
|
|
18
18
|
"deep-equal-in-any-order": "2.0.0",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"minimatch": "3.0.5",
|
|
23
23
|
"minimist": "1.2.8",
|
|
24
24
|
"mocha": "11.5.0",
|
|
25
|
-
"pdfjs-dist": "5.
|
|
25
|
+
"pdfjs-dist": "5.4.394",
|
|
26
26
|
"puppeteer": "22.15.0",
|
|
27
27
|
"qs": "6.10.3",
|
|
28
28
|
"sanitize-filename": "1.6.3",
|
|
@@ -485,35 +485,33 @@
|
|
|
485
485
|
}
|
|
486
486
|
},
|
|
487
487
|
"node_modules/@napi-rs/canvas": {
|
|
488
|
-
"version": "0.1.
|
|
489
|
-
"resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.
|
|
490
|
-
"integrity": "sha512-
|
|
491
|
-
"license": "MIT",
|
|
488
|
+
"version": "0.1.83",
|
|
489
|
+
"resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.83.tgz",
|
|
490
|
+
"integrity": "sha512-f9GVB9VNc9vn/nroc9epXRNkVpvNPZh69+qzLJIm9DfruxFqX0/jsXG46OGWAJgkO4mN0HvFHjRROMXKVmPszg==",
|
|
492
491
|
"optional": true,
|
|
493
492
|
"engines": {
|
|
494
493
|
"node": ">= 10"
|
|
495
494
|
},
|
|
496
495
|
"optionalDependencies": {
|
|
497
|
-
"@napi-rs/canvas-android-arm64": "0.1.
|
|
498
|
-
"@napi-rs/canvas-darwin-arm64": "0.1.
|
|
499
|
-
"@napi-rs/canvas-darwin-x64": "0.1.
|
|
500
|
-
"@napi-rs/canvas-linux-arm-gnueabihf": "0.1.
|
|
501
|
-
"@napi-rs/canvas-linux-arm64-gnu": "0.1.
|
|
502
|
-
"@napi-rs/canvas-linux-arm64-musl": "0.1.
|
|
503
|
-
"@napi-rs/canvas-linux-riscv64-gnu": "0.1.
|
|
504
|
-
"@napi-rs/canvas-linux-x64-gnu": "0.1.
|
|
505
|
-
"@napi-rs/canvas-linux-x64-musl": "0.1.
|
|
506
|
-
"@napi-rs/canvas-win32-x64-msvc": "0.1.
|
|
496
|
+
"@napi-rs/canvas-android-arm64": "0.1.83",
|
|
497
|
+
"@napi-rs/canvas-darwin-arm64": "0.1.83",
|
|
498
|
+
"@napi-rs/canvas-darwin-x64": "0.1.83",
|
|
499
|
+
"@napi-rs/canvas-linux-arm-gnueabihf": "0.1.83",
|
|
500
|
+
"@napi-rs/canvas-linux-arm64-gnu": "0.1.83",
|
|
501
|
+
"@napi-rs/canvas-linux-arm64-musl": "0.1.83",
|
|
502
|
+
"@napi-rs/canvas-linux-riscv64-gnu": "0.1.83",
|
|
503
|
+
"@napi-rs/canvas-linux-x64-gnu": "0.1.83",
|
|
504
|
+
"@napi-rs/canvas-linux-x64-musl": "0.1.83",
|
|
505
|
+
"@napi-rs/canvas-win32-x64-msvc": "0.1.83"
|
|
507
506
|
}
|
|
508
507
|
},
|
|
509
508
|
"node_modules/@napi-rs/canvas-android-arm64": {
|
|
510
|
-
"version": "0.1.
|
|
511
|
-
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.
|
|
512
|
-
"integrity": "sha512-
|
|
509
|
+
"version": "0.1.83",
|
|
510
|
+
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.83.tgz",
|
|
511
|
+
"integrity": "sha512-TbKM2fh9zXjqFIU8bgMfzG7rkrIYdLKMafgPhFoPwKrpWk1glGbWP7LEu8Y/WrMDqTGFdRqUmuX89yQEzZbkiw==",
|
|
513
512
|
"cpu": [
|
|
514
513
|
"arm64"
|
|
515
514
|
],
|
|
516
|
-
"license": "MIT",
|
|
517
515
|
"optional": true,
|
|
518
516
|
"os": [
|
|
519
517
|
"android"
|
|
@@ -523,13 +521,12 @@
|
|
|
523
521
|
}
|
|
524
522
|
},
|
|
525
523
|
"node_modules/@napi-rs/canvas-darwin-arm64": {
|
|
526
|
-
"version": "0.1.
|
|
527
|
-
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.
|
|
528
|
-
"integrity": "sha512-
|
|
524
|
+
"version": "0.1.83",
|
|
525
|
+
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.83.tgz",
|
|
526
|
+
"integrity": "sha512-gp8IDVUloPUmkepHly4xRUOfUJSFNvA4jR7ZRF5nk3YcGzegSFGeICiT4PnYyPgSKEhYAFe1Y2XNy0Mp6Tu8mQ==",
|
|
529
527
|
"cpu": [
|
|
530
528
|
"arm64"
|
|
531
529
|
],
|
|
532
|
-
"license": "MIT",
|
|
533
530
|
"optional": true,
|
|
534
531
|
"os": [
|
|
535
532
|
"darwin"
|
|
@@ -539,13 +536,12 @@
|
|
|
539
536
|
}
|
|
540
537
|
},
|
|
541
538
|
"node_modules/@napi-rs/canvas-darwin-x64": {
|
|
542
|
-
"version": "0.1.
|
|
543
|
-
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.
|
|
544
|
-
"integrity": "sha512
|
|
539
|
+
"version": "0.1.83",
|
|
540
|
+
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.83.tgz",
|
|
541
|
+
"integrity": "sha512-r4ZJxiP9OgUbdGZhPDEXD3hQ0aIPcVaywtcTXvamYxTU/SWKAbKVhFNTtpRe1J30oQ25gWyxTkUKSBgUkNzdnw==",
|
|
545
542
|
"cpu": [
|
|
546
543
|
"x64"
|
|
547
544
|
],
|
|
548
|
-
"license": "MIT",
|
|
549
545
|
"optional": true,
|
|
550
546
|
"os": [
|
|
551
547
|
"darwin"
|
|
@@ -555,13 +551,12 @@
|
|
|
555
551
|
}
|
|
556
552
|
},
|
|
557
553
|
"node_modules/@napi-rs/canvas-linux-arm-gnueabihf": {
|
|
558
|
-
"version": "0.1.
|
|
559
|
-
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.
|
|
560
|
-
"integrity": "sha512-
|
|
554
|
+
"version": "0.1.83",
|
|
555
|
+
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.83.tgz",
|
|
556
|
+
"integrity": "sha512-Uc6aSB05qH1r+9GUDxIE6F5ZF7L0nTFyyzq8ublWUZhw8fEGK8iy931ff1ByGFT04+xHJad1kBcL4R1ZEV8z7Q==",
|
|
561
557
|
"cpu": [
|
|
562
558
|
"arm"
|
|
563
559
|
],
|
|
564
|
-
"license": "MIT",
|
|
565
560
|
"optional": true,
|
|
566
561
|
"os": [
|
|
567
562
|
"linux"
|
|
@@ -571,13 +566,12 @@
|
|
|
571
566
|
}
|
|
572
567
|
},
|
|
573
568
|
"node_modules/@napi-rs/canvas-linux-arm64-gnu": {
|
|
574
|
-
"version": "0.1.
|
|
575
|
-
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.
|
|
576
|
-
"integrity": "sha512-
|
|
569
|
+
"version": "0.1.83",
|
|
570
|
+
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.83.tgz",
|
|
571
|
+
"integrity": "sha512-eEeaJA7V5KOFq7W0GtoRVbd3ak8UZpK+XLkCgUiFGtlunNw+ZZW9Cr/92MXflGe7o3SqqMUg+f975LPxO/vsOQ==",
|
|
577
572
|
"cpu": [
|
|
578
573
|
"arm64"
|
|
579
574
|
],
|
|
580
|
-
"license": "MIT",
|
|
581
575
|
"optional": true,
|
|
582
576
|
"os": [
|
|
583
577
|
"linux"
|
|
@@ -587,13 +581,12 @@
|
|
|
587
581
|
}
|
|
588
582
|
},
|
|
589
583
|
"node_modules/@napi-rs/canvas-linux-arm64-musl": {
|
|
590
|
-
"version": "0.1.
|
|
591
|
-
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.
|
|
592
|
-
"integrity": "sha512-
|
|
584
|
+
"version": "0.1.83",
|
|
585
|
+
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.83.tgz",
|
|
586
|
+
"integrity": "sha512-cAvonp5XpbatVGegF9lMQNchs3z5RH6EtamRVnQvtoRtwbzOMcdzwuLBqDBQxQF79MFbuZNkWj3YRJjZCjHVzw==",
|
|
593
587
|
"cpu": [
|
|
594
588
|
"arm64"
|
|
595
589
|
],
|
|
596
|
-
"license": "MIT",
|
|
597
590
|
"optional": true,
|
|
598
591
|
"os": [
|
|
599
592
|
"linux"
|
|
@@ -603,13 +596,12 @@
|
|
|
603
596
|
}
|
|
604
597
|
},
|
|
605
598
|
"node_modules/@napi-rs/canvas-linux-riscv64-gnu": {
|
|
606
|
-
"version": "0.1.
|
|
607
|
-
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.
|
|
608
|
-
"integrity": "sha512-
|
|
599
|
+
"version": "0.1.83",
|
|
600
|
+
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.83.tgz",
|
|
601
|
+
"integrity": "sha512-WFUPQ9qZy31vmLxIJ3MfmHw+R2g/mLCgk8zmh7maJW8snV3vLPA7pZfIS65Dc61EVDp1vaBskwQ2RqPPzwkaew==",
|
|
609
602
|
"cpu": [
|
|
610
603
|
"riscv64"
|
|
611
604
|
],
|
|
612
|
-
"license": "MIT",
|
|
613
605
|
"optional": true,
|
|
614
606
|
"os": [
|
|
615
607
|
"linux"
|
|
@@ -619,13 +611,12 @@
|
|
|
619
611
|
}
|
|
620
612
|
},
|
|
621
613
|
"node_modules/@napi-rs/canvas-linux-x64-gnu": {
|
|
622
|
-
"version": "0.1.
|
|
623
|
-
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.
|
|
624
|
-
"integrity": "sha512
|
|
614
|
+
"version": "0.1.83",
|
|
615
|
+
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.83.tgz",
|
|
616
|
+
"integrity": "sha512-X9YwIjsuy50WwOyYeNhEHjKHO8rrfH9M4U8vNqLuGmqsZdKua/GrUhdQGdjq7lTgdY3g4+Ta5jF8MzAa7UAs/g==",
|
|
625
617
|
"cpu": [
|
|
626
618
|
"x64"
|
|
627
619
|
],
|
|
628
|
-
"license": "MIT",
|
|
629
620
|
"optional": true,
|
|
630
621
|
"os": [
|
|
631
622
|
"linux"
|
|
@@ -635,13 +626,12 @@
|
|
|
635
626
|
}
|
|
636
627
|
},
|
|
637
628
|
"node_modules/@napi-rs/canvas-linux-x64-musl": {
|
|
638
|
-
"version": "0.1.
|
|
639
|
-
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.
|
|
640
|
-
"integrity": "sha512-
|
|
629
|
+
"version": "0.1.83",
|
|
630
|
+
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.83.tgz",
|
|
631
|
+
"integrity": "sha512-Vv2pLWQS8EnlSM1bstJ7vVhKA+mL4+my4sKUIn/bgIxB5O90dqiDhQjUDLP+5xn9ZMestRWDt3tdQEkGAmzq/A==",
|
|
641
632
|
"cpu": [
|
|
642
633
|
"x64"
|
|
643
634
|
],
|
|
644
|
-
"license": "MIT",
|
|
645
635
|
"optional": true,
|
|
646
636
|
"os": [
|
|
647
637
|
"linux"
|
|
@@ -651,13 +641,12 @@
|
|
|
651
641
|
}
|
|
652
642
|
},
|
|
653
643
|
"node_modules/@napi-rs/canvas-win32-x64-msvc": {
|
|
654
|
-
"version": "0.1.
|
|
655
|
-
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.
|
|
656
|
-
"integrity": "sha512-
|
|
644
|
+
"version": "0.1.83",
|
|
645
|
+
"resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.83.tgz",
|
|
646
|
+
"integrity": "sha512-K1TtjbScfRNYhq8dengLLufXGbtEtWdUXPV505uLFPovyGHzDUGXLFP/zUJzj6xWXwgUjHNLgEPIt7mye0zr6Q==",
|
|
657
647
|
"cpu": [
|
|
658
648
|
"x64"
|
|
659
649
|
],
|
|
660
|
-
"license": "MIT",
|
|
661
650
|
"optional": true,
|
|
662
651
|
"os": [
|
|
663
652
|
"win32"
|
|
@@ -883,13 +872,13 @@
|
|
|
883
872
|
}
|
|
884
873
|
},
|
|
885
874
|
"node_modules/axios": {
|
|
886
|
-
"version": "1.
|
|
887
|
-
"resolved": "https://registry.npmjs.org/axios/-/axios-1.
|
|
888
|
-
"integrity": "sha512-
|
|
875
|
+
"version": "1.13.2",
|
|
876
|
+
"resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz",
|
|
877
|
+
"integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==",
|
|
889
878
|
"license": "MIT",
|
|
890
879
|
"dependencies": {
|
|
891
880
|
"follow-redirects": "^1.15.6",
|
|
892
|
-
"form-data": "^4.0.
|
|
881
|
+
"form-data": "^4.0.4",
|
|
893
882
|
"proxy-from-env": "^1.1.0"
|
|
894
883
|
}
|
|
895
884
|
},
|
|
@@ -2007,9 +1996,9 @@
|
|
|
2007
1996
|
}
|
|
2008
1997
|
},
|
|
2009
1998
|
"node_modules/glob": {
|
|
2010
|
-
"version": "10.
|
|
2011
|
-
"resolved": "https://registry.npmjs.org/glob/-/glob-10.
|
|
2012
|
-
"integrity": "sha512-
|
|
1999
|
+
"version": "10.5.0",
|
|
2000
|
+
"resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
|
|
2001
|
+
"integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
|
|
2013
2002
|
"license": "ISC",
|
|
2014
2003
|
"dependencies": {
|
|
2015
2004
|
"foreground-child": "^3.1.0",
|
|
@@ -2401,9 +2390,10 @@
|
|
|
2401
2390
|
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
|
|
2402
2391
|
},
|
|
2403
2392
|
"node_modules/js-yaml": {
|
|
2404
|
-
"version": "4.1.
|
|
2405
|
-
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.
|
|
2406
|
-
"integrity": "sha512-
|
|
2393
|
+
"version": "4.1.1",
|
|
2394
|
+
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
|
|
2395
|
+
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
|
|
2396
|
+
"license": "MIT",
|
|
2407
2397
|
"dependencies": {
|
|
2408
2398
|
"argparse": "^2.0.1"
|
|
2409
2399
|
},
|
|
@@ -2928,15 +2918,14 @@
|
|
|
2928
2918
|
}
|
|
2929
2919
|
},
|
|
2930
2920
|
"node_modules/pdfjs-dist": {
|
|
2931
|
-
"version": "5.
|
|
2932
|
-
"resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.
|
|
2933
|
-
"integrity": "sha512-
|
|
2934
|
-
"license": "Apache-2.0",
|
|
2921
|
+
"version": "5.4.394",
|
|
2922
|
+
"resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.4.394.tgz",
|
|
2923
|
+
"integrity": "sha512-9ariAYGqUJzx+V/1W4jHyiyCep6IZALmDzoaTLZ6VNu8q9LWi1/ukhzHgE2Xsx96AZi0mbZuK4/ttIbqSbLypg==",
|
|
2935
2924
|
"engines": {
|
|
2936
2925
|
"node": ">=20.16.0 || >=22.3.0"
|
|
2937
2926
|
},
|
|
2938
2927
|
"optionalDependencies": {
|
|
2939
|
-
"@napi-rs/canvas": "^0.1.
|
|
2928
|
+
"@napi-rs/canvas": "^0.1.81"
|
|
2940
2929
|
}
|
|
2941
2930
|
},
|
|
2942
2931
|
"node_modules/pend": {
|
|
@@ -3167,50 +3156,6 @@
|
|
|
3167
3156
|
"node": ">=0.10.0"
|
|
3168
3157
|
}
|
|
3169
3158
|
},
|
|
3170
|
-
"node_modules/rimraf": {
|
|
3171
|
-
"version": "3.0.2",
|
|
3172
|
-
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
|
3173
|
-
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
|
|
3174
|
-
"dependencies": {
|
|
3175
|
-
"glob": "^7.1.3"
|
|
3176
|
-
},
|
|
3177
|
-
"bin": {
|
|
3178
|
-
"rimraf": "bin.js"
|
|
3179
|
-
},
|
|
3180
|
-
"funding": {
|
|
3181
|
-
"url": "https://github.com/sponsors/isaacs"
|
|
3182
|
-
}
|
|
3183
|
-
},
|
|
3184
|
-
"node_modules/rimraf/node_modules/glob": {
|
|
3185
|
-
"version": "7.2.3",
|
|
3186
|
-
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
|
3187
|
-
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
|
3188
|
-
"dependencies": {
|
|
3189
|
-
"fs.realpath": "^1.0.0",
|
|
3190
|
-
"inflight": "^1.0.4",
|
|
3191
|
-
"inherits": "2",
|
|
3192
|
-
"minimatch": "^3.1.1",
|
|
3193
|
-
"once": "^1.3.0",
|
|
3194
|
-
"path-is-absolute": "^1.0.0"
|
|
3195
|
-
},
|
|
3196
|
-
"engines": {
|
|
3197
|
-
"node": "*"
|
|
3198
|
-
},
|
|
3199
|
-
"funding": {
|
|
3200
|
-
"url": "https://github.com/sponsors/isaacs"
|
|
3201
|
-
}
|
|
3202
|
-
},
|
|
3203
|
-
"node_modules/rimraf/node_modules/minimatch": {
|
|
3204
|
-
"version": "3.1.2",
|
|
3205
|
-
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
|
3206
|
-
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
|
3207
|
-
"dependencies": {
|
|
3208
|
-
"brace-expansion": "^1.1.7"
|
|
3209
|
-
},
|
|
3210
|
-
"engines": {
|
|
3211
|
-
"node": "*"
|
|
3212
|
-
}
|
|
3213
|
-
},
|
|
3214
3159
|
"node_modules/run-parallel": {
|
|
3215
3160
|
"version": "1.2.0",
|
|
3216
3161
|
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
|
|
@@ -3521,9 +3466,9 @@
|
|
|
3521
3466
|
}
|
|
3522
3467
|
},
|
|
3523
3468
|
"node_modules/tar-fs": {
|
|
3524
|
-
"version": "3.
|
|
3525
|
-
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.
|
|
3526
|
-
"integrity": "sha512-
|
|
3469
|
+
"version": "3.1.1",
|
|
3470
|
+
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz",
|
|
3471
|
+
"integrity": "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==",
|
|
3527
3472
|
"license": "MIT",
|
|
3528
3473
|
"dependencies": {
|
|
3529
3474
|
"pump": "^3.0.0",
|
|
@@ -3577,14 +3522,12 @@
|
|
|
3577
3522
|
"integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
|
|
3578
3523
|
},
|
|
3579
3524
|
"node_modules/tmp": {
|
|
3580
|
-
"version": "0.2.
|
|
3581
|
-
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.
|
|
3582
|
-
"integrity": "sha512-
|
|
3583
|
-
"
|
|
3584
|
-
"rimraf": "^3.0.0"
|
|
3585
|
-
},
|
|
3525
|
+
"version": "0.2.5",
|
|
3526
|
+
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
|
|
3527
|
+
"integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==",
|
|
3528
|
+
"license": "MIT",
|
|
3586
3529
|
"engines": {
|
|
3587
|
-
"node": ">=
|
|
3530
|
+
"node": ">=14.14"
|
|
3588
3531
|
}
|
|
3589
3532
|
},
|
|
3590
3533
|
"node_modules/to-regex-range": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@suffolklitlab/alkiln",
|
|
3
|
-
"version": "5.15.
|
|
3
|
+
"version": "5.15.4-ref-paths-1",
|
|
4
4
|
"description": "Integrated automated end-to-end testing with docassemble, puppeteer, and cucumber.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"@axe-core/puppeteer": "4.7.3",
|
|
42
42
|
"@cucumber/cucumber": "9.3.0",
|
|
43
43
|
"@faker-js/faker": "7.3.0",
|
|
44
|
-
"axios": "1.
|
|
44
|
+
"axios": "1.13.2",
|
|
45
45
|
"chai": "4.2.0",
|
|
46
46
|
"cheerio": "1.0.0-rc.10",
|
|
47
47
|
"deep-equal-in-any-order": "2.0.0",
|
|
@@ -51,19 +51,19 @@
|
|
|
51
51
|
"minimatch": "3.0.5",
|
|
52
52
|
"minimist": "1.2.8",
|
|
53
53
|
"mocha": "11.5.0",
|
|
54
|
-
"pdfjs-dist": "5.
|
|
54
|
+
"pdfjs-dist": "5.4.394",
|
|
55
55
|
"puppeteer": "22.15.0",
|
|
56
56
|
"qs": "6.10.3",
|
|
57
57
|
"sanitize-filename": "1.6.3",
|
|
58
58
|
"uuid": "8.3.2"
|
|
59
59
|
},
|
|
60
60
|
"bin": {
|
|
61
|
-
"alkiln-server-install": "
|
|
62
|
-
"alkiln-setup": "
|
|
63
|
-
"alkiln-takedown": "
|
|
64
|
-
"alkiln-run": "
|
|
65
|
-
"alkiln-artifacts": "
|
|
66
|
-
"alkiln-validate": "
|
|
67
|
-
"alkiln-generate": "
|
|
61
|
+
"alkiln-server-install": "lib/docassemble/server_install.js",
|
|
62
|
+
"alkiln-setup": "lib/docassemble/setup.js",
|
|
63
|
+
"alkiln-takedown": "lib/docassemble/takedown.js",
|
|
64
|
+
"alkiln-run": "lib/run_cucumber.js",
|
|
65
|
+
"alkiln-artifacts": "lib/setup/artifacts.js",
|
|
66
|
+
"alkiln-validate": "lib/setup/validate.js",
|
|
67
|
+
"alkiln-generate": "lib/setup/generate.js"
|
|
68
68
|
}
|
|
69
69
|
}
|