@superblocksteam/shared 0.9579.2 → 0.9580.0
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/utils/attachment-upload.d.ts +5 -1
- package/dist/utils/attachment-upload.d.ts.map +1 -1
- package/dist/utils/attachment-upload.js +62 -7
- package/dist/utils/attachment-upload.js.map +1 -1
- package/dist/utils/attachment-upload.test.js +42 -0
- package/dist/utils/attachment-upload.test.js.map +1 -1
- package/dist/utils/git-url.test.js +2 -1
- package/dist/utils/git-url.test.js.map +1 -1
- package/dist-esm/utils/attachment-upload.d.ts +5 -1
- package/dist-esm/utils/attachment-upload.d.ts.map +1 -1
- package/dist-esm/utils/attachment-upload.js +61 -7
- package/dist-esm/utils/attachment-upload.js.map +1 -1
- package/dist-esm/utils/attachment-upload.test.js +43 -1
- package/dist-esm/utils/attachment-upload.test.js.map +1 -1
- package/dist-esm/utils/git-url.test.js +2 -1
- package/dist-esm/utils/git-url.test.js.map +1 -1
- package/package.json +1 -1
- package/src/utils/attachment-upload.test.ts +61 -0
- package/src/utils/attachment-upload.ts +73 -8
- package/src/utils/git-url.test.ts +2 -1
|
@@ -73,6 +73,10 @@ export interface AttachmentUploadMetadata {
|
|
|
73
73
|
}
|
|
74
74
|
export declare function buildAttachmentUploadMetadata(params: AttachmentUploadMetadata): AttachmentUploadMetadata | undefined;
|
|
75
75
|
export declare function isTextLikeMimeType(mimeType: string): boolean;
|
|
76
|
+
export declare function isOfficeXml(params: {
|
|
77
|
+
fileName?: string;
|
|
78
|
+
mimeType?: string | null;
|
|
79
|
+
}): boolean;
|
|
76
80
|
export declare function getTextAttachmentType(params: {
|
|
77
81
|
fileName?: string;
|
|
78
82
|
mimeType?: string | null;
|
|
@@ -81,7 +85,7 @@ export declare function normalizeAttachmentMimeType(params: {
|
|
|
81
85
|
fileName?: string;
|
|
82
86
|
mimeType?: string | null;
|
|
83
87
|
fallbackMimeType?: string | null;
|
|
84
|
-
}): string;
|
|
88
|
+
}): string | undefined;
|
|
85
89
|
export declare function toAttachmentUploadDescriptor(source: AttachmentUploadSourceLike, options?: {
|
|
86
90
|
fallbackFileName?: string;
|
|
87
91
|
fallbackMimeType?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-upload.d.ts","sourceRoot":"","sources":["../../src/utils/attachment-upload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"attachment-upload.d.ts","sourceRoot":"","sources":["../../src/utils/attachment-upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,36 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TEXT_LIKE_FILE_EXTENSIONS = void 0;
|
|
4
4
|
exports.buildAttachmentUploadMetadata = buildAttachmentUploadMetadata;
|
|
5
5
|
exports.isTextLikeMimeType = isTextLikeMimeType;
|
|
6
|
+
exports.isOfficeXml = isOfficeXml;
|
|
6
7
|
exports.getTextAttachmentType = getTextAttachmentType;
|
|
7
8
|
exports.normalizeAttachmentMimeType = normalizeAttachmentMimeType;
|
|
8
9
|
exports.toAttachmentUploadDescriptor = toAttachmentUploadDescriptor;
|
|
9
10
|
exports.buildAttachmentUploadFormData = buildAttachmentUploadFormData;
|
|
10
11
|
exports.createUploadedAttachmentFromServer = createUploadedAttachmentFromServer;
|
|
11
12
|
exports.uploadAttachmentToServerApi = uploadAttachmentToServerApi;
|
|
12
|
-
const
|
|
13
|
+
const OFFICE_MIME_SUBSTRINGS = [
|
|
14
|
+
'application/msword',
|
|
15
|
+
'application/vnd.ms-excel',
|
|
16
|
+
'application/vnd.ms-powerpoint',
|
|
17
|
+
'application/vnd.openxmlformats-officedocument',
|
|
18
|
+
'application/vnd.oasis.opendocument',
|
|
19
|
+
'application/rtf'
|
|
20
|
+
];
|
|
21
|
+
const OFFICE_EXTENSIONS = [
|
|
22
|
+
'.doc',
|
|
23
|
+
'.docm',
|
|
24
|
+
'.docx',
|
|
25
|
+
'.odp',
|
|
26
|
+
'.ods',
|
|
27
|
+
'.odt',
|
|
28
|
+
'.ppt',
|
|
29
|
+
'.pptm',
|
|
30
|
+
'.pptx',
|
|
31
|
+
'.rtf',
|
|
32
|
+
'.xls',
|
|
33
|
+
'.xlsm',
|
|
34
|
+
'.xlsx'
|
|
35
|
+
];
|
|
13
36
|
const TEXT_ATTACHMENT_MIME_TYPES = {
|
|
14
37
|
csv: 'text/csv',
|
|
15
38
|
css: 'text/css',
|
|
@@ -106,7 +129,21 @@ function isTextLikeMimeType(mimeType) {
|
|
|
106
129
|
normalizedMimeType.includes('php') ||
|
|
107
130
|
normalizedMimeType.includes('sql'));
|
|
108
131
|
}
|
|
132
|
+
function isOfficeXml(params) {
|
|
133
|
+
const normalizedMimeType = normalizeNonEmptyString(params.mimeType)?.toLowerCase();
|
|
134
|
+
if (normalizedMimeType && OFFICE_MIME_SUBSTRINGS.some((mimeType) => normalizedMimeType.includes(mimeType))) {
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
const normalizedFileName = normalizeNonEmptyString(params.fileName)?.toLowerCase();
|
|
138
|
+
if (!normalizedFileName) {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
return OFFICE_EXTENSIONS.some((extension) => normalizedFileName.endsWith(extension));
|
|
142
|
+
}
|
|
109
143
|
function getTextAttachmentType(params) {
|
|
144
|
+
if (isOfficeXml(params)) {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
110
147
|
const normalizedFileName = normalizeNonEmptyString(params.fileName)?.toLowerCase();
|
|
111
148
|
const normalizedMimeType = normalizeNonEmptyString(params.mimeType)?.toLowerCase();
|
|
112
149
|
if (normalizedMimeType === 'text/csv' || normalizedFileName?.endsWith('.csv')) {
|
|
@@ -139,13 +176,13 @@ function getTextLikeMimeTypeFromFileName(fileName) {
|
|
|
139
176
|
function normalizeAttachmentMimeType(params) {
|
|
140
177
|
const normalizedMimeType = normalizeNonEmptyString(params.mimeType)?.toLowerCase() ?? normalizeNonEmptyString(params.fallbackMimeType)?.toLowerCase();
|
|
141
178
|
const textLikeMimeType = getTextLikeMimeTypeFromFileName(params.fileName);
|
|
142
|
-
if (
|
|
143
|
-
return normalizedMimeType
|
|
179
|
+
if (normalizedMimeType && isTextLikeMimeType(normalizedMimeType)) {
|
|
180
|
+
return normalizedMimeType;
|
|
144
181
|
}
|
|
145
|
-
if (
|
|
182
|
+
if (textLikeMimeType) {
|
|
146
183
|
return textLikeMimeType;
|
|
147
184
|
}
|
|
148
|
-
return
|
|
185
|
+
return normalizedMimeType ?? undefined;
|
|
149
186
|
}
|
|
150
187
|
function getDefaultFileName(mimeType) {
|
|
151
188
|
const normalizedMimeType = mimeType.toLowerCase();
|
|
@@ -167,6 +204,12 @@ function resolveFileName(params) {
|
|
|
167
204
|
function decodeBase64(base64Data) {
|
|
168
205
|
return Uint8Array.from(atob(base64Data), (char) => char.charCodeAt(0));
|
|
169
206
|
}
|
|
207
|
+
function withMimeType(blob, mimeType) {
|
|
208
|
+
if (blob.type === mimeType) {
|
|
209
|
+
return blob;
|
|
210
|
+
}
|
|
211
|
+
return new Blob([blob], { type: mimeType });
|
|
212
|
+
}
|
|
170
213
|
function parseDataUrl(data) {
|
|
171
214
|
const match = data.match(/^data:([^;,]+)?(?:;base64)?,(.*)$/s);
|
|
172
215
|
if (!match) {
|
|
@@ -187,8 +230,11 @@ function toAttachmentUploadDescriptor(source, options) {
|
|
|
187
230
|
mimeType: source.type,
|
|
188
231
|
fallbackMimeType: options?.fallbackMimeType
|
|
189
232
|
});
|
|
233
|
+
if (!mimeType) {
|
|
234
|
+
return null;
|
|
235
|
+
}
|
|
190
236
|
return {
|
|
191
|
-
blob: source,
|
|
237
|
+
blob: withMimeType(source, mimeType),
|
|
192
238
|
fileName: resolveFileName({
|
|
193
239
|
fileName: source.name,
|
|
194
240
|
fallbackFileName: options?.fallbackFileName,
|
|
@@ -204,8 +250,11 @@ function toAttachmentUploadDescriptor(source, options) {
|
|
|
204
250
|
mimeType: source.type,
|
|
205
251
|
fallbackMimeType: options?.fallbackMimeType
|
|
206
252
|
});
|
|
253
|
+
if (!mimeType) {
|
|
254
|
+
return null;
|
|
255
|
+
}
|
|
207
256
|
return {
|
|
208
|
-
blob: source,
|
|
257
|
+
blob: withMimeType(source, mimeType),
|
|
209
258
|
fileName: resolveFileName({
|
|
210
259
|
fileName: sourceWithOptionalName.name,
|
|
211
260
|
fallbackFileName: options?.fallbackFileName,
|
|
@@ -222,6 +271,9 @@ function toAttachmentUploadDescriptor(source, options) {
|
|
|
222
271
|
fallbackMimeType: options?.fallbackMimeType
|
|
223
272
|
});
|
|
224
273
|
const base64Data = parsedDataUrl?.base64Data ?? source.data;
|
|
274
|
+
if (!mimeType) {
|
|
275
|
+
return null;
|
|
276
|
+
}
|
|
225
277
|
return {
|
|
226
278
|
blob: new Blob([decodeBase64(base64Data)], { type: mimeType }),
|
|
227
279
|
fileName: resolveFileName({
|
|
@@ -270,6 +322,9 @@ function toAttachmentUploadDescriptor(source, options) {
|
|
|
270
322
|
mimeType: source.mimeType,
|
|
271
323
|
fallbackMimeType: options?.fallbackMimeType ?? TEXT_ATTACHMENT_MIME_TYPES[source.type]
|
|
272
324
|
});
|
|
325
|
+
if (!mimeType) {
|
|
326
|
+
return null;
|
|
327
|
+
}
|
|
273
328
|
return {
|
|
274
329
|
blob: new Blob([source.content], { type: mimeType }),
|
|
275
330
|
fileName: resolveFileName({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-upload.js","sourceRoot":"","sources":["../../src/utils/attachment-upload.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attachment-upload.js","sourceRoot":"","sources":["../../src/utils/attachment-upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,15 @@ const attachment_upload_js_1 = require("./attachment-upload.js");
|
|
|
30
30
|
fileName: 'main.ts',
|
|
31
31
|
mimeType: 'text/plain'
|
|
32
32
|
});
|
|
33
|
+
(0, vitest_1.expect)(descriptor?.blob.type).toBe('text/plain');
|
|
34
|
+
});
|
|
35
|
+
(0, vitest_1.test)('normalizes blank browser mime types for python files', () => {
|
|
36
|
+
const descriptor = (0, attachment_upload_js_1.toAttachmentUploadDescriptor)(new File(['print("hi")'], 'script.py', { type: '' }));
|
|
37
|
+
(0, vitest_1.expect)(descriptor).toMatchObject({
|
|
38
|
+
fileName: 'script.py',
|
|
39
|
+
mimeType: 'text/plain'
|
|
40
|
+
});
|
|
41
|
+
(0, vitest_1.expect)(descriptor?.blob.type).toBe('text/plain');
|
|
33
42
|
});
|
|
34
43
|
});
|
|
35
44
|
(0, vitest_1.describe)('buildAttachmentUploadFormData', () => {
|
|
@@ -123,4 +132,37 @@ const attachment_upload_js_1 = require("./attachment-upload.js");
|
|
|
123
132
|
})).toBe('text/plain');
|
|
124
133
|
});
|
|
125
134
|
});
|
|
135
|
+
(0, vitest_1.describe)('getTextAttachmentType', () => {
|
|
136
|
+
(0, vitest_1.test)('returns null for office/openxml files even when mime is text-like', () => {
|
|
137
|
+
(0, vitest_1.expect)((0, attachment_upload_js_1.getTextAttachmentType)({
|
|
138
|
+
fileName: 'proposal.docx',
|
|
139
|
+
mimeType: 'text/plain'
|
|
140
|
+
})).toBeNull();
|
|
141
|
+
});
|
|
142
|
+
(0, vitest_1.test)('still classifies markdown as text', () => {
|
|
143
|
+
(0, vitest_1.expect)((0, attachment_upload_js_1.getTextAttachmentType)({
|
|
144
|
+
fileName: 'readme.md',
|
|
145
|
+
mimeType: 'text/markdown'
|
|
146
|
+
})).toBe('txt');
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
(0, vitest_1.describe)('isOfficeXml', () => {
|
|
150
|
+
(0, vitest_1.test)('returns true for office file extensions even with text mime type', () => {
|
|
151
|
+
(0, vitest_1.expect)((0, attachment_upload_js_1.isOfficeXml)({
|
|
152
|
+
fileName: 'requirements.docx',
|
|
153
|
+
mimeType: 'text/plain'
|
|
154
|
+
})).toBe(true);
|
|
155
|
+
});
|
|
156
|
+
(0, vitest_1.test)('returns true for office mime types without filename', () => {
|
|
157
|
+
(0, vitest_1.expect)((0, attachment_upload_js_1.isOfficeXml)({
|
|
158
|
+
mimeType: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
|
|
159
|
+
})).toBe(true);
|
|
160
|
+
});
|
|
161
|
+
(0, vitest_1.test)('returns false for markdown files', () => {
|
|
162
|
+
(0, vitest_1.expect)((0, attachment_upload_js_1.isOfficeXml)({
|
|
163
|
+
fileName: 'readme.md',
|
|
164
|
+
mimeType: 'text/markdown'
|
|
165
|
+
})).toBe(false);
|
|
166
|
+
});
|
|
167
|
+
});
|
|
126
168
|
//# sourceMappingURL=attachment-upload.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-upload.test.js","sourceRoot":"","sources":["../../src/utils/attachment-upload.test.ts"],"names":[],"mappings":";;AAAA,mCAAgD;AAEhD,
|
|
1
|
+
{"version":3,"file":"attachment-upload.test.js","sourceRoot":"","sources":["../../src/utils/attachment-upload.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,12 +7,13 @@ const git_url_js_1 = require("./git-url.js");
|
|
|
7
7
|
'https://github.com/org/repo.git',
|
|
8
8
|
'https://github.com/org/repo',
|
|
9
9
|
'http://gitlab.com/org/repo.git',
|
|
10
|
+
'https://gitlab-pr-18183.superblocks.dev/root/ndavid.git',
|
|
10
11
|
'git@github.com:org/repo.git',
|
|
11
12
|
'git@gitlab.com:org/repo'
|
|
12
13
|
])('returns true for %s', (url) => {
|
|
13
14
|
(0, vitest_1.expect)((0, git_url_js_1.isValidGitUrl)(url)).toBe(true);
|
|
14
15
|
});
|
|
15
|
-
vitest_1.it.each(['', 'not-a-url', 'ftp://github.com/org/repo', 'https://'])('returns false for %j', (url) => {
|
|
16
|
+
vitest_1.it.each(['', 'not-a-url', 'ftp://github.com/org/repo', 'https://', 'https://github.com/org'])('returns false for %j', (url) => {
|
|
16
17
|
(0, vitest_1.expect)((0, git_url_js_1.isValidGitUrl)(url)).toBe(false);
|
|
17
18
|
});
|
|
18
19
|
(0, vitest_1.it)('trims whitespace', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-url.test.js","sourceRoot":"","sources":["../../src/utils/git-url.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAE9C,6CAA2H;AAE3H,IAAA,iBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,WAAE,CAAC,IAAI,CAAC;QACN,iCAAiC;QACjC,6BAA6B;QAC7B,gCAAgC;QAChC,6BAA6B;QAC7B,yBAAyB;KAC1B,CAAC,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE;QAChC,IAAA,eAAM,EAAC,IAAA,0BAAa,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,WAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE,UAAU,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"git-url.test.js","sourceRoot":"","sources":["../../src/utils/git-url.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,6 +73,10 @@ export interface AttachmentUploadMetadata {
|
|
|
73
73
|
}
|
|
74
74
|
export declare function buildAttachmentUploadMetadata(params: AttachmentUploadMetadata): AttachmentUploadMetadata | undefined;
|
|
75
75
|
export declare function isTextLikeMimeType(mimeType: string): boolean;
|
|
76
|
+
export declare function isOfficeXml(params: {
|
|
77
|
+
fileName?: string;
|
|
78
|
+
mimeType?: string | null;
|
|
79
|
+
}): boolean;
|
|
76
80
|
export declare function getTextAttachmentType(params: {
|
|
77
81
|
fileName?: string;
|
|
78
82
|
mimeType?: string | null;
|
|
@@ -81,7 +85,7 @@ export declare function normalizeAttachmentMimeType(params: {
|
|
|
81
85
|
fileName?: string;
|
|
82
86
|
mimeType?: string | null;
|
|
83
87
|
fallbackMimeType?: string | null;
|
|
84
|
-
}): string;
|
|
88
|
+
}): string | undefined;
|
|
85
89
|
export declare function toAttachmentUploadDescriptor(source: AttachmentUploadSourceLike, options?: {
|
|
86
90
|
fallbackFileName?: string;
|
|
87
91
|
fallbackMimeType?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-upload.d.ts","sourceRoot":"","sources":["../../src/utils/attachment-upload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"attachment-upload.d.ts","sourceRoot":"","sources":["../../src/utils/attachment-upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,26 @@
|
|
|
1
|
-
const
|
|
1
|
+
const OFFICE_MIME_SUBSTRINGS = [
|
|
2
|
+
'application/msword',
|
|
3
|
+
'application/vnd.ms-excel',
|
|
4
|
+
'application/vnd.ms-powerpoint',
|
|
5
|
+
'application/vnd.openxmlformats-officedocument',
|
|
6
|
+
'application/vnd.oasis.opendocument',
|
|
7
|
+
'application/rtf'
|
|
8
|
+
];
|
|
9
|
+
const OFFICE_EXTENSIONS = [
|
|
10
|
+
'.doc',
|
|
11
|
+
'.docm',
|
|
12
|
+
'.docx',
|
|
13
|
+
'.odp',
|
|
14
|
+
'.ods',
|
|
15
|
+
'.odt',
|
|
16
|
+
'.ppt',
|
|
17
|
+
'.pptm',
|
|
18
|
+
'.pptx',
|
|
19
|
+
'.rtf',
|
|
20
|
+
'.xls',
|
|
21
|
+
'.xlsm',
|
|
22
|
+
'.xlsx'
|
|
23
|
+
];
|
|
2
24
|
const TEXT_ATTACHMENT_MIME_TYPES = {
|
|
3
25
|
csv: 'text/csv',
|
|
4
26
|
css: 'text/css',
|
|
@@ -95,7 +117,21 @@ export function isTextLikeMimeType(mimeType) {
|
|
|
95
117
|
normalizedMimeType.includes('php') ||
|
|
96
118
|
normalizedMimeType.includes('sql'));
|
|
97
119
|
}
|
|
120
|
+
export function isOfficeXml(params) {
|
|
121
|
+
const normalizedMimeType = normalizeNonEmptyString(params.mimeType)?.toLowerCase();
|
|
122
|
+
if (normalizedMimeType && OFFICE_MIME_SUBSTRINGS.some((mimeType) => normalizedMimeType.includes(mimeType))) {
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
const normalizedFileName = normalizeNonEmptyString(params.fileName)?.toLowerCase();
|
|
126
|
+
if (!normalizedFileName) {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
return OFFICE_EXTENSIONS.some((extension) => normalizedFileName.endsWith(extension));
|
|
130
|
+
}
|
|
98
131
|
export function getTextAttachmentType(params) {
|
|
132
|
+
if (isOfficeXml(params)) {
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
99
135
|
const normalizedFileName = normalizeNonEmptyString(params.fileName)?.toLowerCase();
|
|
100
136
|
const normalizedMimeType = normalizeNonEmptyString(params.mimeType)?.toLowerCase();
|
|
101
137
|
if (normalizedMimeType === 'text/csv' || normalizedFileName?.endsWith('.csv')) {
|
|
@@ -128,13 +164,13 @@ function getTextLikeMimeTypeFromFileName(fileName) {
|
|
|
128
164
|
export function normalizeAttachmentMimeType(params) {
|
|
129
165
|
const normalizedMimeType = normalizeNonEmptyString(params.mimeType)?.toLowerCase() ?? normalizeNonEmptyString(params.fallbackMimeType)?.toLowerCase();
|
|
130
166
|
const textLikeMimeType = getTextLikeMimeTypeFromFileName(params.fileName);
|
|
131
|
-
if (
|
|
132
|
-
return normalizedMimeType
|
|
167
|
+
if (normalizedMimeType && isTextLikeMimeType(normalizedMimeType)) {
|
|
168
|
+
return normalizedMimeType;
|
|
133
169
|
}
|
|
134
|
-
if (
|
|
170
|
+
if (textLikeMimeType) {
|
|
135
171
|
return textLikeMimeType;
|
|
136
172
|
}
|
|
137
|
-
return
|
|
173
|
+
return normalizedMimeType ?? undefined;
|
|
138
174
|
}
|
|
139
175
|
function getDefaultFileName(mimeType) {
|
|
140
176
|
const normalizedMimeType = mimeType.toLowerCase();
|
|
@@ -156,6 +192,12 @@ function resolveFileName(params) {
|
|
|
156
192
|
function decodeBase64(base64Data) {
|
|
157
193
|
return Uint8Array.from(atob(base64Data), (char) => char.charCodeAt(0));
|
|
158
194
|
}
|
|
195
|
+
function withMimeType(blob, mimeType) {
|
|
196
|
+
if (blob.type === mimeType) {
|
|
197
|
+
return blob;
|
|
198
|
+
}
|
|
199
|
+
return new Blob([blob], { type: mimeType });
|
|
200
|
+
}
|
|
159
201
|
function parseDataUrl(data) {
|
|
160
202
|
const match = data.match(/^data:([^;,]+)?(?:;base64)?,(.*)$/s);
|
|
161
203
|
if (!match) {
|
|
@@ -176,8 +218,11 @@ export function toAttachmentUploadDescriptor(source, options) {
|
|
|
176
218
|
mimeType: source.type,
|
|
177
219
|
fallbackMimeType: options?.fallbackMimeType
|
|
178
220
|
});
|
|
221
|
+
if (!mimeType) {
|
|
222
|
+
return null;
|
|
223
|
+
}
|
|
179
224
|
return {
|
|
180
|
-
blob: source,
|
|
225
|
+
blob: withMimeType(source, mimeType),
|
|
181
226
|
fileName: resolveFileName({
|
|
182
227
|
fileName: source.name,
|
|
183
228
|
fallbackFileName: options?.fallbackFileName,
|
|
@@ -193,8 +238,11 @@ export function toAttachmentUploadDescriptor(source, options) {
|
|
|
193
238
|
mimeType: source.type,
|
|
194
239
|
fallbackMimeType: options?.fallbackMimeType
|
|
195
240
|
});
|
|
241
|
+
if (!mimeType) {
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
196
244
|
return {
|
|
197
|
-
blob: source,
|
|
245
|
+
blob: withMimeType(source, mimeType),
|
|
198
246
|
fileName: resolveFileName({
|
|
199
247
|
fileName: sourceWithOptionalName.name,
|
|
200
248
|
fallbackFileName: options?.fallbackFileName,
|
|
@@ -211,6 +259,9 @@ export function toAttachmentUploadDescriptor(source, options) {
|
|
|
211
259
|
fallbackMimeType: options?.fallbackMimeType
|
|
212
260
|
});
|
|
213
261
|
const base64Data = parsedDataUrl?.base64Data ?? source.data;
|
|
262
|
+
if (!mimeType) {
|
|
263
|
+
return null;
|
|
264
|
+
}
|
|
214
265
|
return {
|
|
215
266
|
blob: new Blob([decodeBase64(base64Data)], { type: mimeType }),
|
|
216
267
|
fileName: resolveFileName({
|
|
@@ -259,6 +310,9 @@ export function toAttachmentUploadDescriptor(source, options) {
|
|
|
259
310
|
mimeType: source.mimeType,
|
|
260
311
|
fallbackMimeType: options?.fallbackMimeType ?? TEXT_ATTACHMENT_MIME_TYPES[source.type]
|
|
261
312
|
});
|
|
313
|
+
if (!mimeType) {
|
|
314
|
+
return null;
|
|
315
|
+
}
|
|
262
316
|
return {
|
|
263
317
|
blob: new Blob([source.content], { type: mimeType }),
|
|
264
318
|
fileName: resolveFileName({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-upload.js","sourceRoot":"","sources":["../../src/utils/attachment-upload.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attachment-upload.js","sourceRoot":"","sources":["../../src/utils/attachment-upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, expect, test } from 'vitest';
|
|
2
|
-
import { buildAttachmentUploadMetadata, buildAttachmentUploadFormData, createUploadedAttachmentFromServer, normalizeAttachmentMimeType, toAttachmentUploadDescriptor } from './attachment-upload.js';
|
|
2
|
+
import { buildAttachmentUploadMetadata, buildAttachmentUploadFormData, createUploadedAttachmentFromServer, getTextAttachmentType, isOfficeXml, normalizeAttachmentMimeType, toAttachmentUploadDescriptor } from './attachment-upload.js';
|
|
3
3
|
describe('toAttachmentUploadDescriptor', () => {
|
|
4
4
|
test('preserves explicit names for non-File uploads', () => {
|
|
5
5
|
const descriptor = toAttachmentUploadDescriptor({
|
|
@@ -28,6 +28,15 @@ describe('toAttachmentUploadDescriptor', () => {
|
|
|
28
28
|
fileName: 'main.ts',
|
|
29
29
|
mimeType: 'text/plain'
|
|
30
30
|
});
|
|
31
|
+
expect(descriptor?.blob.type).toBe('text/plain');
|
|
32
|
+
});
|
|
33
|
+
test('normalizes blank browser mime types for python files', () => {
|
|
34
|
+
const descriptor = toAttachmentUploadDescriptor(new File(['print("hi")'], 'script.py', { type: '' }));
|
|
35
|
+
expect(descriptor).toMatchObject({
|
|
36
|
+
fileName: 'script.py',
|
|
37
|
+
mimeType: 'text/plain'
|
|
38
|
+
});
|
|
39
|
+
expect(descriptor?.blob.type).toBe('text/plain');
|
|
31
40
|
});
|
|
32
41
|
});
|
|
33
42
|
describe('buildAttachmentUploadFormData', () => {
|
|
@@ -121,4 +130,37 @@ describe('normalizeAttachmentMimeType', () => {
|
|
|
121
130
|
})).toBe('text/plain');
|
|
122
131
|
});
|
|
123
132
|
});
|
|
133
|
+
describe('getTextAttachmentType', () => {
|
|
134
|
+
test('returns null for office/openxml files even when mime is text-like', () => {
|
|
135
|
+
expect(getTextAttachmentType({
|
|
136
|
+
fileName: 'proposal.docx',
|
|
137
|
+
mimeType: 'text/plain'
|
|
138
|
+
})).toBeNull();
|
|
139
|
+
});
|
|
140
|
+
test('still classifies markdown as text', () => {
|
|
141
|
+
expect(getTextAttachmentType({
|
|
142
|
+
fileName: 'readme.md',
|
|
143
|
+
mimeType: 'text/markdown'
|
|
144
|
+
})).toBe('txt');
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
describe('isOfficeXml', () => {
|
|
148
|
+
test('returns true for office file extensions even with text mime type', () => {
|
|
149
|
+
expect(isOfficeXml({
|
|
150
|
+
fileName: 'requirements.docx',
|
|
151
|
+
mimeType: 'text/plain'
|
|
152
|
+
})).toBe(true);
|
|
153
|
+
});
|
|
154
|
+
test('returns true for office mime types without filename', () => {
|
|
155
|
+
expect(isOfficeXml({
|
|
156
|
+
mimeType: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
|
|
157
|
+
})).toBe(true);
|
|
158
|
+
});
|
|
159
|
+
test('returns false for markdown files', () => {
|
|
160
|
+
expect(isOfficeXml({
|
|
161
|
+
fileName: 'readme.md',
|
|
162
|
+
mimeType: 'text/markdown'
|
|
163
|
+
})).toBe(false);
|
|
164
|
+
});
|
|
165
|
+
});
|
|
124
166
|
//# sourceMappingURL=attachment-upload.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-upload.test.js","sourceRoot":"","sources":["../../src/utils/attachment-upload.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,kCAAkC,EAClC,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,wBAAwB,CAAC;AAEhC,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACzD,MAAM,UAAU,GAAG,4BAA4B,CAAC;YAC9C,IAAI,EAAE,6BAA6B;YACnC,QAAQ,EAAE,YAAY;YACtB,IAAI,EAAE,cAAc;SACrB,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;YAC/B,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,YAAY;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC7E,MAAM,UAAU,GAAG,4BAA4B,CAAC;YAC9C,IAAI,EAAE,kCAAkC;YACxC,QAAQ,EAAE,iBAAiB;SAC5B,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;YAC/B,QAAQ,EAAE,gBAAgB;YAC1B,QAAQ,EAAE,iBAAiB;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACtF,MAAM,UAAU,GAAG,4BAA4B,CAAC,IAAI,IAAI,CAAC,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QAErH,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;YAC/B,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,YAAY;SACvB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"attachment-upload.test.js","sourceRoot":"","sources":["../../src/utils/attachment-upload.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,13 @@ describe('isValidGitUrl', () => {
|
|
|
5
5
|
'https://github.com/org/repo.git',
|
|
6
6
|
'https://github.com/org/repo',
|
|
7
7
|
'http://gitlab.com/org/repo.git',
|
|
8
|
+
'https://gitlab-pr-18183.superblocks.dev/root/ndavid.git',
|
|
8
9
|
'git@github.com:org/repo.git',
|
|
9
10
|
'git@gitlab.com:org/repo'
|
|
10
11
|
])('returns true for %s', (url) => {
|
|
11
12
|
expect(isValidGitUrl(url)).toBe(true);
|
|
12
13
|
});
|
|
13
|
-
it.each(['', 'not-a-url', 'ftp://github.com/org/repo', 'https://'])('returns false for %j', (url) => {
|
|
14
|
+
it.each(['', 'not-a-url', 'ftp://github.com/org/repo', 'https://', 'https://github.com/org'])('returns false for %j', (url) => {
|
|
14
15
|
expect(isValidGitUrl(url)).toBe(false);
|
|
15
16
|
});
|
|
16
17
|
it('trims whitespace', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-url.test.js","sourceRoot":"","sources":["../../src/utils/git-url.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3H,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,IAAI,CAAC;QACN,iCAAiC;QACjC,6BAA6B;QAC7B,gCAAgC;QAChC,6BAA6B;QAC7B,yBAAyB;KAC1B,CAAC,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE;QAChC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE,UAAU,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"git-url.test.js","sourceRoot":"","sources":["../../src/utils/git-url.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -4,6 +4,8 @@ import {
|
|
|
4
4
|
buildAttachmentUploadMetadata,
|
|
5
5
|
buildAttachmentUploadFormData,
|
|
6
6
|
createUploadedAttachmentFromServer,
|
|
7
|
+
getTextAttachmentType,
|
|
8
|
+
isOfficeXml,
|
|
7
9
|
normalizeAttachmentMimeType,
|
|
8
10
|
toAttachmentUploadDescriptor
|
|
9
11
|
} from './attachment-upload.js';
|
|
@@ -41,6 +43,17 @@ describe('toAttachmentUploadDescriptor', () => {
|
|
|
41
43
|
fileName: 'main.ts',
|
|
42
44
|
mimeType: 'text/plain'
|
|
43
45
|
});
|
|
46
|
+
expect(descriptor?.blob.type).toBe('text/plain');
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
test('normalizes blank browser mime types for python files', () => {
|
|
50
|
+
const descriptor = toAttachmentUploadDescriptor(new File(['print("hi")'], 'script.py', { type: '' }));
|
|
51
|
+
|
|
52
|
+
expect(descriptor).toMatchObject({
|
|
53
|
+
fileName: 'script.py',
|
|
54
|
+
mimeType: 'text/plain'
|
|
55
|
+
});
|
|
56
|
+
expect(descriptor?.blob.type).toBe('text/plain');
|
|
44
57
|
});
|
|
45
58
|
});
|
|
46
59
|
|
|
@@ -152,3 +165,51 @@ describe('normalizeAttachmentMimeType', () => {
|
|
|
152
165
|
).toBe('text/plain');
|
|
153
166
|
});
|
|
154
167
|
});
|
|
168
|
+
|
|
169
|
+
describe('getTextAttachmentType', () => {
|
|
170
|
+
test('returns null for office/openxml files even when mime is text-like', () => {
|
|
171
|
+
expect(
|
|
172
|
+
getTextAttachmentType({
|
|
173
|
+
fileName: 'proposal.docx',
|
|
174
|
+
mimeType: 'text/plain'
|
|
175
|
+
})
|
|
176
|
+
).toBeNull();
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
test('still classifies markdown as text', () => {
|
|
180
|
+
expect(
|
|
181
|
+
getTextAttachmentType({
|
|
182
|
+
fileName: 'readme.md',
|
|
183
|
+
mimeType: 'text/markdown'
|
|
184
|
+
})
|
|
185
|
+
).toBe('txt');
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
describe('isOfficeXml', () => {
|
|
190
|
+
test('returns true for office file extensions even with text mime type', () => {
|
|
191
|
+
expect(
|
|
192
|
+
isOfficeXml({
|
|
193
|
+
fileName: 'requirements.docx',
|
|
194
|
+
mimeType: 'text/plain'
|
|
195
|
+
})
|
|
196
|
+
).toBe(true);
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
test('returns true for office mime types without filename', () => {
|
|
200
|
+
expect(
|
|
201
|
+
isOfficeXml({
|
|
202
|
+
mimeType: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
|
|
203
|
+
})
|
|
204
|
+
).toBe(true);
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
test('returns false for markdown files', () => {
|
|
208
|
+
expect(
|
|
209
|
+
isOfficeXml({
|
|
210
|
+
fileName: 'readme.md',
|
|
211
|
+
mimeType: 'text/markdown'
|
|
212
|
+
})
|
|
213
|
+
).toBe(false);
|
|
214
|
+
});
|
|
215
|
+
});
|
|
@@ -1,4 +1,27 @@
|
|
|
1
|
-
const
|
|
1
|
+
const OFFICE_MIME_SUBSTRINGS = [
|
|
2
|
+
'application/msword',
|
|
3
|
+
'application/vnd.ms-excel',
|
|
4
|
+
'application/vnd.ms-powerpoint',
|
|
5
|
+
'application/vnd.openxmlformats-officedocument',
|
|
6
|
+
'application/vnd.oasis.opendocument',
|
|
7
|
+
'application/rtf'
|
|
8
|
+
] as const;
|
|
9
|
+
|
|
10
|
+
const OFFICE_EXTENSIONS = [
|
|
11
|
+
'.doc',
|
|
12
|
+
'.docm',
|
|
13
|
+
'.docx',
|
|
14
|
+
'.odp',
|
|
15
|
+
'.ods',
|
|
16
|
+
'.odt',
|
|
17
|
+
'.ppt',
|
|
18
|
+
'.pptm',
|
|
19
|
+
'.pptx',
|
|
20
|
+
'.rtf',
|
|
21
|
+
'.xls',
|
|
22
|
+
'.xlsm',
|
|
23
|
+
'.xlsx'
|
|
24
|
+
] as const;
|
|
2
25
|
|
|
3
26
|
const TEXT_ATTACHMENT_MIME_TYPES = {
|
|
4
27
|
csv: 'text/csv',
|
|
@@ -201,10 +224,28 @@ export function isTextLikeMimeType(mimeType: string): boolean {
|
|
|
201
224
|
);
|
|
202
225
|
}
|
|
203
226
|
|
|
227
|
+
export function isOfficeXml(params: { fileName?: string; mimeType?: string | null }): boolean {
|
|
228
|
+
const normalizedMimeType = normalizeNonEmptyString(params.mimeType)?.toLowerCase();
|
|
229
|
+
if (normalizedMimeType && OFFICE_MIME_SUBSTRINGS.some((mimeType) => normalizedMimeType.includes(mimeType))) {
|
|
230
|
+
return true;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
const normalizedFileName = normalizeNonEmptyString(params.fileName)?.toLowerCase();
|
|
234
|
+
if (!normalizedFileName) {
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
return OFFICE_EXTENSIONS.some((extension) => normalizedFileName.endsWith(extension));
|
|
239
|
+
}
|
|
240
|
+
|
|
204
241
|
export function getTextAttachmentType(params: {
|
|
205
242
|
fileName?: string;
|
|
206
243
|
mimeType?: string | null;
|
|
207
244
|
}): 'csv' | 'css' | 'json' | 'txt' | 'yaml' | null {
|
|
245
|
+
if (isOfficeXml(params)) {
|
|
246
|
+
return null;
|
|
247
|
+
}
|
|
248
|
+
|
|
208
249
|
const normalizedFileName = normalizeNonEmptyString(params.fileName)?.toLowerCase();
|
|
209
250
|
const normalizedMimeType = normalizeNonEmptyString(params.mimeType)?.toLowerCase();
|
|
210
251
|
|
|
@@ -246,20 +287,20 @@ export function normalizeAttachmentMimeType(params: {
|
|
|
246
287
|
fileName?: string;
|
|
247
288
|
mimeType?: string | null;
|
|
248
289
|
fallbackMimeType?: string | null;
|
|
249
|
-
}): string {
|
|
290
|
+
}): string | undefined {
|
|
250
291
|
const normalizedMimeType =
|
|
251
292
|
normalizeNonEmptyString(params.mimeType)?.toLowerCase() ?? normalizeNonEmptyString(params.fallbackMimeType)?.toLowerCase();
|
|
252
293
|
const textLikeMimeType = getTextLikeMimeTypeFromFileName(params.fileName);
|
|
253
294
|
|
|
254
|
-
if (
|
|
255
|
-
return normalizedMimeType
|
|
295
|
+
if (normalizedMimeType && isTextLikeMimeType(normalizedMimeType)) {
|
|
296
|
+
return normalizedMimeType;
|
|
256
297
|
}
|
|
257
298
|
|
|
258
|
-
if (
|
|
299
|
+
if (textLikeMimeType) {
|
|
259
300
|
return textLikeMimeType;
|
|
260
301
|
}
|
|
261
302
|
|
|
262
|
-
return
|
|
303
|
+
return normalizedMimeType ?? undefined;
|
|
263
304
|
}
|
|
264
305
|
|
|
265
306
|
function getDefaultFileName(mimeType: string): string {
|
|
@@ -289,6 +330,14 @@ function decodeBase64(base64Data: string): Uint8Array {
|
|
|
289
330
|
return Uint8Array.from(atob(base64Data), (char) => char.charCodeAt(0));
|
|
290
331
|
}
|
|
291
332
|
|
|
333
|
+
function withMimeType(blob: Blob, mimeType: string): Blob {
|
|
334
|
+
if (blob.type === mimeType) {
|
|
335
|
+
return blob;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
return new Blob([blob], { type: mimeType });
|
|
339
|
+
}
|
|
340
|
+
|
|
292
341
|
function parseDataUrl(data: string): { base64Data: string; mimeType?: string } | null {
|
|
293
342
|
const match = data.match(/^data:([^;,]+)?(?:;base64)?,(.*)$/s);
|
|
294
343
|
if (!match) {
|
|
@@ -319,8 +368,12 @@ export function toAttachmentUploadDescriptor(
|
|
|
319
368
|
fallbackMimeType: options?.fallbackMimeType
|
|
320
369
|
});
|
|
321
370
|
|
|
371
|
+
if (!mimeType) {
|
|
372
|
+
return null;
|
|
373
|
+
}
|
|
374
|
+
|
|
322
375
|
return {
|
|
323
|
-
blob: source,
|
|
376
|
+
blob: withMimeType(source, mimeType),
|
|
324
377
|
fileName: resolveFileName({
|
|
325
378
|
fileName: source.name,
|
|
326
379
|
fallbackFileName: options?.fallbackFileName,
|
|
@@ -338,8 +391,12 @@ export function toAttachmentUploadDescriptor(
|
|
|
338
391
|
fallbackMimeType: options?.fallbackMimeType
|
|
339
392
|
});
|
|
340
393
|
|
|
394
|
+
if (!mimeType) {
|
|
395
|
+
return null;
|
|
396
|
+
}
|
|
397
|
+
|
|
341
398
|
return {
|
|
342
|
-
blob: source,
|
|
399
|
+
blob: withMimeType(source, mimeType),
|
|
343
400
|
fileName: resolveFileName({
|
|
344
401
|
fileName: sourceWithOptionalName.name,
|
|
345
402
|
fallbackFileName: options?.fallbackFileName,
|
|
@@ -358,6 +415,10 @@ export function toAttachmentUploadDescriptor(
|
|
|
358
415
|
});
|
|
359
416
|
const base64Data = parsedDataUrl?.base64Data ?? source.data;
|
|
360
417
|
|
|
418
|
+
if (!mimeType) {
|
|
419
|
+
return null;
|
|
420
|
+
}
|
|
421
|
+
|
|
361
422
|
return {
|
|
362
423
|
blob: new Blob([decodeBase64(base64Data)], { type: mimeType }),
|
|
363
424
|
fileName: resolveFileName({
|
|
@@ -412,6 +473,10 @@ export function toAttachmentUploadDescriptor(
|
|
|
412
473
|
fallbackMimeType: options?.fallbackMimeType ?? TEXT_ATTACHMENT_MIME_TYPES[source.type]
|
|
413
474
|
});
|
|
414
475
|
|
|
476
|
+
if (!mimeType) {
|
|
477
|
+
return null;
|
|
478
|
+
}
|
|
479
|
+
|
|
415
480
|
return {
|
|
416
481
|
blob: new Blob([source.content], { type: mimeType }),
|
|
417
482
|
fileName: resolveFileName({
|
|
@@ -7,13 +7,14 @@ describe('isValidGitUrl', () => {
|
|
|
7
7
|
'https://github.com/org/repo.git',
|
|
8
8
|
'https://github.com/org/repo',
|
|
9
9
|
'http://gitlab.com/org/repo.git',
|
|
10
|
+
'https://gitlab-pr-18183.superblocks.dev/root/ndavid.git',
|
|
10
11
|
'git@github.com:org/repo.git',
|
|
11
12
|
'git@gitlab.com:org/repo'
|
|
12
13
|
])('returns true for %s', (url) => {
|
|
13
14
|
expect(isValidGitUrl(url)).toBe(true);
|
|
14
15
|
});
|
|
15
16
|
|
|
16
|
-
it.each(['', 'not-a-url', 'ftp://github.com/org/repo', 'https://'])('returns false for %j', (url) => {
|
|
17
|
+
it.each(['', 'not-a-url', 'ftp://github.com/org/repo', 'https://', 'https://github.com/org'])('returns false for %j', (url) => {
|
|
17
18
|
expect(isValidGitUrl(url)).toBe(false);
|
|
18
19
|
});
|
|
19
20
|
|