@tramvai/module-progressive-web-app 4.1.0 → 4.2.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/lib/browser.js +1 -1
- package/lib/manifest/shared/providers.d.ts +26 -2
- package/lib/manifest/shared/providers.es.js +21 -10
- package/lib/manifest/shared/providers.js +19 -8
- package/lib/server.es.js +1 -1
- package/lib/server.js +1 -0
- package/lib/tokens.browser.js +5 -1
- package/lib/tokens.d.ts +27 -0
- package/lib/tokens.es.js +5 -1
- package/lib/tokens.js +5 -0
- package/package.json +6 -6
package/lib/browser.js
CHANGED
|
@@ -4,7 +4,7 @@ export { TramvaiPwaWorkboxModule } from './workbox/browser.browser.js';
|
|
|
4
4
|
import { TramvaiPwaManifestModule, TramvaiPwaLightManifestModule } 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_PARAMS_TOKEN, PWA_SW_SCOPE_TOKEN, PWA_SW_URL_TOKEN, PWA_WORKBOX_TOKEN } from './tokens.browser.js';
|
|
7
|
+
export { PWA_MANIFEST_INIT_COMMAND_LINE, 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',
|
|
@@ -6,12 +6,36 @@ export declare const validateRelativeUrlProvider: import("@tramvai/core").Provid
|
|
|
6
6
|
__type?: "multi token" | undefined;
|
|
7
7
|
}>;
|
|
8
8
|
export declare const registerWebManifestProvider: import("@tramvai/core").Provider<{
|
|
9
|
-
|
|
9
|
+
manifestUrl: string & {
|
|
10
10
|
__type?: "base token" | undefined;
|
|
11
11
|
};
|
|
12
|
-
|
|
12
|
+
di: import("@tinkoff/dippy").Container & {
|
|
13
13
|
__type?: "base token" | undefined;
|
|
14
14
|
};
|
|
15
|
+
manifestCommandLine: {
|
|
16
|
+
token: ("init" & {
|
|
17
|
+
__type?: "base token" | undefined;
|
|
18
|
+
}) | ("listen" & {
|
|
19
|
+
__type?: "base token" | undefined;
|
|
20
|
+
}) | ("customerStart" & {
|
|
21
|
+
__type?: "base token" | undefined;
|
|
22
|
+
}) | ("resolveUserDeps" & {
|
|
23
|
+
__type?: "base token" | undefined;
|
|
24
|
+
}) | ("resolvePageDeps" & {
|
|
25
|
+
__type?: "base token" | undefined;
|
|
26
|
+
}) | ("generatePage" & {
|
|
27
|
+
__type?: "base token" | undefined;
|
|
28
|
+
}) | ("clear" & {
|
|
29
|
+
__type?: "base token" | undefined;
|
|
30
|
+
}) | ("spaTransition" & {
|
|
31
|
+
__type?: "base token" | undefined;
|
|
32
|
+
}) | ("afterSpaTransition" & {
|
|
33
|
+
__type?: "base token" | undefined;
|
|
34
|
+
}) | ("close" & {
|
|
35
|
+
__type?: "base token" | undefined;
|
|
36
|
+
});
|
|
37
|
+
optional: boolean;
|
|
38
|
+
};
|
|
15
39
|
}, import("@tramvai/core").Command & {
|
|
16
40
|
__type?: "multi token" | undefined;
|
|
17
41
|
}>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { provide, commandLineListTokens } from '@tramvai/core';
|
|
1
|
+
import { provide, commandLineListTokens, DI_TOKEN } from '@tramvai/core';
|
|
2
2
|
import { ResourceType, ResourceSlot, RESOURCES_REGISTRY } from '@tramvai/tokens-render';
|
|
3
|
-
import { PWA_MANIFEST_URL_TOKEN } from '../../tokens.es.js';
|
|
3
|
+
import { PWA_MANIFEST_URL_TOKEN, PWA_MANIFEST_INIT_COMMAND_LINE } from '../../tokens.es.js';
|
|
4
4
|
|
|
5
5
|
const validateRelativeUrl = (url) => {
|
|
6
6
|
if (!url.startsWith('/')) {
|
|
@@ -20,18 +20,29 @@ const validateRelativeUrlProvider = provide({
|
|
|
20
20
|
},
|
|
21
21
|
});
|
|
22
22
|
const registerWebManifestProvider = provide({
|
|
23
|
-
provide: commandLineListTokens.
|
|
24
|
-
useFactory: ({
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
provide: commandLineListTokens.init,
|
|
24
|
+
useFactory: ({ manifestCommandLine, manifestUrl, di }) => function registerWebManifestCommandLine() {
|
|
25
|
+
di.register({
|
|
26
|
+
provide: manifestCommandLine
|
|
27
|
+
? commandLineListTokens[manifestCommandLine]
|
|
28
|
+
: commandLineListTokens.customerStart,
|
|
29
|
+
useFactory: ({ resourcesRegistry }) => function registerWebManifestAsResource() {
|
|
30
|
+
resourcesRegistry.register({
|
|
31
|
+
type: ResourceType.asIs,
|
|
32
|
+
slot: ResourceSlot.HEAD_META,
|
|
33
|
+
// @todo what about crossorigin, maybe optional?
|
|
34
|
+
payload: `<link rel="manifest" href="${manifestUrl}">`,
|
|
35
|
+
});
|
|
36
|
+
},
|
|
37
|
+
deps: {
|
|
38
|
+
resourcesRegistry: RESOURCES_REGISTRY,
|
|
39
|
+
},
|
|
30
40
|
});
|
|
31
41
|
},
|
|
32
42
|
deps: {
|
|
33
|
-
resourcesRegistry: RESOURCES_REGISTRY,
|
|
34
43
|
manifestUrl: PWA_MANIFEST_URL_TOKEN,
|
|
44
|
+
di: DI_TOKEN,
|
|
45
|
+
manifestCommandLine: { token: PWA_MANIFEST_INIT_COMMAND_LINE, optional: true },
|
|
35
46
|
},
|
|
36
47
|
});
|
|
37
48
|
|
|
@@ -24,18 +24,29 @@ const validateRelativeUrlProvider = core.provide({
|
|
|
24
24
|
},
|
|
25
25
|
});
|
|
26
26
|
const registerWebManifestProvider = core.provide({
|
|
27
|
-
provide: core.commandLineListTokens.
|
|
28
|
-
useFactory: ({
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
provide: core.commandLineListTokens.init,
|
|
28
|
+
useFactory: ({ manifestCommandLine, manifestUrl, di }) => function registerWebManifestCommandLine() {
|
|
29
|
+
di.register({
|
|
30
|
+
provide: manifestCommandLine
|
|
31
|
+
? core.commandLineListTokens[manifestCommandLine]
|
|
32
|
+
: core.commandLineListTokens.customerStart,
|
|
33
|
+
useFactory: ({ resourcesRegistry }) => function registerWebManifestAsResource() {
|
|
34
|
+
resourcesRegistry.register({
|
|
35
|
+
type: tokensRender.ResourceType.asIs,
|
|
36
|
+
slot: tokensRender.ResourceSlot.HEAD_META,
|
|
37
|
+
// @todo what about crossorigin, maybe optional?
|
|
38
|
+
payload: `<link rel="manifest" href="${manifestUrl}">`,
|
|
39
|
+
});
|
|
40
|
+
},
|
|
41
|
+
deps: {
|
|
42
|
+
resourcesRegistry: tokensRender.RESOURCES_REGISTRY,
|
|
43
|
+
},
|
|
34
44
|
});
|
|
35
45
|
},
|
|
36
46
|
deps: {
|
|
37
|
-
resourcesRegistry: tokensRender.RESOURCES_REGISTRY,
|
|
38
47
|
manifestUrl: tokens.PWA_MANIFEST_URL_TOKEN,
|
|
48
|
+
di: core.DI_TOKEN,
|
|
49
|
+
manifestCommandLine: { token: tokens.PWA_MANIFEST_INIT_COMMAND_LINE, optional: true },
|
|
39
50
|
},
|
|
40
51
|
});
|
|
41
52
|
|
package/lib/server.es.js
CHANGED
|
@@ -4,7 +4,7 @@ export { TramvaiPwaWorkboxModule } from './workbox/server.es.js';
|
|
|
4
4
|
import { TramvaiPwaManifestModule, TramvaiPwaLightManifestModule } 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_PARAMS_TOKEN, PWA_SW_SCOPE_TOKEN, PWA_SW_URL_TOKEN, PWA_WORKBOX_TOKEN } from './tokens.es.js';
|
|
7
|
+
export { PWA_MANIFEST_INIT_COMMAND_LINE, 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
|
@@ -21,6 +21,7 @@ const TramvaiPwaLightModule = /* @__PURE__ */ core.declareModule({
|
|
|
21
21
|
|
|
22
22
|
exports.TramvaiPwaWorkboxModule = server.TramvaiPwaWorkboxModule;
|
|
23
23
|
exports.TramvaiPwaManifestModule = server$1.TramvaiPwaManifestModule;
|
|
24
|
+
exports.PWA_MANIFEST_INIT_COMMAND_LINE = tokens.PWA_MANIFEST_INIT_COMMAND_LINE;
|
|
24
25
|
exports.PWA_MANIFEST_URL_TOKEN = tokens.PWA_MANIFEST_URL_TOKEN;
|
|
25
26
|
exports.PWA_META_TOKEN = tokens.PWA_META_TOKEN;
|
|
26
27
|
exports.PWA_SW_PARAMS_TOKEN = tokens.PWA_SW_PARAMS_TOKEN;
|
package/lib/tokens.browser.js
CHANGED
|
@@ -26,5 +26,9 @@ const PWA_MANIFEST_URL_TOKEN = createToken('pwa manifest url');
|
|
|
26
26
|
* @description Token to owerwrite default - `pwa.meta` (meta tags will be added to all pages)
|
|
27
27
|
*/
|
|
28
28
|
const PWA_META_TOKEN = createToken('pwa meta');
|
|
29
|
+
/**
|
|
30
|
+
* @description Token to overwrite default manifest init behaviour on customerStart
|
|
31
|
+
*/
|
|
32
|
+
const PWA_MANIFEST_INIT_COMMAND_LINE = createToken('pwa manifest init command line');
|
|
29
33
|
|
|
30
|
-
export { PWA_MANIFEST_URL_TOKEN, PWA_META_TOKEN, PWA_SW_PARAMS_TOKEN, PWA_SW_SCOPE_TOKEN, PWA_SW_URL_TOKEN, PWA_WORKBOX_TOKEN };
|
|
34
|
+
export { PWA_MANIFEST_INIT_COMMAND_LINE, 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
|
@@ -25,6 +25,9 @@ export declare const PWA_SW_SCOPE_TOKEN: string & {
|
|
|
25
25
|
* @description Token to add query params to sw url
|
|
26
26
|
*/
|
|
27
27
|
export declare const PWA_SW_PARAMS_TOKEN: Record<string, string> & {
|
|
28
|
+
/**
|
|
29
|
+
* @description Token to owerwrite default - `${pwa.webmanifest.path}manifest.${pwa.webmanifest.ext}`
|
|
30
|
+
*/
|
|
28
31
|
__type?: "multi token" | undefined;
|
|
29
32
|
};
|
|
30
33
|
/**
|
|
@@ -39,4 +42,28 @@ export declare const PWA_MANIFEST_URL_TOKEN: string & {
|
|
|
39
42
|
export declare const PWA_META_TOKEN: PwaMetaOptions & {
|
|
40
43
|
__type?: "base token" | undefined;
|
|
41
44
|
};
|
|
45
|
+
/**
|
|
46
|
+
* @description Token to overwrite default manifest init behaviour on customerStart
|
|
47
|
+
*/
|
|
48
|
+
export declare const PWA_MANIFEST_INIT_COMMAND_LINE: ("init" & {
|
|
49
|
+
__type?: "base token" | undefined;
|
|
50
|
+
}) | ("listen" & {
|
|
51
|
+
__type?: "base token" | undefined;
|
|
52
|
+
}) | ("customerStart" & {
|
|
53
|
+
__type?: "base token" | undefined;
|
|
54
|
+
}) | ("resolveUserDeps" & {
|
|
55
|
+
__type?: "base token" | undefined;
|
|
56
|
+
}) | ("resolvePageDeps" & {
|
|
57
|
+
__type?: "base token" | undefined;
|
|
58
|
+
}) | ("generatePage" & {
|
|
59
|
+
__type?: "base token" | undefined;
|
|
60
|
+
}) | ("clear" & {
|
|
61
|
+
__type?: "base token" | undefined;
|
|
62
|
+
}) | ("spaTransition" & {
|
|
63
|
+
__type?: "base token" | undefined;
|
|
64
|
+
}) | ("afterSpaTransition" & {
|
|
65
|
+
__type?: "base token" | undefined;
|
|
66
|
+
}) | ("close" & {
|
|
67
|
+
__type?: "base token" | undefined;
|
|
68
|
+
});
|
|
42
69
|
//# sourceMappingURL=tokens.d.ts.map
|
package/lib/tokens.es.js
CHANGED
|
@@ -26,5 +26,9 @@ const PWA_MANIFEST_URL_TOKEN = createToken('pwa manifest url');
|
|
|
26
26
|
* @description Token to owerwrite default - `pwa.meta` (meta tags will be added to all pages)
|
|
27
27
|
*/
|
|
28
28
|
const PWA_META_TOKEN = createToken('pwa meta');
|
|
29
|
+
/**
|
|
30
|
+
* @description Token to overwrite default manifest init behaviour on customerStart
|
|
31
|
+
*/
|
|
32
|
+
const PWA_MANIFEST_INIT_COMMAND_LINE = createToken('pwa manifest init command line');
|
|
29
33
|
|
|
30
|
-
export { PWA_MANIFEST_URL_TOKEN, PWA_META_TOKEN, PWA_SW_PARAMS_TOKEN, PWA_SW_SCOPE_TOKEN, PWA_SW_URL_TOKEN, PWA_WORKBOX_TOKEN };
|
|
34
|
+
export { PWA_MANIFEST_INIT_COMMAND_LINE, 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
|
@@ -30,7 +30,12 @@ const PWA_MANIFEST_URL_TOKEN = dippy.createToken('pwa manifest url');
|
|
|
30
30
|
* @description Token to owerwrite default - `pwa.meta` (meta tags will be added to all pages)
|
|
31
31
|
*/
|
|
32
32
|
const PWA_META_TOKEN = dippy.createToken('pwa meta');
|
|
33
|
+
/**
|
|
34
|
+
* @description Token to overwrite default manifest init behaviour on customerStart
|
|
35
|
+
*/
|
|
36
|
+
const PWA_MANIFEST_INIT_COMMAND_LINE = dippy.createToken('pwa manifest init command line');
|
|
33
37
|
|
|
38
|
+
exports.PWA_MANIFEST_INIT_COMMAND_LINE = PWA_MANIFEST_INIT_COMMAND_LINE;
|
|
34
39
|
exports.PWA_MANIFEST_URL_TOKEN = PWA_MANIFEST_URL_TOKEN;
|
|
35
40
|
exports.PWA_META_TOKEN = PWA_META_TOKEN;
|
|
36
41
|
exports.PWA_SW_PARAMS_TOKEN = PWA_SW_PARAMS_TOKEN;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/module-progressive-web-app",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.2.0",
|
|
4
4
|
"description": "Pwa integration - SW, manifest, icons and meta",
|
|
5
5
|
"browser": "lib/browser.js",
|
|
6
6
|
"main": "lib/server.js",
|
|
@@ -23,15 +23,15 @@
|
|
|
23
23
|
"registry": "https://registry.npmjs.org/"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@tramvai/tokens-common": "4.
|
|
27
|
-
"@tramvai/tokens-render": "4.
|
|
28
|
-
"@tramvai/tokens-server": "4.
|
|
26
|
+
"@tramvai/tokens-common": "4.2.0",
|
|
27
|
+
"@tramvai/tokens-render": "4.2.0",
|
|
28
|
+
"@tramvai/tokens-server": "4.2.0",
|
|
29
29
|
"workbox-window": "^6.6.1"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {},
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"@tramvai/cli": "4.
|
|
34
|
-
"@tramvai/core": "4.
|
|
33
|
+
"@tramvai/cli": "4.2.0",
|
|
34
|
+
"@tramvai/core": "4.2.0",
|
|
35
35
|
"@tinkoff/dippy": "0.10.2",
|
|
36
36
|
"tslib": "^2.4.0"
|
|
37
37
|
}
|