@wix/site-service-pages 1.0.2 → 1.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/README.md CHANGED
@@ -50,6 +50,10 @@ type PageConfig = {
50
50
  path: string
51
51
  parentPageId?: string
52
52
  popup: boolean
53
+ /** TPA page identifier (e.g. `ecom_side_cart`). Not globally unique on its own — pair with `appDefinitionId`. */
54
+ appPageId?: string
55
+ /** App definition ID of the TPA that owns this page. Use together with `appPageId` to identify a TPA popup. */
56
+ appDefinitionId?: string
53
57
  }
54
58
 
55
59
  type Page = PageConfig & { id: string }
@@ -1,16 +1,14 @@
1
1
  import type { ServiceDefinition } from '@wix/services-definitions';
2
- export type Page = {
3
- id: string;
4
- title: string;
5
- path: string;
6
- parentPageId?: string;
7
- popup: boolean;
8
- };
9
2
  export type PageConfig = {
10
3
  title: string;
11
4
  path: string;
12
5
  parentPageId?: string;
13
6
  popup: boolean;
7
+ appPageId?: string;
8
+ appDefinitionId?: string;
9
+ };
10
+ export type Page = PageConfig & {
11
+ id: string;
14
12
  };
15
13
  export type IPagesServiceConfig = {
16
14
  /** id-as-key map; values omit `id` — callers use the key as the id (P3). */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/definition/index.ts"],"names":[],"mappings":";;;AAAA,oEAAyD;AAoC5C,QAAA,eAAe,GAAG,IAAA,oCAAa,EAAqC,yBAAyB,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/definition/index.ts"],"names":[],"mappings":";;;AAAA,oEAAyD;AAkC5C,QAAA,eAAe,GAAG,IAAA,oCAAa,EAAqC,yBAAyB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"pagesService.js","sourceRoot":"","sources":["../../../src/implementations/pagesService.ts"],"names":[],"mappings":";;;AAAA,oEAA4D;AAE5D,6EAA0F;AAE1F,8CAA+C;AAElC,QAAA,YAAY,GAAG,IAAA,uCAAgB,EACxC,4BAAe,EACf,CAAC,EAAE,MAAM,EAAE,UAAU,EAA2C,EAAiB,EAAE;IAC/E,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,kCAAwB,CAAC,CAAA;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACzC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAE/C,OAAO;QACH,IAAI,KAAK;YACL,OAAO,MAAM,CAAC,GAAG,EAAE,CAAA;QACvB,CAAC;QACD,IAAI,QAAQ;YACR,OAAO,SAAS,CAAC,GAAG,EAAE,CAAA;QAC1B,CAAC;QACD,IAAI,WAAW;YACX,OAAO,YAAY,CAAC,GAAG,EAAE,CAAA;QAC7B,CAAC;QACD,aAAa,CAAC,aAAa;YACvB,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YACnC,CAAC;YACD,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;gBACzB,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YACzC,CAAC;YACD,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;gBAC5B,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;YAC/C,CAAC;QACL,CAAC;KACJ,CAAA;AACL,CAAC,CACJ,CAAA"}
1
+ {"version":3,"file":"pagesService.js","sourceRoot":"","sources":["../../../src/implementations/pagesService.ts"],"names":[],"mappings":";;;AAAA,oEAA4D;AAE5D,6EAA0F;AAE1F,8CAA+C;AAElC,QAAA,YAAY,GAAG,IAAA,uCAAgB,EAC3C,4BAAe,EACf,CAAC,EAAE,MAAM,EAAE,UAAU,EAA2C,EAAiB,EAAE;IAClF,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,kCAAwB,CAAC,CAAA;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACzC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAE/C,OAAO;QACN,IAAI,KAAK;YACR,OAAO,MAAM,CAAC,GAAG,EAAE,CAAA;QACpB,CAAC;QACD,IAAI,QAAQ;YACX,OAAO,SAAS,CAAC,GAAG,EAAE,CAAA;QACvB,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,GAAG,EAAE,CAAA;QAC1B,CAAC;QACD,aAAa,CAAC,aAAa;YAC1B,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YAChC,CAAC;YACD,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAC5B,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YACtC,CAAC;YACD,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;gBAC/B,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;YAC5C,CAAC;QACF,CAAC;KACD,CAAA;AACF,CAAC,CACD,CAAA"}
package/cjs/package.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "type": "commonjs"
2
+ "type": "commonjs"
3
3
  }
