@uploadcare/file-uploader 1.19.5-alpha.0 → 1.19.6-alpha.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/abstract/UploaderBlock.d.ts +4 -6
- package/abstract/UploaderBlock.d.ts.map +1 -1
- package/abstract/UploaderBlock.js +11 -26
- package/env.d.ts +1 -1
- package/env.js +1 -1
- package/index.ssr.d.ts +1 -1
- package/index.ssr.js +1 -1
- package/package.json +1 -1
- package/utils/parseCdnUrl.d.ts.map +1 -1
- package/utils/parseCdnUrl.js +4 -1
- package/utils/parseCdnUrl.test.js +13 -0
- package/web/file-uploader.iife.min.js +4 -4
- package/web/file-uploader.min.js +4 -4
- package/web/uc-cloud-image-editor.min.js +1 -1
- package/web/uc-file-uploader-inline.min.js +4 -4
- package/web/uc-file-uploader-minimal.min.js +4 -4
- package/web/uc-file-uploader-regular.min.js +4 -4
- package/web/uc-img.min.js +1 -1
|
@@ -20,6 +20,10 @@ export class UploaderBlock extends ActivityBlock {
|
|
|
20
20
|
};
|
|
21
21
|
/** @private */
|
|
22
22
|
private get hasCtxOwner();
|
|
23
|
+
/** @private */
|
|
24
|
+
private _unobserveCollection;
|
|
25
|
+
/** @private */
|
|
26
|
+
private _unobserveCollectionProperties;
|
|
23
27
|
/**
|
|
24
28
|
* @returns {ValidationManager}
|
|
25
29
|
* @protected
|
|
@@ -32,12 +36,6 @@ export class UploaderBlock extends ActivityBlock {
|
|
|
32
36
|
get uploadCollection(): TypedCollection<typeof uploadEntrySchema>;
|
|
33
37
|
/** @private */
|
|
34
38
|
private initCtxOwner;
|
|
35
|
-
/** @private */
|
|
36
|
-
private _unobserveCollection;
|
|
37
|
-
/** @private */
|
|
38
|
-
private _unobserveCollectionProperties;
|
|
39
|
-
/** @private */
|
|
40
|
-
private destroyCtxOwner;
|
|
41
39
|
/**
|
|
42
40
|
* @private
|
|
43
41
|
* @param {import('../types').OutputCollectionState} collectionState
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploaderBlock.d.ts","sourceRoot":"","sources":["UploaderBlock.js"],"names":[],"mappings":"AAmBA;IACE,iBAAiB;IACjB,mCAAwB;IAExB,eAAe;IACf,mBAAmB;IAEnB;;;;;;;;;;;;;;MAA+B;IAE/B,eAAe;IACf,0BAOC;
|
|
1
|
+
{"version":3,"file":"UploaderBlock.d.ts","sourceRoot":"","sources":["UploaderBlock.js"],"names":[],"mappings":"AAmBA;IACE,iBAAiB;IACjB,mCAAwB;IAExB,eAAe;IACf,mBAAmB;IAEnB;;;;;;;;;;;;;;MAA+B;IAE/B,eAAe;IACf,0BAOC;IAcC,eAAe;IACf,6BAAiG;IAEjG,eAAe;IACf,uCAEC;IAeH;;;OAGG;IACH,mCAHa,iBAAiB,CAQ7B;IAED,mCAAmC;IACnC,WADc,iBAAiB,CAM9B;IAED,4BAEC;IAED,2DAA2D;IAC3D,wBADc,eAAe,CAAC,OAAO,iBAAiB,CAAC,CAMtD;IAmBD,eAAe;IACf,qBAUC;IAED;;;OAGG;IACH,qBAkBC;IAED,eAAe;IACf,0BAYQ;IAER;;;OAGG;IACH,gCAkCE;IAEF;;;OAGG;IACH,0CA6FE;IAEF,eAAe;IACf,mCAsBE;IAEF,6BAiBC;IAED,eAAe;IACf,uBAkDC;IAED;;;OAGG;IACH,kCAHW,MAAM,qEAWhB;IAED;;;OAGG;IACH,oCAHa,OAAO,CAAC,OAAO,2BAA2B,EAAE,eAAe,CAAC,CA4BxE;IAED,kEAAkE;IAClE,iBADc,OAAO,sBAAsB,EAAE,eAAe,EAAE,CAK7D;CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAzc6B,oBAAoB;qCAWb,2BAA2B;kCAG9B,wBAAwB;kCADxB,wBAAwB;gCAD1B,sBAAsB;kCAGpB,wBAAwB"}
|
|
@@ -48,6 +48,14 @@ export class UploaderBlock extends ActivityBlock {
|
|
|
48
48
|
this.add('*uploadCollection', uploadCollection);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
+
/** @private */
|
|
52
|
+
this._unobserveCollection = this.uploadCollection.observeCollection(this._handleCollectionUpdate);
|
|
53
|
+
|
|
54
|
+
/** @private */
|
|
55
|
+
this._unobserveCollectionProperties = this.uploadCollection.observeProperties(
|
|
56
|
+
this._handleCollectionPropertiesUpdate,
|
|
57
|
+
);
|
|
58
|
+
|
|
51
59
|
if (!this.has('*publicApi')) {
|
|
52
60
|
this.add('*publicApi', new UploaderPublicApi(this));
|
|
53
61
|
}
|
|
@@ -94,9 +102,6 @@ export class UploaderBlock extends ActivityBlock {
|
|
|
94
102
|
|
|
95
103
|
/** @protected */
|
|
96
104
|
destroyCtxCallback() {
|
|
97
|
-
if (this.isCtxOwner) {
|
|
98
|
-
this.destroyCtxOwner();
|
|
99
|
-
}
|
|
100
105
|
this.uploadCollection.destroy();
|
|
101
106
|
this.$['*uploadCollection'] = null;
|
|
102
107
|
|
|
@@ -106,9 +111,9 @@ export class UploaderBlock extends ActivityBlock {
|
|
|
106
111
|
destroyCallback() {
|
|
107
112
|
super.destroyCallback();
|
|
108
113
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
114
|
+
this._unobserveCollectionProperties?.();
|
|
115
|
+
this._unobserveCollection?.();
|
|
116
|
+
|
|
112
117
|
this._flushOutputItems.cancel();
|
|
113
118
|
}
|
|
114
119
|
|
|
@@ -116,14 +121,6 @@ export class UploaderBlock extends ActivityBlock {
|
|
|
116
121
|
initCtxOwner() {
|
|
117
122
|
this.isCtxOwner = true;
|
|
118
123
|
|
|
119
|
-
/** @private */
|
|
120
|
-
this._unobserveCollection = this.uploadCollection.observeCollection(this._handleCollectionUpdate);
|
|
121
|
-
|
|
122
|
-
/** @private */
|
|
123
|
-
this._unobserveCollectionProperties = this.uploadCollection.observeProperties(
|
|
124
|
-
this._handleCollectionPropertiesUpdate,
|
|
125
|
-
);
|
|
126
|
-
|
|
127
124
|
this.subConfigValue('maxConcurrentRequests', (value) => {
|
|
128
125
|
this.$['*uploadQueue'].concurrency = Number(value) || 1;
|
|
129
126
|
});
|
|
@@ -133,18 +130,6 @@ export class UploaderBlock extends ActivityBlock {
|
|
|
133
130
|
}
|
|
134
131
|
}
|
|
135
132
|
|
|
136
|
-
/** @private */
|
|
137
|
-
destroyCtxOwner() {
|
|
138
|
-
if (!this.isCtxOwner) {
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
this._unobserveCollectionProperties?.();
|
|
143
|
-
this._unobserveCollection?.();
|
|
144
|
-
this.$['*secureUploadsManager'] = null;
|
|
145
|
-
this.isCtxOwner = false;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
133
|
/**
|
|
149
134
|
* @private
|
|
150
135
|
* @param {import('../types').OutputCollectionState} collectionState
|
package/env.d.ts
CHANGED
package/env.js
CHANGED
package/index.ssr.d.ts
CHANGED
|
@@ -550,7 +550,7 @@ export namespace ModalEvents {
|
|
|
550
550
|
let DESTROY: string;
|
|
551
551
|
}
|
|
552
552
|
export const PACKAGE_NAME: "blocks";
|
|
553
|
-
export const PACKAGE_VERSION: "1.19.
|
|
553
|
+
export const PACKAGE_VERSION: "1.19.5";
|
|
554
554
|
export const PresenceToggle: {
|
|
555
555
|
new (): {};
|
|
556
556
|
template: string;
|
package/index.ssr.js
CHANGED
|
@@ -1070,7 +1070,7 @@ export const ModalEvents = {
|
|
|
1070
1070
|
DESTROY: "modal:destroy",
|
|
1071
1071
|
};
|
|
1072
1072
|
export const PACKAGE_NAME = `blocks`;
|
|
1073
|
-
export const PACKAGE_VERSION = `1.19.
|
|
1073
|
+
export const PACKAGE_VERSION = `1.19.5`;
|
|
1074
1074
|
export const PresenceToggle = class {
|
|
1075
1075
|
static template = `<slot></slot> `;
|
|
1076
1076
|
static reg = () => {};
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseCdnUrl.d.ts","sourceRoot":"","sources":["parseCdnUrl.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parseCdnUrl.d.ts","sourceRoot":"","sources":["parseCdnUrl.js"],"names":[],"mappings":"AAMO,8CADK;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;;;;SAiB3C"}
|
package/utils/parseCdnUrl.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
+
import { DEFAULT_CDN_CNAME } from '../blocks/Config/initialConfig.js';
|
|
2
|
+
|
|
1
3
|
const uuidRegex = /[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/i;
|
|
2
4
|
const cdnUrlRegex = new RegExp(`^/?(${uuidRegex.source})(?:/(-/(?:[^/]+/)+)?([^/]*))?$`, 'i');
|
|
3
5
|
|
|
4
6
|
/** @param {{ url: string; cdnBase: string }} options */
|
|
5
7
|
export const parseCdnUrl = ({ url, cdnBase }) => {
|
|
6
8
|
const cdnBaseUrlObj = new URL(cdnBase);
|
|
9
|
+
const fallbackCdnBaseUrlObj = new URL(DEFAULT_CDN_CNAME);
|
|
7
10
|
const urlObj = new URL(url);
|
|
8
11
|
|
|
9
|
-
if (cdnBaseUrlObj.host !== urlObj.host) {
|
|
12
|
+
if (cdnBaseUrlObj.host !== urlObj.host && fallbackCdnBaseUrlObj.host !== urlObj.host) {
|
|
10
13
|
return null;
|
|
11
14
|
}
|
|
12
15
|
|
|
@@ -75,4 +75,17 @@ describe('parseCdnUrl', () => {
|
|
|
75
75
|
filename: null,
|
|
76
76
|
});
|
|
77
77
|
});
|
|
78
|
+
|
|
79
|
+
it('should fallback to ucarecdn.com if cdnBase is not matched', () => {
|
|
80
|
+
expect(
|
|
81
|
+
parseCdnUrl({
|
|
82
|
+
url: 'https://ucarecdn.com/12345678-1234-5678-1234-567812345678/',
|
|
83
|
+
cdnBase: 'https://cdn.example.com',
|
|
84
|
+
}),
|
|
85
|
+
).to.deep.equal({
|
|
86
|
+
uuid: '12345678-1234-5678-1234-567812345678',
|
|
87
|
+
cdnUrlModifiers: '',
|
|
88
|
+
filename: null,
|
|
89
|
+
});
|
|
90
|
+
});
|
|
78
91
|
});
|