@tramvai/module-progressive-web-app 2.101.0 → 2.101.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/lib/browser.js +1 -1
- package/lib/server.es.js +1 -1
- package/lib/server.js +1 -0
- package/lib/tokens.browser.js +7 -1
- package/lib/tokens.d.ts +6 -0
- package/lib/tokens.es.js +7 -1
- package/lib/tokens.js +7 -0
- package/lib/workbox/browser.browser.js +17 -4
- package/package.json +5 -5
package/lib/browser.js
CHANGED
|
@@ -4,7 +4,7 @@ export { TramvaiPwaWorkboxModule } from './workbox/browser.browser.js';
|
|
|
4
4
|
import { TramvaiPwaManifestModule } from './manifest/browser.browser.js';
|
|
5
5
|
export { TramvaiPwaManifestModule } from './manifest/browser.browser.js';
|
|
6
6
|
import { TramvaiPwaMetaModule } from './meta/browser.browser.js';
|
|
7
|
-
export { PWA_MANIFEST_URL_TOKEN, PWA_META_TOKEN, PWA_SW_SCOPE_TOKEN, PWA_SW_URL_TOKEN, PWA_WORKBOX_TOKEN } from './tokens.browser.js';
|
|
7
|
+
export { PWA_MANIFEST_URL_TOKEN, PWA_META_TOKEN, PWA_SW_PARAMS_TOKEN, PWA_SW_SCOPE_TOKEN, PWA_SW_URL_TOKEN, PWA_WORKBOX_TOKEN } from './tokens.browser.js';
|
|
8
8
|
|
|
9
9
|
const TramvaiPwaModule = declareModule({
|
|
10
10
|
name: 'TramvaiPwaModule',
|
package/lib/server.es.js
CHANGED
|
@@ -4,7 +4,7 @@ export { TramvaiPwaWorkboxModule } from './workbox/server.es.js';
|
|
|
4
4
|
import { TramvaiPwaManifestModule } from './manifest/server.es.js';
|
|
5
5
|
export { TramvaiPwaManifestModule } from './manifest/server.es.js';
|
|
6
6
|
import { TramvaiPwaMetaModule } from './meta/server.es.js';
|
|
7
|
-
export { PWA_MANIFEST_URL_TOKEN, PWA_META_TOKEN, PWA_SW_SCOPE_TOKEN, PWA_SW_URL_TOKEN, PWA_WORKBOX_TOKEN } from './tokens.es.js';
|
|
7
|
+
export { PWA_MANIFEST_URL_TOKEN, PWA_META_TOKEN, PWA_SW_PARAMS_TOKEN, PWA_SW_SCOPE_TOKEN, PWA_SW_URL_TOKEN, PWA_WORKBOX_TOKEN } from './tokens.es.js';
|
|
8
8
|
|
|
9
9
|
const TramvaiPwaModule = declareModule({
|
|
10
10
|
name: 'TramvaiPwaModule',
|
package/lib/server.js
CHANGED
|
@@ -18,6 +18,7 @@ exports.TramvaiPwaWorkboxModule = server.TramvaiPwaWorkboxModule;
|
|
|
18
18
|
exports.TramvaiPwaManifestModule = server$1.TramvaiPwaManifestModule;
|
|
19
19
|
exports.PWA_MANIFEST_URL_TOKEN = tokens.PWA_MANIFEST_URL_TOKEN;
|
|
20
20
|
exports.PWA_META_TOKEN = tokens.PWA_META_TOKEN;
|
|
21
|
+
exports.PWA_SW_PARAMS_TOKEN = tokens.PWA_SW_PARAMS_TOKEN;
|
|
21
22
|
exports.PWA_SW_SCOPE_TOKEN = tokens.PWA_SW_SCOPE_TOKEN;
|
|
22
23
|
exports.PWA_SW_URL_TOKEN = tokens.PWA_SW_URL_TOKEN;
|
|
23
24
|
exports.PWA_WORKBOX_TOKEN = tokens.PWA_WORKBOX_TOKEN;
|
package/lib/tokens.browser.js
CHANGED
|
@@ -12,6 +12,12 @@ const PWA_SW_URL_TOKEN = createToken('pwa sw url');
|
|
|
12
12
|
* @description Token to owerwrite default - `pwa.sw.scope`
|
|
13
13
|
*/
|
|
14
14
|
const PWA_SW_SCOPE_TOKEN = createToken('pwa sw scope');
|
|
15
|
+
/**
|
|
16
|
+
* @description Token to add query params to sw url
|
|
17
|
+
*/
|
|
18
|
+
const PWA_SW_PARAMS_TOKEN = createToken('pwa sw params', {
|
|
19
|
+
multi: true,
|
|
20
|
+
});
|
|
15
21
|
/**
|
|
16
22
|
* @description Token to owerwrite default - `${pwa.webmanifest.path}manifest.${pwa.webmanifest.ext}`
|
|
17
23
|
*/
|
|
@@ -21,4 +27,4 @@ const PWA_MANIFEST_URL_TOKEN = createToken('pwa manifest url');
|
|
|
21
27
|
*/
|
|
22
28
|
const PWA_META_TOKEN = createToken('pwa meta');
|
|
23
29
|
|
|
24
|
-
export { PWA_MANIFEST_URL_TOKEN, PWA_META_TOKEN, PWA_SW_SCOPE_TOKEN, PWA_SW_URL_TOKEN, PWA_WORKBOX_TOKEN };
|
|
30
|
+
export { PWA_MANIFEST_URL_TOKEN, PWA_META_TOKEN, PWA_SW_PARAMS_TOKEN, PWA_SW_SCOPE_TOKEN, PWA_SW_URL_TOKEN, PWA_WORKBOX_TOKEN };
|
package/lib/tokens.d.ts
CHANGED
|
@@ -21,6 +21,12 @@ export declare const PWA_SW_URL_TOKEN: string & {
|
|
|
21
21
|
export declare const PWA_SW_SCOPE_TOKEN: string & {
|
|
22
22
|
__type?: "base token" | undefined;
|
|
23
23
|
};
|
|
24
|
+
/**
|
|
25
|
+
* @description Token to add query params to sw url
|
|
26
|
+
*/
|
|
27
|
+
export declare const PWA_SW_PARAMS_TOKEN: Record<string, string> & {
|
|
28
|
+
__type?: "multi token" | undefined;
|
|
29
|
+
};
|
|
24
30
|
/**
|
|
25
31
|
* @description Token to owerwrite default - `${pwa.webmanifest.path}manifest.${pwa.webmanifest.ext}`
|
|
26
32
|
*/
|
package/lib/tokens.es.js
CHANGED
|
@@ -12,6 +12,12 @@ const PWA_SW_URL_TOKEN = createToken('pwa sw url');
|
|
|
12
12
|
* @description Token to owerwrite default - `pwa.sw.scope`
|
|
13
13
|
*/
|
|
14
14
|
const PWA_SW_SCOPE_TOKEN = createToken('pwa sw scope');
|
|
15
|
+
/**
|
|
16
|
+
* @description Token to add query params to sw url
|
|
17
|
+
*/
|
|
18
|
+
const PWA_SW_PARAMS_TOKEN = createToken('pwa sw params', {
|
|
19
|
+
multi: true,
|
|
20
|
+
});
|
|
15
21
|
/**
|
|
16
22
|
* @description Token to owerwrite default - `${pwa.webmanifest.path}manifest.${pwa.webmanifest.ext}`
|
|
17
23
|
*/
|
|
@@ -21,4 +27,4 @@ const PWA_MANIFEST_URL_TOKEN = createToken('pwa manifest url');
|
|
|
21
27
|
*/
|
|
22
28
|
const PWA_META_TOKEN = createToken('pwa meta');
|
|
23
29
|
|
|
24
|
-
export { PWA_MANIFEST_URL_TOKEN, PWA_META_TOKEN, PWA_SW_SCOPE_TOKEN, PWA_SW_URL_TOKEN, PWA_WORKBOX_TOKEN };
|
|
30
|
+
export { PWA_MANIFEST_URL_TOKEN, PWA_META_TOKEN, PWA_SW_PARAMS_TOKEN, PWA_SW_SCOPE_TOKEN, PWA_SW_URL_TOKEN, PWA_WORKBOX_TOKEN };
|
package/lib/tokens.js
CHANGED
|
@@ -16,6 +16,12 @@ const PWA_SW_URL_TOKEN = dippy.createToken('pwa sw url');
|
|
|
16
16
|
* @description Token to owerwrite default - `pwa.sw.scope`
|
|
17
17
|
*/
|
|
18
18
|
const PWA_SW_SCOPE_TOKEN = dippy.createToken('pwa sw scope');
|
|
19
|
+
/**
|
|
20
|
+
* @description Token to add query params to sw url
|
|
21
|
+
*/
|
|
22
|
+
const PWA_SW_PARAMS_TOKEN = dippy.createToken('pwa sw params', {
|
|
23
|
+
multi: true,
|
|
24
|
+
});
|
|
19
25
|
/**
|
|
20
26
|
* @description Token to owerwrite default - `${pwa.webmanifest.path}manifest.${pwa.webmanifest.ext}`
|
|
21
27
|
*/
|
|
@@ -27,6 +33,7 @@ const PWA_META_TOKEN = dippy.createToken('pwa meta');
|
|
|
27
33
|
|
|
28
34
|
exports.PWA_MANIFEST_URL_TOKEN = PWA_MANIFEST_URL_TOKEN;
|
|
29
35
|
exports.PWA_META_TOKEN = PWA_META_TOKEN;
|
|
36
|
+
exports.PWA_SW_PARAMS_TOKEN = PWA_SW_PARAMS_TOKEN;
|
|
30
37
|
exports.PWA_SW_SCOPE_TOKEN = PWA_SW_SCOPE_TOKEN;
|
|
31
38
|
exports.PWA_SW_URL_TOKEN = PWA_SW_URL_TOKEN;
|
|
32
39
|
exports.PWA_WORKBOX_TOKEN = PWA_WORKBOX_TOKEN;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { declareModule, provide, Scope, commandLineListTokens } from '@tramvai/core';
|
|
1
|
+
import { declareModule, provide, Scope, optional, commandLineListTokens } from '@tramvai/core';
|
|
2
2
|
import { MODERN_SATISFIES_TOKEN } from '@tramvai/tokens-render';
|
|
3
|
-
import { PWA_WORKBOX_TOKEN, PWA_SW_URL_TOKEN, PWA_SW_SCOPE_TOKEN } from '../tokens.browser.js';
|
|
3
|
+
import { PWA_WORKBOX_TOKEN, PWA_SW_URL_TOKEN, PWA_SW_SCOPE_TOKEN, PWA_SW_PARAMS_TOKEN } from '../tokens.browser.js';
|
|
4
4
|
import { providers } from './shared.browser.js';
|
|
5
5
|
|
|
6
6
|
const TramvaiPwaWorkboxModule = declareModule({
|
|
@@ -10,7 +10,7 @@ const TramvaiPwaWorkboxModule = declareModule({
|
|
|
10
10
|
provide({
|
|
11
11
|
provide: PWA_WORKBOX_TOKEN,
|
|
12
12
|
scope: Scope.SINGLETON,
|
|
13
|
-
useFactory: ({ swUrl, swScope, modern }) => {
|
|
13
|
+
useFactory: ({ swUrl, swScope, modern, swParams }) => {
|
|
14
14
|
let workbox = null;
|
|
15
15
|
return async () => {
|
|
16
16
|
if (!('serviceWorker' in navigator)) {
|
|
@@ -18,7 +18,19 @@ const TramvaiPwaWorkboxModule = declareModule({
|
|
|
18
18
|
return workbox;
|
|
19
19
|
}
|
|
20
20
|
const { Workbox } = await import('workbox-window/Workbox');
|
|
21
|
-
|
|
21
|
+
let finalSwUrl = modern ? swUrl.replace(/\.js$/, '.modern.js') : swUrl;
|
|
22
|
+
if (swParams && swParams.length) {
|
|
23
|
+
const params = swParams
|
|
24
|
+
.filter(Boolean)
|
|
25
|
+
.reduce((acc, p) => {
|
|
26
|
+
return acc.concat(Object.keys(p).map((k) => `${encodeURIComponent(k)}=${encodeURIComponent(p[k])}`));
|
|
27
|
+
}, [])
|
|
28
|
+
.join('&');
|
|
29
|
+
if (params) {
|
|
30
|
+
finalSwUrl += `?${params}`;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
workbox = new Workbox(finalSwUrl, {
|
|
22
34
|
scope: swScope,
|
|
23
35
|
});
|
|
24
36
|
workbox.addEventListener('installed', (event) => {
|
|
@@ -31,6 +43,7 @@ const TramvaiPwaWorkboxModule = declareModule({
|
|
|
31
43
|
swUrl: PWA_SW_URL_TOKEN,
|
|
32
44
|
swScope: PWA_SW_SCOPE_TOKEN,
|
|
33
45
|
modern: MODERN_SATISFIES_TOKEN,
|
|
46
|
+
swParams: optional(PWA_SW_PARAMS_TOKEN),
|
|
34
47
|
},
|
|
35
48
|
}),
|
|
36
49
|
provide({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/module-progressive-web-app",
|
|
3
|
-
"version": "2.101.
|
|
3
|
+
"version": "2.101.1",
|
|
4
4
|
"description": "Pwa integration - SW, manifest, icons and meta",
|
|
5
5
|
"browser": "lib/browser.js",
|
|
6
6
|
"main": "lib/server.js",
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
"registry": "https://registry.npmjs.org/"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@tramvai/tokens-render": "2.101.
|
|
27
|
-
"@tramvai/tokens-server": "2.101.
|
|
26
|
+
"@tramvai/tokens-render": "2.101.1",
|
|
27
|
+
"@tramvai/tokens-server": "2.101.1",
|
|
28
28
|
"workbox-window": "^6.4.1"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {},
|
|
31
31
|
"peerDependencies": {
|
|
32
|
-
"@tramvai/cli": "2.101.
|
|
33
|
-
"@tramvai/core": "2.101.
|
|
32
|
+
"@tramvai/cli": "2.101.1",
|
|
33
|
+
"@tramvai/core": "2.101.1",
|
|
34
34
|
"@tinkoff/dippy": "0.8.15",
|
|
35
35
|
"tslib": "^2.4.0"
|
|
36
36
|
}
|