@graphcommerce/next-config 9.0.0-canary.100 → 9.0.0-canary.101

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/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Change Log
2
2
 
3
+ ## 9.0.0-canary.101
4
+
5
+ ### Minor Changes
6
+
7
+ - [#2380](https://github.com/graphcommerce-org/graphcommerce/pull/2380) [`3710d8b`](https://github.com/graphcommerce-org/graphcommerce/commit/3710d8bf1cceb5a991e5cfdfc15d42e462704c6d) - Solves the issue `TypeError: url?.startsWith is not a function`. The generated `.mesh/index.ts` would be generated as a requirejs module while next.js expects an esm module. In the end we properly generated the mesh correctly and now there is an `import.meta.url` instead of using `require('node:url')`. To solve this we needed to solve a chain of issues:
8
+
9
+ 1. The generation of the mesh is based on the version of the mesh that is imported (esm or commonjs). See [source](https://github.com/ardatan/graphql-mesh/blob/bf588d372c0078378aaa24beea2da794af7949e6/scripts/replace-import-meta-url-in-cjs.ts#L9-L10) for the lines that need to be different. This meant that we needed to change the @graphcommerce/cli package to be of type:module instead of a commonjs module.
10
+
11
+ 2) To properly convert the module to an esm module we've migrated the build of the cli package to use 'pkgroll' instead of tsc, because tsc is limited in what it outputs and can't really convert classic imports to esm.
12
+ 3) To load possible mesh plugins we require additional .ts files to be loaded with [tsx](https://tsx.is/). To get the tsx loader to work properly in combination with esm modules, we need at least [node 18.19.0](https://nodejs.org/en/blog/release/v18.19.0#new-nodemodule-api-register-for-module-customization-hooks-new-initialize-hook). Minimal Node version upped to 18.19.0 and add support for node 22. ([@paales](https://github.com/paales))
13
+
3
14
  ## 9.0.0-canary.100
4
15
 
5
16
  ## 9.0.0-canary.99
@@ -517,7 +517,6 @@ class Visitor {
517
517
  return n;
518
518
  }
519
519
  visitTsPropertySignature(n) {
520
- n.params = this.visitTsFnParameters(n.params);
521
520
  n.typeAnnotation = this.visitTsTypeAnnotation(n.typeAnnotation);
522
521
  return n;
523
522
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@graphcommerce/next-config",
3
3
  "homepage": "https://www.graphcommerce.org/",
4
4
  "repository": "github:graphcommerce-org/graphcommerce",
5
- "version": "9.0.0-canary.100",
5
+ "version": "9.0.0-canary.101",
6
6
  "type": "commonjs",
7
7
  "main": "dist/index.js",
8
8
  "types": "src/index.ts",
@@ -13,10 +13,10 @@
13
13
  },
14
14
  "dependencies": {
15
15
  "@graphql-mesh/cli": "latest",
16
- "@lingui/loader": "4.11.2",
16
+ "@lingui/loader": "4.11.4",
17
17
  "@lingui/swc-plugin": "4.0.8",
18
- "@swc/core": "1.6.13",
19
- "@swc/wasm-web": "^1.6.7",
18
+ "@swc/core": "1.7.26",
19
+ "@swc/wasm-web": "^1.7.28",
20
20
  "circular-dependency-plugin": "^5.2.2",
21
21
  "glob": "^10.4.5",
22
22
  "inspectpack": "^4.7.1",
@@ -27,8 +27,8 @@
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/circular-dependency-plugin": "^5.0.8",
30
- "@types/lodash": "^4.17.7",
31
- "typescript": "5.5.3"
30
+ "@types/lodash": "^4.17.10",
31
+ "typescript": "5.6.2"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "@lingui/macro": "^4.2.1",
@@ -369,6 +369,7 @@ export type GraphCommerceDebugConfig = {
369
369
  webpackDuplicatesPlugin?: InputMaybe<Scalars['Boolean']['input']>;
370
370
  };
371
371
 
372
+ /** Permissions input */
372
373
  export type GraphCommercePermissions = {
373
374
  /** Changes the availability of the add to cart buttons and the cart page to either customer only or completely disables it. */
374
375
  cart?: InputMaybe<CartPermissions>;
@@ -376,6 +377,7 @@ export type GraphCommercePermissions = {
376
377
  checkout?: InputMaybe<CartPermissions>;
377
378
  /** Enables / disabled the account section of the website. DISABLE_REGISTRATION will only disable the registration page. */
378
379
  customerAccount?: InputMaybe<CustomerAccountPermissions>;
380
+ /** Allows the option to require login or completely disable the site. */
379
381
  website?: InputMaybe<WebsitePermissions>;
380
382
  };
381
383
 
@@ -782,7 +782,6 @@ export class Visitor {
782
782
  }
783
783
 
784
784
  visitTsPropertySignature(n: TsPropertySignature): TsPropertySignature {
785
- n.params = this.visitTsFnParameters(n.params)
786
785
  n.typeAnnotation = this.visitTsTypeAnnotation(n.typeAnnotation)
787
786
  return n
788
787
  }