@hypequery/protocol 0.10.0 → 0.10.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/dist/bundles/types.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ export interface ProtocolDeploymentBundleSourceRevision {
|
|
|
13
13
|
readonly kind: 'git';
|
|
14
14
|
readonly commit: string;
|
|
15
15
|
readonly dirty: boolean;
|
|
16
|
+
/** Checked-out branch at build time; absent for detached HEADs. */
|
|
17
|
+
readonly branch?: string;
|
|
16
18
|
}
|
|
17
19
|
export interface ProtocolDeploymentBundleSource {
|
|
18
20
|
/** Directory within the closed bundle that contains project-relative source files. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/bundles/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kCAAmC,SAAQ,4BAA4B;IACtF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gCAAiC,SAAQ,4BAA4B;IACpF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC;CACrC;AAED,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/bundles/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kCAAmC,SAAQ,4BAA4B;IACtF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gCAAiC,SAAQ,4BAA4B;IACpF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC;CACrC;AAED,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,8BAA8B;IAC7C,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,4BAA4B,EAAE,CAAC;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,sCAAsC,CAAC;CAC5D;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,kCAAkC,CAAC;IACxD,QAAQ,CAAC,SAAS,EAAE,SAAS,gCAAgC,EAAE,CAAC;IAChE,QAAQ,CAAC,MAAM,CAAC,EAAE,8BAA8B,CAAC;CAClD;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;CAC3D;AAED,MAAM,MAAM,iCAAiC,GACzC,gBAAgB,GAChB,yBAAyB,GACzB,2BAA2B,GAC3B,yBAAyB,GACzB,wBAAwB,GACxB,6BAA6B,GAC7B,0BAA0B,GAC1B,qBAAqB,GACrB,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/bundles/validate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAIV,gCAAgC,EAChC,+BAA+B,EAGhC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/bundles/validate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAIV,gCAAgC,EAChC,+BAA+B,EAGhC,MAAM,YAAY,CAAC;AAmPpB,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,+BAAoC,GAC5C,gCAAgC,CA+ClC"}
|
package/dist/bundles/validate.js
CHANGED
|
@@ -113,9 +113,9 @@ function validateArtifact(input, path, limits) {
|
|
|
113
113
|
byteLength: byteLength(value.byteLength, `${path}.byteLength`, limits.maxArtifactBytes),
|
|
114
114
|
});
|
|
115
115
|
}
|
|
116
|
-
function validateSourceRevision(input, path) {
|
|
116
|
+
function validateSourceRevision(input, path, limits) {
|
|
117
117
|
const value = requireRecord(input, path);
|
|
118
|
-
exactFields(value, ['kind', 'commit', 'dirty'], path);
|
|
118
|
+
exactFields(value, ['kind', 'commit', 'dirty'], path, ['branch']);
|
|
119
119
|
if (value.kind !== 'git') {
|
|
120
120
|
if (typeof value.kind !== 'string')
|
|
121
121
|
bundleError('HQ_BUNDLE_TYPE', `${path}.kind`);
|
|
@@ -128,10 +128,33 @@ function validateSourceRevision(input, path) {
|
|
|
128
128
|
}
|
|
129
129
|
if (typeof value.dirty !== 'boolean')
|
|
130
130
|
bundleError('HQ_BUNDLE_TYPE', `${path}.dirty`);
|
|
131
|
+
let branch;
|
|
132
|
+
if (value.branch !== undefined) {
|
|
133
|
+
if (typeof value.branch !== 'string')
|
|
134
|
+
bundleError('HQ_BUNDLE_TYPE', `${path}.branch`);
|
|
135
|
+
if (textEncoder.encode(value.branch).byteLength > limits.maxPathBytes) {
|
|
136
|
+
bundleError('HQ_BUNDLE_TOO_LARGE', `${path}.branch`);
|
|
137
|
+
}
|
|
138
|
+
const invalidCharacter = [...value.branch].some(character => {
|
|
139
|
+
const code = character.charCodeAt(0);
|
|
140
|
+
return code <= 0x20 || code === 0x7f || '~^:?*[\\'.includes(character);
|
|
141
|
+
});
|
|
142
|
+
const segments = value.branch.split('/');
|
|
143
|
+
if (!value.branch || value.branch === '@' || value.branch.startsWith('-')
|
|
144
|
+
|| value.branch.startsWith('/') || value.branch.endsWith('/')
|
|
145
|
+
|| value.branch.endsWith('.') || value.branch.includes('//')
|
|
146
|
+
|| value.branch.includes('..') || value.branch.includes('@{')
|
|
147
|
+
|| invalidCharacter
|
|
148
|
+
|| segments.some(segment => segment.startsWith('.') || segment.endsWith('.lock'))) {
|
|
149
|
+
bundleError('HQ_BUNDLE_INVALID_VALUE', `${path}.branch`);
|
|
150
|
+
}
|
|
151
|
+
branch = value.branch;
|
|
152
|
+
}
|
|
131
153
|
return freezeRecord({
|
|
132
154
|
kind: 'git',
|
|
133
155
|
commit: value.commit,
|
|
134
156
|
dirty: value.dirty,
|
|
157
|
+
...(branch ? { branch } : {}),
|
|
135
158
|
});
|
|
136
159
|
}
|
|
137
160
|
function validateSource(input, path, limits) {
|
|
@@ -172,7 +195,7 @@ function validateSource(input, path, limits) {
|
|
|
172
195
|
files,
|
|
173
196
|
...(value.revision === undefined
|
|
174
197
|
? {}
|
|
175
|
-
: { revision: validateSourceRevision(value.revision, `${path}.revision
|
|
198
|
+
: { revision: validateSourceRevision(value.revision, `${path}.revision`, limits) }),
|
|
176
199
|
});
|
|
177
200
|
}
|
|
178
201
|
function hasTreeCollision(paths) {
|