projen-pipelines 0.3.26 → 0.3.27
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/.jsii +3 -3
- package/lib/assign-approver/base.js +1 -1
- package/lib/assign-approver/github.js +1 -1
- package/lib/awscdk/base.js +1 -1
- package/lib/awscdk/bash.js +1 -1
- package/lib/awscdk/github.js +1 -1
- package/lib/awscdk/gitlab.js +1 -1
- package/lib/drift/base.js +1 -1
- package/lib/drift/bash.js +1 -1
- package/lib/drift/github.js +1 -1
- package/lib/drift/gitlab.js +1 -1
- package/lib/drift/step.js +1 -1
- package/lib/steps/amplify-deploy.step.js +1 -1
- package/lib/steps/artifact-steps.js +2 -2
- package/lib/steps/aws-assume-role.step.js +1 -1
- package/lib/steps/github-summary.step.js +1 -1
- package/lib/steps/package-manager-setup.step.js +2 -2
- package/lib/steps/registries.js +3 -3
- package/lib/steps/step.js +4 -4
- package/lib/versioning/computation.js +3 -3
- package/lib/versioning/config.js +2 -2
- package/lib/versioning/outputs.js +5 -5
- package/lib/versioning/setup.js +1 -1
- package/lib/versioning/strategy.js +1 -1
- package/lib/versioning/version-info.js +2 -2
- package/node_modules/handlebars/bin/handlebars +1 -1
- package/node_modules/handlebars/dist/amd/handlebars/base.js +2 -2
- package/node_modules/handlebars/dist/amd/handlebars/compiler/base.js +2 -59
- package/node_modules/handlebars/dist/amd/handlebars/compiler/code-gen.js +68 -5
- package/node_modules/handlebars/dist/amd/handlebars/compiler/compiler.js +160 -19
- package/node_modules/handlebars/dist/amd/handlebars/compiler/javascript-compiler.js +23 -7
- package/node_modules/handlebars/dist/amd/handlebars/compiler/node-types.js +12 -0
- package/node_modules/handlebars/dist/amd/handlebars/compiler/visitor.js +26 -7
- package/node_modules/handlebars/dist/amd/handlebars/compiler/whitespace-control.js +9 -4
- package/node_modules/handlebars/dist/amd/handlebars/exception.js +8 -4
- package/node_modules/handlebars/dist/amd/handlebars/helpers/each.js +40 -14
- package/node_modules/handlebars/dist/amd/handlebars/internal/proto-access.js +21 -1
- package/node_modules/handlebars/dist/amd/handlebars/runtime.js +24 -4
- package/node_modules/handlebars/dist/amd/handlebars/utils.js +4 -3
- package/node_modules/handlebars/dist/amd/precompiler.js +13 -7
- package/node_modules/handlebars/dist/cjs/handlebars/base.js +2 -2
- package/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js +1 -60
- package/node_modules/handlebars/dist/cjs/handlebars/compiler/code-gen.js +64 -4
- package/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js +161 -18
- package/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js +23 -7
- package/node_modules/handlebars/dist/cjs/handlebars/compiler/node-types.js +10 -0
- package/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js +29 -6
- package/node_modules/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js +9 -4
- package/node_modules/handlebars/dist/cjs/handlebars/exception.js +8 -4
- package/node_modules/handlebars/dist/cjs/handlebars/helpers/each.js +40 -14
- package/node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.js +21 -1
- package/node_modules/handlebars/dist/cjs/handlebars/runtime.js +24 -4
- package/node_modules/handlebars/dist/cjs/handlebars/utils.js +4 -3
- package/node_modules/handlebars/dist/cjs/precompiler.js +14 -6
- package/node_modules/handlebars/dist/handlebars.amd.js +401 -130
- package/node_modules/handlebars/dist/handlebars.amd.min.js +4 -4
- package/node_modules/handlebars/dist/handlebars.js +396 -125
- package/node_modules/handlebars/dist/handlebars.min.js +4 -4
- package/node_modules/handlebars/dist/handlebars.runtime.amd.js +100 -29
- package/node_modules/handlebars/dist/handlebars.runtime.amd.min.js +2 -2
- package/node_modules/handlebars/dist/handlebars.runtime.js +94 -23
- package/node_modules/handlebars/dist/handlebars.runtime.min.js +2 -2
- package/node_modules/handlebars/lib/handlebars/base.js +1 -1
- package/node_modules/handlebars/lib/handlebars/compiler/base.js +0 -67
- package/node_modules/handlebars/lib/handlebars/compiler/code-gen.js +65 -11
- package/node_modules/handlebars/lib/handlebars/compiler/compiler.js +164 -23
- package/node_modules/handlebars/lib/handlebars/compiler/javascript-compiler.js +23 -7
- package/node_modules/handlebars/lib/handlebars/compiler/node-types.js +24 -0
- package/node_modules/handlebars/lib/handlebars/compiler/visitor.js +29 -5
- package/node_modules/handlebars/lib/handlebars/compiler/whitespace-control.js +16 -5
- package/node_modules/handlebars/lib/handlebars/exception.js +7 -3
- package/node_modules/handlebars/lib/handlebars/helpers/each.js +39 -16
- package/node_modules/handlebars/lib/handlebars/internal/proto-access.js +22 -0
- package/node_modules/handlebars/lib/handlebars/runtime.js +36 -4
- package/node_modules/handlebars/lib/handlebars/utils.js +3 -2
- package/node_modules/handlebars/lib/precompiler.js +14 -5
- package/node_modules/handlebars/package.json +2 -2
- package/node_modules/handlebars/release-notes.md +20 -1
- package/node_modules/handlebars/types/index.d.ts +8 -0
- package/package.json +5 -5
|
@@ -7,6 +7,26 @@ import {
|
|
|
7
7
|
} from '../utils';
|
|
8
8
|
import Exception from '../exception';
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Close an unfinished iterator after the block body threw, like for...of does,
|
|
12
|
+
* so that generators can run their cleanup code.
|
|
13
|
+
*
|
|
14
|
+
* Errors thrown while closing, including by a `return` getter, are ignored:
|
|
15
|
+
* the block's error is the cause and is the one the caller must see.
|
|
16
|
+
*
|
|
17
|
+
* @param {Iterator} iterator the iterator that was being consumed
|
|
18
|
+
*/
|
|
19
|
+
function closeIterator(iterator) {
|
|
20
|
+
try {
|
|
21
|
+
let close = iterator.return;
|
|
22
|
+
if (isFunction(close)) {
|
|
23
|
+
close.call(iterator);
|
|
24
|
+
}
|
|
25
|
+
} catch (closeError) {
|
|
26
|
+
// NOP
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
10
30
|
export default function(instance) {
|
|
11
31
|
instance.registerHelper('each', function(context, options) {
|
|
12
32
|
if (!options) {
|
|
@@ -33,7 +53,7 @@ export default function(instance) {
|
|
|
33
53
|
data = createFrame(options.data);
|
|
34
54
|
}
|
|
35
55
|
|
|
36
|
-
function execIteration(field, index, last) {
|
|
56
|
+
function execIteration(field, index, last, value) {
|
|
37
57
|
if (data) {
|
|
38
58
|
data.key = field;
|
|
39
59
|
data.index = index;
|
|
@@ -47,12 +67,9 @@ export default function(instance) {
|
|
|
47
67
|
|
|
48
68
|
ret =
|
|
49
69
|
ret +
|
|
50
|
-
fn(
|
|
70
|
+
fn(value, {
|
|
51
71
|
data: data,
|
|
52
|
-
blockParams: blockParams(
|
|
53
|
-
[context[field], field],
|
|
54
|
-
[contextPath + field, null]
|
|
55
|
-
)
|
|
72
|
+
blockParams: blockParams([value, field], [contextPath + field, null])
|
|
56
73
|
});
|
|
57
74
|
}
|
|
58
75
|
|
|
@@ -60,18 +77,24 @@ export default function(instance) {
|
|
|
60
77
|
if (isArray(context)) {
|
|
61
78
|
for (let j = context.length; i < j; i++) {
|
|
62
79
|
if (i in context) {
|
|
63
|
-
execIteration(i, i, i === context.length - 1);
|
|
80
|
+
execIteration(i, i, i === context.length - 1, context[i]);
|
|
64
81
|
}
|
|
65
82
|
}
|
|
66
83
|
} else if (typeof Symbol === 'function' && context[Symbol.iterator]) {
|
|
67
|
-
const newContext = [];
|
|
68
84
|
const iterator = context[Symbol.iterator]();
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
85
|
+
let current = iterator.next();
|
|
86
|
+
while (!current.done) {
|
|
87
|
+
let next = iterator.next();
|
|
88
|
+
try {
|
|
89
|
+
execIteration(i, i, next.done, current.value);
|
|
90
|
+
} catch (e) {
|
|
91
|
+
if (!next.done) {
|
|
92
|
+
closeIterator(iterator);
|
|
93
|
+
}
|
|
94
|
+
throw e;
|
|
95
|
+
}
|
|
96
|
+
current = next;
|
|
97
|
+
i++;
|
|
75
98
|
}
|
|
76
99
|
} else {
|
|
77
100
|
let priorKey;
|
|
@@ -81,13 +104,13 @@ export default function(instance) {
|
|
|
81
104
|
// the last iteration without have to scan the object twice and create
|
|
82
105
|
// an itermediate keys array.
|
|
83
106
|
if (priorKey !== undefined) {
|
|
84
|
-
execIteration(priorKey, i - 1);
|
|
107
|
+
execIteration(priorKey, i - 1, false, context[priorKey]);
|
|
85
108
|
}
|
|
86
109
|
priorKey = key;
|
|
87
110
|
i++;
|
|
88
111
|
});
|
|
89
112
|
if (priorKey !== undefined) {
|
|
90
|
-
execIteration(priorKey, i - 1, true);
|
|
113
|
+
execIteration(priorKey, i - 1, true, context[priorKey]);
|
|
91
114
|
}
|
|
92
115
|
}
|
|
93
116
|
}
|
|
@@ -39,6 +39,28 @@ export function resultIsAllowed(result, protoAccessControl, propertyName) {
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
/**
|
|
43
|
+
* Detect a prototype object's own "constructor" back-reference, e.g.
|
|
44
|
+
* `Function.prototype.constructor === Function`. Because "constructor" is an
|
|
45
|
+
* "own" property of such objects, it would otherwise bypass the prototype-access
|
|
46
|
+
* checks and expose dangerous constructors (allowing arbitrary code execution).
|
|
47
|
+
*
|
|
48
|
+
* Only functions can be constructors, so other values are never treated as one
|
|
49
|
+
* and their `prototype` is never read.
|
|
50
|
+
*
|
|
51
|
+
* @param {*} parent the object the property is being read from
|
|
52
|
+
* @param {string} propertyName the property being looked up
|
|
53
|
+
* @param {*} result the already-resolved value of `parent[propertyName]`
|
|
54
|
+
* @returns {boolean} true if the lookup resolves `parent`'s own constructor
|
|
55
|
+
*/
|
|
56
|
+
export function isPrototypeConstructor(parent, propertyName, result) {
|
|
57
|
+
return (
|
|
58
|
+
propertyName === 'constructor' &&
|
|
59
|
+
typeof result === 'function' &&
|
|
60
|
+
parent === result.prototype
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
|
|
42
64
|
function checkWhiteList(protoAccessControlForType, propertyName) {
|
|
43
65
|
if (protoAccessControlForType.whitelist[propertyName] !== undefined) {
|
|
44
66
|
return protoAccessControlForType.whitelist[propertyName] === true;
|
|
@@ -10,7 +10,8 @@ import { moveHelperToHooks } from './helpers';
|
|
|
10
10
|
import { wrapHelper } from './internal/wrapHelper';
|
|
11
11
|
import {
|
|
12
12
|
createProtoAccessControl,
|
|
13
|
-
resultIsAllowed
|
|
13
|
+
resultIsAllowed,
|
|
14
|
+
isPrototypeConstructor
|
|
14
15
|
} from './internal/proto-access';
|
|
15
16
|
|
|
16
17
|
export function checkRevision(compilerInfo) {
|
|
@@ -79,7 +80,27 @@ export function template(templateSpec, env) {
|
|
|
79
80
|
|
|
80
81
|
let result = env.VM.invokePartial.call(this, partial, context, options);
|
|
81
82
|
|
|
83
|
+
// An empty result normally means the partial is template source that still
|
|
84
|
+
// has to be compiled. A function partial has already been invoked, so an
|
|
85
|
+
// empty result from it is a bug in that partial.
|
|
86
|
+
if (result == null && Utils.isFunction(partial)) {
|
|
87
|
+
throw new Exception(
|
|
88
|
+
'The partial ' +
|
|
89
|
+
options.name +
|
|
90
|
+
' returned no output: partials must return a string'
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
|
|
82
94
|
if (result == null && env.compile) {
|
|
95
|
+
// Only template source registered as a partial may be compiled here.
|
|
96
|
+
// Anything else (e.g. an AST-shaped object) must not become code.
|
|
97
|
+
if (typeof partial !== 'string') {
|
|
98
|
+
throw new Exception(
|
|
99
|
+
'The partial ' +
|
|
100
|
+
options.name +
|
|
101
|
+
' could not be compiled: partials must be strings or functions returning strings'
|
|
102
|
+
);
|
|
103
|
+
}
|
|
83
104
|
options.partials[options.name] = env.compile(
|
|
84
105
|
partial,
|
|
85
106
|
templateSpec.compilerOptions,
|
|
@@ -124,7 +145,15 @@ export function template(templateSpec, env) {
|
|
|
124
145
|
if (result == null) {
|
|
125
146
|
return result;
|
|
126
147
|
}
|
|
127
|
-
|
|
148
|
+
// Own properties are trusted context data and returned as-is, except for
|
|
149
|
+
// a prototype's own "constructor" back-reference (e.g.
|
|
150
|
+
// Function.prototype.constructor === Function): that must still pass the
|
|
151
|
+
// prototype-access deny list, otherwise the Function constructor becomes
|
|
152
|
+
// reachable and arbitrary code can be executed.
|
|
153
|
+
if (
|
|
154
|
+
Object.prototype.hasOwnProperty.call(parent, propertyName) &&
|
|
155
|
+
!isPrototypeConstructor(parent, propertyName, result)
|
|
156
|
+
) {
|
|
128
157
|
return result;
|
|
129
158
|
}
|
|
130
159
|
|
|
@@ -353,8 +382,11 @@ export function resolvePartial(partial, context, options) {
|
|
|
353
382
|
} else {
|
|
354
383
|
partial = lookupOwnProperty(options.partials, options.name);
|
|
355
384
|
}
|
|
356
|
-
} else if (
|
|
357
|
-
// This is a dynamic partial that returned a
|
|
385
|
+
} else if (typeof partial !== 'function' && !options.name) {
|
|
386
|
+
// This is a dynamic partial that returned a name rather than a compiled
|
|
387
|
+
// partial. Only functions are accepted as partials here; any other value
|
|
388
|
+
// (including an object with a "call" property) is treated as a name, so
|
|
389
|
+
// that context data can never be compiled as a template.
|
|
358
390
|
options.name = partial;
|
|
359
391
|
partial = lookupOwnProperty(options.partials, partial);
|
|
360
392
|
}
|
|
@@ -69,8 +69,9 @@ export function indexOf(array, value) {
|
|
|
69
69
|
|
|
70
70
|
export function escapeExpression(string) {
|
|
71
71
|
if (typeof string !== 'string') {
|
|
72
|
-
// don't escape SafeStrings, since they're already safe
|
|
73
|
-
|
|
72
|
+
// don't escape SafeStrings, since they're already safe. Other values with a
|
|
73
|
+
// "toHTML" key, e.g. from JSON context data, are escaped like any object.
|
|
74
|
+
if (string && typeof string.toHTML === 'function') {
|
|
74
75
|
return string.toHTML();
|
|
75
76
|
} else if (string == null) {
|
|
76
77
|
return '';
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import Async from 'neo-async';
|
|
4
4
|
import fs from 'fs';
|
|
5
5
|
import * as Handlebars from './handlebars';
|
|
6
|
+
import { safeJsonLiteral } from './handlebars/compiler/code-gen';
|
|
6
7
|
import { basename } from 'path';
|
|
7
8
|
import { SourceMapConsumer, SourceNode } from 'source-map';
|
|
8
9
|
|
|
@@ -320,10 +321,12 @@ function arrayCast(value) {
|
|
|
320
321
|
/*
|
|
321
322
|
* Safely quotes a value for embedding in generated JavaScript strings
|
|
322
323
|
*
|
|
323
|
-
* Uses JSON.stringify which handles all special characters
|
|
324
|
+
* Uses JSON.stringify which handles all special characters, and also escapes
|
|
325
|
+
* line separators and the sequences that could end or change the parsing of an
|
|
326
|
+
* enclosing <script> element.
|
|
324
327
|
*/
|
|
325
328
|
function quoteForJavaScript(value) {
|
|
326
|
-
return
|
|
329
|
+
return safeJsonLiteral(String(value));
|
|
327
330
|
}
|
|
328
331
|
|
|
329
332
|
/**
|
|
@@ -338,10 +341,14 @@ function isValidNamespace(namespace) {
|
|
|
338
341
|
|
|
339
342
|
/**
|
|
340
343
|
* Strips line terminators from source map URLs to prevent injection of new
|
|
341
|
-
* JavaScript lines via the sourceMappingURL comment
|
|
344
|
+
* JavaScript lines via the sourceMappingURL comment, and percent-encodes "<"
|
|
345
|
+
* so that the comment cannot end or change the parsing of an enclosing
|
|
346
|
+
* <script> element.
|
|
342
347
|
*/
|
|
343
348
|
function sanitizeSourceMapComment(value) {
|
|
344
|
-
return String(value)
|
|
349
|
+
return String(value)
|
|
350
|
+
.replace(/[\r\n\u2028\u2029]/g, '')
|
|
351
|
+
.replace(/</g, '%3C');
|
|
345
352
|
}
|
|
346
353
|
|
|
347
354
|
/**
|
|
@@ -372,7 +379,9 @@ function minify(output, sourceMapFile) {
|
|
|
372
379
|
return require('uglify-js').minify(output.code, {
|
|
373
380
|
sourceMap: {
|
|
374
381
|
content: output.map,
|
|
375
|
-
|
|
382
|
+
// uglify writes its own sourceMappingURL comment, so the URL has to be
|
|
383
|
+
// sanitized here as well.
|
|
384
|
+
url: sourceMapFile && sanitizeSourceMapComment(sourceMapFile)
|
|
376
385
|
}
|
|
377
386
|
});
|
|
378
387
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "handlebars",
|
|
3
3
|
"barename": "handlebars",
|
|
4
|
-
"version": "4.7.
|
|
4
|
+
"version": "4.7.10",
|
|
5
5
|
"description": "Handlebars provides the power necessary to let you build semantic templates effectively with no frustration",
|
|
6
6
|
"homepage": "https://handlebarsjs.com/",
|
|
7
7
|
"keywords": [
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"node": ">=0.4.7"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"minimist": "^1.2.
|
|
24
|
+
"minimist": "^1.2.8",
|
|
25
25
|
"neo-async": "^2.6.2",
|
|
26
26
|
"source-map": "^0.6.1",
|
|
27
27
|
"wordwrap": "^1.0.0"
|
|
@@ -2,7 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
## Development
|
|
4
4
|
|
|
5
|
-
[Commits](https://github.com/handlebars-lang/handlebars.js/compare/v4.7.
|
|
5
|
+
[Commits](https://github.com/handlebars-lang/handlebars.js/compare/v4.7.10...master)
|
|
6
|
+
|
|
7
|
+
## v4.7.10 - October 5th, 2026
|
|
8
|
+
- security: Sanitize the source map URL when minifying - f37c599
|
|
9
|
+
- security: Iterate lazily in #each and strip whitespace in linear time - 812c226
|
|
10
|
+
- security: Escape `<!--` and `<script` in precompiled output - 609d1b1 GHSA-xw65-4hp5-5hc7
|
|
11
|
+
- security: Don't trust special properties on context data - ceec388 GHSA-p8wg-vrv2-v86f
|
|
12
|
+
- security: Only compile partials that are template strings - c28ee7a
|
|
13
|
+
- security: Only dispatch known node types in the Compiler and Visitor - 7d501a5
|
|
14
|
+
- security: Validate AST values in the compiler instead of the parser - 703fdcc GHSA-8r5x-fm3f-whwj
|
|
15
|
+
- Clarify that --root does not restrict filesystem access - 0fcf25c
|
|
16
|
+
- Bump minimist to ^1.2.8 - ea8ed82
|
|
17
|
+
- Fix Ruby component publishing documentation - d069c1c
|
|
18
|
+
- Fix Composer component definition - 6714e07
|
|
19
|
+
|
|
20
|
+
Compatibility notes:
|
|
21
|
+
- `{{#each}}` iterates iterables such as `Map`, `Set` and generators lazily, like `for...of`, instead of
|
|
22
|
+
copying them into an array first. Values added to the iterable while the block renders are now visited too.
|
|
23
|
+
|
|
24
|
+
[Commits](https://github.com/handlebars-lang/handlebars.js/compare/v4.7.9...v4.7.10)
|
|
6
25
|
|
|
7
26
|
## v4.7.9 - March 26th, 2026
|
|
8
27
|
- fix: enable shell mode for spawn to resolve Windows EINVAL issue - e0137c2
|
|
@@ -73,7 +73,15 @@ declare namespace Handlebars {
|
|
|
73
73
|
export function log(level: number, obj: any): void;
|
|
74
74
|
export function parse(input: string, options?: ParseOptions): hbs.AST.Program;
|
|
75
75
|
export function parseWithoutProcessing(input: string, options?: ParseOptions): hbs.AST.Program;
|
|
76
|
+
/**
|
|
77
|
+
* @param input A template source string, or an AST built by your application.
|
|
78
|
+
* An AST is compiled to JavaScript, so never pass one from untrusted input.
|
|
79
|
+
*/
|
|
76
80
|
export function compile<T = any>(input: any, options?: CompileOptions): HandlebarsTemplateDelegate<T>;
|
|
81
|
+
/**
|
|
82
|
+
* @param input A template source string, or an AST built by your application.
|
|
83
|
+
* An AST is compiled to JavaScript, so never pass one from untrusted input.
|
|
84
|
+
*/
|
|
77
85
|
export function precompile(input: any, options?: PrecompileOptions): TemplateSpecification;
|
|
78
86
|
export function template<T = any>(precompilation: TemplateSpecification): HandlebarsTemplateDelegate<T>;
|
|
79
87
|
|
package/package.json
CHANGED
|
@@ -50,16 +50,16 @@
|
|
|
50
50
|
"eslint": "^9",
|
|
51
51
|
"eslint-import-resolver-typescript": "^3.10.1",
|
|
52
52
|
"eslint-plugin-import": "^2.32.0",
|
|
53
|
-
"fs-extra": "^11.
|
|
53
|
+
"fs-extra": "^11.4.1",
|
|
54
54
|
"jest": "^29.7.0",
|
|
55
55
|
"jest-junit": "^17",
|
|
56
56
|
"jsii": "~5.9",
|
|
57
|
-
"jsii-diff": "^1.
|
|
57
|
+
"jsii-diff": "^1.141.0",
|
|
58
58
|
"jsii-docgen": "^10.5.0",
|
|
59
|
-
"jsii-pacmak": "^1.
|
|
59
|
+
"jsii-pacmak": "^1.141.0",
|
|
60
60
|
"jsii-rosetta": "~5.9",
|
|
61
61
|
"projen": "0.104.5",
|
|
62
|
-
"ts-jest": "^29.4.
|
|
62
|
+
"ts-jest": "^29.4.15",
|
|
63
63
|
"ts-node": "^10.9.2",
|
|
64
64
|
"typescript": "^5.9.3"
|
|
65
65
|
},
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"publishConfig": {
|
|
91
91
|
"access": "public"
|
|
92
92
|
},
|
|
93
|
-
"version": "0.3.
|
|
93
|
+
"version": "0.3.27",
|
|
94
94
|
"jest": {
|
|
95
95
|
"coverageProvider": "v8",
|
|
96
96
|
"testMatch": [
|