@@ -1,3 +1,3 @@
1
1
  {
2
- "main": "../cjs/build/definition/index.js"
2
+ "main": "../cjs/build/definition/index.js"
3
3
  }
@@ -1,16 +1,14 @@
1
1
  import type { ServiceDefinition } from '@wix/services-definitions';
2
- export type Page = {
3
- id: string;
4
- title: string;
5
- path: string;
6
- parentPageId?: string;
7
- popup: boolean;
8
- };
9
2
  export type PageConfig = {
10
3
  title: string;
11
4
  path: string;
12
5
  parentPageId?: string;
13
6
  popup: boolean;
7
+ appPageId?: string;
8
+ appDefinitionId?: string;
9
+ };
10
+ export type Page = PageConfig & {
11
+ id: string;
14
12
  };
15
13
  export type IPagesServiceConfig = {
16
14
  /** id-as-key map; values omit `id` — callers use the key as the id (P3). */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/definition/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAoCzD,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAqC,yBAAyB,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/definition/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAkCzD,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAqC,yBAAyB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"pagesService.js","sourceRoot":"","sources":["../../src/implementations/pagesService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAA;AAE1F,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CACxC,eAAe,EACf,CAAC,EAAE,MAAM,EAAE,UAAU,EAA2C,EAAiB,EAAE;IAC/E,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,wBAAwB,CAAC,CAAA;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACzC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAE/C,OAAO;QACH,IAAI,KAAK;YACL,OAAO,MAAM,CAAC,GAAG,EAAE,CAAA;QACvB,CAAC;QACD,IAAI,QAAQ;YACR,OAAO,SAAS,CAAC,GAAG,EAAE,CAAA;QAC1B,CAAC;QACD,IAAI,WAAW;YACX,OAAO,YAAY,CAAC,GAAG,EAAE,CAAA;QAC7B,CAAC;QACD,aAAa,CAAC,aAAa;YACvB,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YACnC,CAAC;YACD,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;gBACzB,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YACzC,CAAC;YACD,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;gBAC5B,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;YAC/C,CAAC;QACL,CAAC;KACJ,CAAA;AACL,CAAC,CACJ,CAAA"}
1
+ {"version":3,"file":"pagesService.js","sourceRoot":"","sources":["../../src/implementations/pagesService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAA;AAE1F,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAC3C,eAAe,EACf,CAAC,EAAE,MAAM,EAAE,UAAU,EAA2C,EAAiB,EAAE;IAClF,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,wBAAwB,CAAC,CAAA;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACzC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAE/C,OAAO;QACN,IAAI,KAAK;YACR,OAAO,MAAM,CAAC,GAAG,EAAE,CAAA;QACpB,CAAC;QACD,IAAI,QAAQ;YACX,OAAO,SAAS,CAAC,GAAG,EAAE,CAAA;QACvB,CAAC;QACD,IAAI,WAAW;YACd,OAAO,YAAY,CAAC,GAAG,EAAE,CAAA;QAC1B,CAAC;QACD,aAAa,CAAC,aAAa;YAC1B,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YAChC,CAAC;YACD,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;gBAC5B,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YACtC,CAAC;YACD,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;gBAC/B,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;YAC5C,CAAC;QACF,CAAC;KACD,CAAA;AACF,CAAC,CACD,CAAA"}
@@ -1,3 +1,3 @@
1
1
  {
2
- "main": "../cjs/build/implementations/index.js"
2
+ "main": "../cjs/build/implementations/index.js"
3
3
  }
package/package.json CHANGED
@@ -1,9 +1,6 @@
1
1
  {
2
2
  "name": "@wix/site-service-pages",
3
- "version": "1.0.2",
4
- "main": "cjs/build/index.js",
5
- "module": "dist/index.js",
6
- "types": "dist/index.d.ts",
3
+ "version": "1.2.0",
7
4
  "license": "UNLICENSED",
8
5
  "files": [
9
6
  "dist",
@@ -14,6 +11,10 @@
14
11
  "types",
15
12
  "!**/*.tsbuildinfo"
16
13
  ],
14
+ "sideEffects": false,
15
+ "main": "cjs/build/index.js",
16
+ "module": "dist/index.js",
17
+ "types": "dist/index.d.ts",
17
18
  "exports": {
18
19
  ".": {
19
20
  "types": "./dist/index.d.ts",
@@ -41,6 +42,16 @@
41
42
  "require": "./cjs/build/service.js"
42
43
  }
43
44
  },
45
+ "publishConfig": {
46
+ "registry": "https://registry.npmjs.org/",
47
+ "access": "public"
48
+ },
49
+ "scripts": {
50
+ "build": "tsc -b . --force && tsc --project tsconfig.cjs.json",
51
+ "lint": "yarn run -T lint:package $npm_package_name",
52
+ "test": "vitest --run && yarn test-type-check",
53
+ "test-type-check": "echo 'validating typescript in test files' && tsc --project tsconfig.test.json && echo 'Finished validating typescript in test files successfully'"
54
+ },
44
55
  "dependencies": {
45
56
  "@wix/services-definitions": "^0.1.4",
46
57
  "@wix/services-manager": "^0.2.20"
@@ -49,18 +60,7 @@
49
60
  "typescript": "^5.3.3",
50
61
  "vitest": "4.1.0"
51
62
  },
52
- "scripts": {
53
- "build": "tsc -b . --force && tsc --project tsconfig.cjs.json",
54
- "lint": "yarn run -T lint:package $npm_package_name",
55
- "test": "vitest --run && yarn test-type-check",
56
- "test-type-check": "echo 'validating typescript in test files' && tsc --project tsconfig.test.json && echo 'Finished validating typescript in test files successfully'"
57
- },
58
63
  "publishUnscoped": false,
59
- "publishConfig": {
60
- "registry": "https://registry.npmjs.org/",
61
- "access": "public"
62
- },
63
- "sideEffects": false,
64
64
  "wix": {
65
65
  "artifact": {
66
66
  "groupId": "com.wixpress.npm",
@@ -77,5 +77,5 @@
77
77
  ]
78
78
  }
79
79
  },
80
- "falconPackageHash": "3ff54f019adc45b0bfc800cd99bbe11da3dd1be133207c04a6b6ddf5"
80
+ "falconPackageHash": "f440c70db95df7db4e68df837b2ca1ba88c64cf9dd2560df34fbd62e"
81
81
  }
@@ -1,35 +1,33 @@
1
1
  import { defineService } from '@wix/services-definitions'
2
2
  import type { ServiceDefinition } from '@wix/services-definitions'
3
3
 
4
- export type Page = {
5
- id: string
6
- title: string
7
- path: string
8
- parentPageId?: string
9
- popup: boolean
4
+ export type PageConfig = {
5
+ title: string
6
+ path: string
7
+ parentPageId?: string
8
+ popup: boolean
9
+ appPageId?: string
10
+ appDefinitionId?: string
10
11
  }
11
12
 
12
- export type PageConfig = {
13
- title: string
14
- path: string
15
- parentPageId?: string
16
- popup: boolean
13
+ export type Page = PageConfig & {
14
+ id: string
17
15
  }
18
16
 
19
17
  export type IPagesServiceConfig = {
20
- /** id-as-key map; values omit `id` — callers use the key as the id (P3). */
21
- pages: { [pageId: string]: PageConfig }
22
- /** Provider resolves and passes the full main page object; service stores it as-is. */
23
- mainPage: Page
24
- /** Provider resolves and passes the full current page object; service stores it as-is. */
25
- currentPage: Page
18
+ /** id-as-key map; values omit `id` — callers use the key as the id (P3). */
19
+ pages: { [pageId: string]: PageConfig }
20
+ /** Provider resolves and passes the full main page object; service stores it as-is. */
21
+ mainPage: Page
22
+ /** Provider resolves and passes the full current page object; service stores it as-is. */
23
+ currentPage: Page
26
24
  }
27
25
 
28
26
  export interface IPagesService {
29
- readonly pages: { [pageId: string]: PageConfig }
30
- readonly mainPage: Page
31
- readonly currentPage: Page
32
- _updateConfig: (config: Partial<IPagesServiceConfig>) => void
27
+ readonly pages: { [pageId: string]: PageConfig }
28
+ readonly mainPage: Page
29
+ readonly currentPage: Page
30
+ _updateConfig: (config: Partial<IPagesServiceConfig>) => void
33
31
  }
34
32
 
35
33
  export type IPagesDefinition = ServiceDefinition<IPagesService, IPagesServiceConfig>
@@ -5,34 +5,34 @@ import type { IPagesService, IPagesServiceConfig } from '../definition'
5
5
  import { PagesDefinition } from '../definition'
6
6
 
7
7
  export const PagesService = implementService(
8
- PagesDefinition,
9
- ({ config, getService }: ServiceFactoryOpts<IPagesServiceConfig>): IPagesService => {
10
- const { signal } = getService(SignalsServiceDefinition)
11
- const _pages = signal(config.pages)
12
- const _mainPage = signal(config.mainPage)
13
- const _currentPage = signal(config.currentPage)
8
+ PagesDefinition,
9
+ ({ config, getService }: ServiceFactoryOpts<IPagesServiceConfig>): IPagesService => {
10
+ const { signal } = getService(SignalsServiceDefinition)
11
+ const _pages = signal(config.pages)
12
+ const _mainPage = signal(config.mainPage)
13
+ const _currentPage = signal(config.currentPage)
14
14
 
15
- return {
16
- get pages() {
17
- return _pages.get()
18
- },
19
- get mainPage() {
20
- return _mainPage.get()
21
- },
22
- get currentPage() {
23
- return _currentPage.get()
24
- },
25
- _updateConfig(partialConfig) {
26
- if (partialConfig.pages) {
27
- _pages.set(partialConfig.pages)
28
- }
29
- if (partialConfig.mainPage) {
30
- _mainPage.set(partialConfig.mainPage)
31
- }
32
- if (partialConfig.currentPage) {
33
- _currentPage.set(partialConfig.currentPage)
34
- }
35
- },
36
- }
37
- }
15
+ return {
16
+ get pages() {
17
+ return _pages.get()
18
+ },
19
+ get mainPage() {
20
+ return _mainPage.get()
21
+ },
22
+ get currentPage() {
23
+ return _currentPage.get()
24
+ },
25
+ _updateConfig(partialConfig) {
26
+ if (partialConfig.pages) {
27
+ _pages.set(partialConfig.pages)
28
+ }
29
+ if (partialConfig.mainPage) {
30
+ _mainPage.set(partialConfig.mainPage)
31
+ }
32
+ if (partialConfig.currentPage) {
33
+ _currentPage.set(partialConfig.currentPage)
34
+ }
35
+ },
36
+ }
37
+ }
38
38
  )
@@ -1,3 +1,3 @@
1
1
  {
2
- "main": "../cjs/build/types/index.js"
2
+ "main": "../cjs/build/types/index.js"
3
3
  }