@bufbuild/protoplugin 2.3.0 → 2.5.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.
@@ -91,6 +91,13 @@ export interface GeneratedFile {
91
91
  * `json_types=true`.
92
92
  */
93
93
  importJson(desc: DescMessage | DescEnum): ImportSymbol;
94
+ /**
95
+ * Import a message Valid type generated by protoc-gen-es.
96
+ *
97
+ * Note that protoc-gen-es only generates valid types with the plugin option
98
+ * `valid_types`.
99
+ */
100
+ importValid(desc: DescMessage): ImportSymbol;
94
101
  /**
95
102
  * Import a descriptor generated by protoc-gen-es.
96
103
  */
@@ -126,6 +133,8 @@ export interface GeneratedFileController extends GeneratedFile {
126
133
  }
127
134
  export type ResolveDescImportFn = (desc: DescMessage | DescEnum | DescExtension | DescService | DescFile, typeOnly?: boolean) => ImportSymbol;
128
135
  export type ResolveShapeImportFn = (desc: DescMessage | DescEnum) => ImportSymbol;
136
+ export type ResolveJsonImportFn = (desc: DescMessage | DescEnum) => ImportSymbol;
137
+ export type ResolveValidImportFn = (desc: DescMessage) => ImportSymbol;
129
138
  export type RewriteImportFn = (path: string) => string;
130
139
  export type CreatePreambleFn = (descFile: DescFile) => string;
131
- export declare function createGeneratedFile(name: string, importPath: string, jsImportStyle: "module" | "legacy_commonjs", rewriteImport: RewriteImportFn, resolveDescImport: ResolveDescImportFn, resolveShapeImport: ResolveShapeImportFn, resolveJsonImport: ResolveShapeImportFn, createPreamble: CreatePreambleFn, runtime: RuntimeImports): GeneratedFileController;
140
+ export declare function createGeneratedFile(name: string, importPath: string, jsImportStyle: "module" | "legacy_commonjs", rewriteImport: RewriteImportFn, resolveDescImport: ResolveDescImportFn, resolveShapeImport: ResolveShapeImportFn, resolveJsonImport: ResolveJsonImportFn, resolveValidImport: ResolveValidImportFn, createPreamble: CreatePreambleFn, runtime: RuntimeImports): GeneratedFileController;
@@ -18,7 +18,7 @@ const protobuf_1 = require("@bufbuild/protobuf");
18
18
  const import_symbol_js_1 = require("./import-symbol.js");
19
19
  const import_path_js_1 = require("./import-path.js");
20
20
  const jsdoc_js_1 = require("./jsdoc.js");
21
- function createGeneratedFile(name, importPath, jsImportStyle, rewriteImport, resolveDescImport, resolveShapeImport, resolveJsonImport, createPreamble, runtime) {
21
+ function createGeneratedFile(name, importPath, jsImportStyle, rewriteImport, resolveDescImport, resolveShapeImport, resolveJsonImport, resolveValidImport, createPreamble, runtime) {
22
22
  let preamble;
23
23
  const el = [];
24
24
  return {
@@ -45,6 +45,7 @@ function createGeneratedFile(name, importPath, jsImportStyle, rewriteImport, res
45
45
  resolveDescImport,
46
46
  resolveShapeImport,
47
47
  resolveJsonImport,
48
+ resolveValidImport,
48
49
  }, printables);
49
50
  el.push("\n");
50
51
  },
@@ -91,6 +92,9 @@ function createGeneratedFile(name, importPath, jsImportStyle, rewriteImport, res
91
92
  importJson(desc) {
92
93
  return resolveJsonImport(desc);
93
94
  },
95
+ importValid(desc) {
96
+ return resolveValidImport(desc);
97
+ },
94
98
  import(name, from, typeOnly = false) {
95
99
  return (0, import_symbol_js_1.createImportSymbol)(name, from, typeOnly);
96
100
  },
@@ -241,6 +245,9 @@ function printableToEl(opt, printables) {
241
245
  case "es_json_type_ref":
242
246
  el.push(opt.resolveJsonImport(p.desc));
243
247
  break;
248
+ case "es_valid_type_ref":
249
+ el.push(opt.resolveValidImport(p.desc));
250
+ break;
244
251
  case "es_jsdoc":
245
252
  el.push((0, jsdoc_js_1.formatJsDocBlock)(p.text, p.indentation));
246
253
  break;
@@ -15,3 +15,7 @@ export declare function generatedShapeName(desc: DescEnum | DescMessage): string
15
15
  * Return a safe identifier for a generated JSON type.
16
16
  */
17
17
  export declare function generatedJsonTypeName(desc: DescEnum | DescMessage): string;
18
+ /**
19
+ * Return a safe identifier for a generated Valid type.
20
+ */
21
+ export declare function generatedValidTypeName(desc: DescEnum | DescMessage): string;
package/dist/cjs/names.js CHANGED
@@ -17,7 +17,8 @@ exports.generateFilePath = generateFilePath;
17
17
  exports.generatedDescName = generatedDescName;
18
18
  exports.generatedShapeName = generatedShapeName;
19
19
  exports.generatedJsonTypeName = generatedJsonTypeName;
20
- const codegenv1_1 = require("@bufbuild/protobuf/codegenv1");
20
+ exports.generatedValidTypeName = generatedValidTypeName;
21
+ const codegenv2_1 = require("@bufbuild/protobuf/codegenv2");
21
22
  const reflect_1 = require("@bufbuild/protobuf/reflect");
22
23
  const safe_identifier_js_1 = require("./safe-identifier.js");
23
24
  /**
@@ -31,7 +32,7 @@ function generateFilePath(file, bootstrapWkt, filesToGenerate) {
31
32
  // "bootstrap_wkt". In that case, we cannot refer to the runtime package
32
33
  // itself.
33
34
  // 2. We were explicitly asked to generate the well-known type.
34
- const wktFrom = codegenv1_1.wktPublicImportPaths[file.proto.name];
35
+ const wktFrom = codegenv2_1.wktPublicImportPaths[file.proto.name];
35
36
  if (wktFrom !== undefined &&
36
37
  !bootstrapWkt &&
37
38
  !filesToGenerate.find((f) => f.name === file.name)) {
@@ -73,6 +74,17 @@ function generatedJsonTypeName(desc) {
73
74
  }
74
75
  return name;
75
76
  }
77
+ /**
78
+ * Return a safe identifier for a generated Valid type.
79
+ */
80
+ function generatedValidTypeName(desc) {
81
+ const { validTypeNames } = allNames(desc.file);
82
+ const name = validTypeNames.get(desc);
83
+ if (name === undefined) {
84
+ throw new Error(`unable to determine unique valid type name for ${desc.toString()}`);
85
+ }
86
+ return name;
87
+ }
76
88
  /**
77
89
  * Compute the ideal name for a generated descriptor.
78
90
  */
@@ -107,6 +119,13 @@ function idealJsonTypeName(desc, i) {
107
119
  const salt = i === 0 ? "" : i === 1 ? "$" : `$${i - 1}`;
108
120
  return (0, safe_identifier_js_1.safeIdentifier)(identifier(desc) + "Json" + salt);
109
121
  }
122
+ /**
123
+ * Compute the ideal name for a generated Valid type.
124
+ */
125
+ function idealValidTypeName(desc, i) {
126
+ const salt = i === 0 ? "" : i === 1 ? "$" : `$${i - 1}`;
127
+ return (0, safe_identifier_js_1.safeIdentifier)(identifier(desc) + "Valid" + salt);
128
+ }
110
129
  /**
111
130
  * Return an identifier for the given descriptor based on its type name.
112
131
  *
@@ -189,5 +208,20 @@ function allNames(file) {
189
208
  taken.add(name);
190
209
  jsonTypeNames.set(desc, name);
191
210
  }
192
- return { shapeNames, jsonTypeNames, descNames };
211
+ const validTypeNames = new Map();
212
+ for (const desc of (0, reflect_1.nestedTypes)(file)) {
213
+ if (desc.kind != "enum" && desc.kind != "message") {
214
+ continue;
215
+ }
216
+ let name;
217
+ for (let i = 0;; i++) {
218
+ name = idealValidTypeName(desc, i);
219
+ if (!taken.has(name)) {
220
+ break;
221
+ }
222
+ }
223
+ taken.add(name);
224
+ validTypeNames.set(desc, name);
225
+ }
226
+ return { shapeNames, jsonTypeNames, validTypeNames, descNames };
193
227
  }
@@ -3,7 +3,7 @@ import type { ImportSymbol } from "./import-symbol.js";
3
3
  /**
4
4
  * All types that can be passed to GeneratedFile.print()
5
5
  */
6
- export type Printable = string | number | boolean | bigint | Uint8Array | ImportSymbol | ExportStatement | JSDocBlock | LiteralString | LiteralProtoInt64 | DescImport | ShapeImport | JsonTypeImport | Printable[];
6
+ export type Printable = string | number | boolean | bigint | Uint8Array | ImportSymbol | ExportStatement | JSDocBlock | LiteralString | LiteralProtoInt64 | DescImport | ShapeImport | JsonTypeImport | ValidTypeImport | Printable[];
7
7
  export type ExportStatement = {
8
8
  kind: "es_export_stmt";
9
9
  name: string;
@@ -32,6 +32,10 @@ export type JsonTypeImport = {
32
32
  readonly kind: "es_json_type_ref";
33
33
  desc: DescMessage | DescEnum;
34
34
  };
35
+ export type ValidTypeImport = {
36
+ readonly kind: "es_valid_type_ref";
37
+ desc: DescMessage;
38
+ };
35
39
  export type JSDocBlock = {
36
40
  readonly kind: "es_jsdoc";
37
41
  text: string;
@@ -1,5 +1,5 @@
1
1
  import type { ImportSymbol } from "./import-symbol.js";
2
- import { symbols } from "@bufbuild/protobuf/codegenv1";
2
+ import { symbols } from "@bufbuild/protobuf/codegenv2";
3
3
  export type RuntimeImports = mapRecord<typeof symbols>;
4
4
  export declare function createRuntimeImports(bootstrapWkt: boolean): RuntimeImports;
5
5
  type mapRecord<T extends Record<string, unknown>> = {
@@ -15,9 +15,9 @@
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.createRuntimeImports = createRuntimeImports;
17
17
  const import_symbol_js_1 = require("./import-symbol.js");
18
- const codegenv1_1 = require("@bufbuild/protobuf/codegenv1");
18
+ const codegenv2_1 = require("@bufbuild/protobuf/codegenv2");
19
19
  function createRuntimeImports(bootstrapWkt) {
20
- return mapRecord(codegenv1_1.symbols, bootstrapWkt);
20
+ return mapRecord(codegenv2_1.symbols, bootstrapWkt);
21
21
  }
22
22
  function mapRecord(record, bootstrapWkt) {
23
23
  const result = Object.create(null);
@@ -31,6 +31,7 @@ function createSchema(request, parameter, pluginName, pluginVersion, minimumEdit
31
31
  const resolveDescImport = (desc, typeOnly) => (0, import_symbol_js_1.createImportSymbol)((0, names_js_1.generatedDescName)(desc), (0, names_js_1.generateFilePath)(desc.kind == "file" ? desc : desc.file, parameter.parsed.bootstrapWkt, filesToGenerate), typeOnly);
32
32
  const resolveShapeImport = (desc) => (0, import_symbol_js_1.createImportSymbol)((0, names_js_1.generatedShapeName)(desc), (0, names_js_1.generateFilePath)(desc.file, parameter.parsed.bootstrapWkt, filesToGenerate), true);
33
33
  const resolveJsonImport = (desc) => (0, import_symbol_js_1.createImportSymbol)((0, names_js_1.generatedJsonTypeName)(desc), (0, names_js_1.generateFilePath)(desc.file, parameter.parsed.bootstrapWkt, filesToGenerate), true);
34
+ const resolveValidImport = (desc) => (0, import_symbol_js_1.createImportSymbol)((0, names_js_1.generatedValidTypeName)(desc), (0, names_js_1.generateFilePath)(desc.file, parameter.parsed.bootstrapWkt, filesToGenerate), true);
34
35
  const createPreamble = (descFile) => (0, file_preamble_js_1.makeFilePreamble)(descFile, pluginName, pluginVersion, parameter.sanitized, parameter.parsed.tsNocheck);
35
36
  const rewriteImport = (importPath) => (0, import_path_js_1.rewriteImportPath)(importPath, parameter.parsed.rewriteImports, parameter.parsed.importExtension);
36
37
  return {
@@ -45,7 +46,7 @@ function createSchema(request, parameter, pluginName, pluginVersion, minimumEdit
45
46
  throw new Error("prepareGenerate() must be called before generateFile()");
46
47
  }
47
48
  const genFile = (0, generated_file_js_1.createGeneratedFile)(name, (0, import_path_js_1.deriveImportPath)(name), target === "js" ? parameter.parsed.jsImportStyle : "module", // ts and dts always use import/export, only js may use commonjs
48
- rewriteImport, resolveDescImport, resolveShapeImport, resolveJsonImport, createPreamble, runtime);
49
+ rewriteImport, resolveDescImport, resolveShapeImport, resolveJsonImport, resolveValidImport, createPreamble, runtime);
49
50
  generatedFiles.push(genFile);
50
51
  return genFile;
51
52
  },
@@ -91,6 +91,13 @@ export interface GeneratedFile {
91
91
  * `json_types=true`.
92
92
  */
93
93
  importJson(desc: DescMessage | DescEnum): ImportSymbol;
94
+ /**
95
+ * Import a message Valid type generated by protoc-gen-es.
96
+ *
97
+ * Note that protoc-gen-es only generates valid types with the plugin option
98
+ * `valid_types`.
99
+ */
100
+ importValid(desc: DescMessage): ImportSymbol;
94
101
  /**
95
102
  * Import a descriptor generated by protoc-gen-es.
96
103
  */
@@ -126,6 +133,8 @@ export interface GeneratedFileController extends GeneratedFile {
126
133
  }
127
134
  export type ResolveDescImportFn = (desc: DescMessage | DescEnum | DescExtension | DescService | DescFile, typeOnly?: boolean) => ImportSymbol;
128
135
  export type ResolveShapeImportFn = (desc: DescMessage | DescEnum) => ImportSymbol;
136
+ export type ResolveJsonImportFn = (desc: DescMessage | DescEnum) => ImportSymbol;
137
+ export type ResolveValidImportFn = (desc: DescMessage) => ImportSymbol;
129
138
  export type RewriteImportFn = (path: string) => string;
130
139
  export type CreatePreambleFn = (descFile: DescFile) => string;
131
- export declare function createGeneratedFile(name: string, importPath: string, jsImportStyle: "module" | "legacy_commonjs", rewriteImport: RewriteImportFn, resolveDescImport: ResolveDescImportFn, resolveShapeImport: ResolveShapeImportFn, resolveJsonImport: ResolveShapeImportFn, createPreamble: CreatePreambleFn, runtime: RuntimeImports): GeneratedFileController;
140
+ export declare function createGeneratedFile(name: string, importPath: string, jsImportStyle: "module" | "legacy_commonjs", rewriteImport: RewriteImportFn, resolveDescImport: ResolveDescImportFn, resolveShapeImport: ResolveShapeImportFn, resolveJsonImport: ResolveJsonImportFn, resolveValidImport: ResolveValidImportFn, createPreamble: CreatePreambleFn, runtime: RuntimeImports): GeneratedFileController;
@@ -15,7 +15,7 @@ import { protoInt64, ScalarType, } from "@bufbuild/protobuf";
15
15
  import { createImportSymbol } from "./import-symbol.js";
16
16
  import { makeImportPathRelative } from "./import-path.js";
17
17
  import { createJsDocTextFromDesc, formatJsDocBlock } from "./jsdoc.js";
18
- export function createGeneratedFile(name, importPath, jsImportStyle, rewriteImport, resolveDescImport, resolveShapeImport, resolveJsonImport, createPreamble, runtime) {
18
+ export function createGeneratedFile(name, importPath, jsImportStyle, rewriteImport, resolveDescImport, resolveShapeImport, resolveJsonImport, resolveValidImport, createPreamble, runtime) {
19
19
  let preamble;
20
20
  const el = [];
21
21
  return {
@@ -42,6 +42,7 @@ export function createGeneratedFile(name, importPath, jsImportStyle, rewriteImpo
42
42
  resolveDescImport,
43
43
  resolveShapeImport,
44
44
  resolveJsonImport,
45
+ resolveValidImport,
45
46
  }, printables);
46
47
  el.push("\n");
47
48
  },
@@ -88,6 +89,9 @@ export function createGeneratedFile(name, importPath, jsImportStyle, rewriteImpo
88
89
  importJson(desc) {
89
90
  return resolveJsonImport(desc);
90
91
  },
92
+ importValid(desc) {
93
+ return resolveValidImport(desc);
94
+ },
91
95
  import(name, from, typeOnly = false) {
92
96
  return createImportSymbol(name, from, typeOnly);
93
97
  },
@@ -238,6 +242,9 @@ function printableToEl(opt, printables) {
238
242
  case "es_json_type_ref":
239
243
  el.push(opt.resolveJsonImport(p.desc));
240
244
  break;
245
+ case "es_valid_type_ref":
246
+ el.push(opt.resolveValidImport(p.desc));
247
+ break;
241
248
  case "es_jsdoc":
242
249
  el.push(formatJsDocBlock(p.text, p.indentation));
243
250
  break;
@@ -15,3 +15,7 @@ export declare function generatedShapeName(desc: DescEnum | DescMessage): string
15
15
  * Return a safe identifier for a generated JSON type.
16
16
  */
17
17
  export declare function generatedJsonTypeName(desc: DescEnum | DescMessage): string;
18
+ /**
19
+ * Return a safe identifier for a generated Valid type.
20
+ */
21
+ export declare function generatedValidTypeName(desc: DescEnum | DescMessage): string;
package/dist/esm/names.js CHANGED
@@ -11,7 +11,7 @@
11
11
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
- import { wktPublicImportPaths } from "@bufbuild/protobuf/codegenv1";
14
+ import { wktPublicImportPaths } from "@bufbuild/protobuf/codegenv2";
15
15
  import { nestedTypes } from "@bufbuild/protobuf/reflect";
16
16
  import { safeIdentifier } from "./safe-identifier.js";
17
17
  /**
@@ -67,6 +67,17 @@ export function generatedJsonTypeName(desc) {
67
67
  }
68
68
  return name;
69
69
  }
70
+ /**
71
+ * Return a safe identifier for a generated Valid type.
72
+ */
73
+ export function generatedValidTypeName(desc) {
74
+ const { validTypeNames } = allNames(desc.file);
75
+ const name = validTypeNames.get(desc);
76
+ if (name === undefined) {
77
+ throw new Error(`unable to determine unique valid type name for ${desc.toString()}`);
78
+ }
79
+ return name;
80
+ }
70
81
  /**
71
82
  * Compute the ideal name for a generated descriptor.
72
83
  */
@@ -101,6 +112,13 @@ function idealJsonTypeName(desc, i) {
101
112
  const salt = i === 0 ? "" : i === 1 ? "$" : `$${i - 1}`;
102
113
  return safeIdentifier(identifier(desc) + "Json" + salt);
103
114
  }
115
+ /**
116
+ * Compute the ideal name for a generated Valid type.
117
+ */
118
+ function idealValidTypeName(desc, i) {
119
+ const salt = i === 0 ? "" : i === 1 ? "$" : `$${i - 1}`;
120
+ return safeIdentifier(identifier(desc) + "Valid" + salt);
121
+ }
104
122
  /**
105
123
  * Return an identifier for the given descriptor based on its type name.
106
124
  *
@@ -183,5 +201,20 @@ function allNames(file) {
183
201
  taken.add(name);
184
202
  jsonTypeNames.set(desc, name);
185
203
  }
186
- return { shapeNames, jsonTypeNames, descNames };
204
+ const validTypeNames = new Map();
205
+ for (const desc of nestedTypes(file)) {
206
+ if (desc.kind != "enum" && desc.kind != "message") {
207
+ continue;
208
+ }
209
+ let name;
210
+ for (let i = 0;; i++) {
211
+ name = idealValidTypeName(desc, i);
212
+ if (!taken.has(name)) {
213
+ break;
214
+ }
215
+ }
216
+ taken.add(name);
217
+ validTypeNames.set(desc, name);
218
+ }
219
+ return { shapeNames, jsonTypeNames, validTypeNames, descNames };
187
220
  }
@@ -3,7 +3,7 @@ import type { ImportSymbol } from "./import-symbol.js";
3
3
  /**
4
4
  * All types that can be passed to GeneratedFile.print()
5
5
  */
6
- export type Printable = string | number | boolean | bigint | Uint8Array | ImportSymbol | ExportStatement | JSDocBlock | LiteralString | LiteralProtoInt64 | DescImport | ShapeImport | JsonTypeImport | Printable[];
6
+ export type Printable = string | number | boolean | bigint | Uint8Array | ImportSymbol | ExportStatement | JSDocBlock | LiteralString | LiteralProtoInt64 | DescImport | ShapeImport | JsonTypeImport | ValidTypeImport | Printable[];
7
7
  export type ExportStatement = {
8
8
  kind: "es_export_stmt";
9
9
  name: string;
@@ -32,6 +32,10 @@ export type JsonTypeImport = {
32
32
  readonly kind: "es_json_type_ref";
33
33
  desc: DescMessage | DescEnum;
34
34
  };
35
+ export type ValidTypeImport = {
36
+ readonly kind: "es_valid_type_ref";
37
+ desc: DescMessage;
38
+ };
35
39
  export type JSDocBlock = {
36
40
  readonly kind: "es_jsdoc";
37
41
  text: string;
@@ -1,5 +1,5 @@
1
1
  import type { ImportSymbol } from "./import-symbol.js";
2
- import { symbols } from "@bufbuild/protobuf/codegenv1";
2
+ import { symbols } from "@bufbuild/protobuf/codegenv2";
3
3
  export type RuntimeImports = mapRecord<typeof symbols>;
4
4
  export declare function createRuntimeImports(bootstrapWkt: boolean): RuntimeImports;
5
5
  type mapRecord<T extends Record<string, unknown>> = {
@@ -12,7 +12,7 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
  import { createImportSymbol } from "./import-symbol.js";
15
- import { symbols } from "@bufbuild/protobuf/codegenv1";
15
+ import { symbols } from "@bufbuild/protobuf/codegenv2";
16
16
  export function createRuntimeImports(bootstrapWkt) {
17
17
  return mapRecord(symbols, bootstrapWkt);
18
18
  }
@@ -18,7 +18,7 @@ import { createGeneratedFile } from "./generated-file.js";
18
18
  import { createImportSymbol } from "./import-symbol.js";
19
19
  import { deriveImportPath, rewriteImportPath } from "./import-path.js";
20
20
  import { makeFilePreamble } from "./file-preamble.js";
21
- import { generatedDescName, generatedShapeName, generateFilePath, generatedJsonTypeName, } from "./names.js";
21
+ import { generatedDescName, generatedShapeName, generateFilePath, generatedJsonTypeName, generatedValidTypeName, } from "./names.js";
22
22
  import { createRuntimeImports } from "./runtime-imports.js";
23
23
  export function createSchema(request, parameter, pluginName, pluginVersion, minimumEdition, maximumEdition) {
24
24
  const { allFiles, filesToGenerate } = getFilesToGenerate(request, minimumEdition, maximumEdition);
@@ -28,6 +28,7 @@ export function createSchema(request, parameter, pluginName, pluginVersion, mini
28
28
  const resolveDescImport = (desc, typeOnly) => createImportSymbol(generatedDescName(desc), generateFilePath(desc.kind == "file" ? desc : desc.file, parameter.parsed.bootstrapWkt, filesToGenerate), typeOnly);
29
29
  const resolveShapeImport = (desc) => createImportSymbol(generatedShapeName(desc), generateFilePath(desc.file, parameter.parsed.bootstrapWkt, filesToGenerate), true);
30
30
  const resolveJsonImport = (desc) => createImportSymbol(generatedJsonTypeName(desc), generateFilePath(desc.file, parameter.parsed.bootstrapWkt, filesToGenerate), true);
31
+ const resolveValidImport = (desc) => createImportSymbol(generatedValidTypeName(desc), generateFilePath(desc.file, parameter.parsed.bootstrapWkt, filesToGenerate), true);
31
32
  const createPreamble = (descFile) => makeFilePreamble(descFile, pluginName, pluginVersion, parameter.sanitized, parameter.parsed.tsNocheck);
32
33
  const rewriteImport = (importPath) => rewriteImportPath(importPath, parameter.parsed.rewriteImports, parameter.parsed.importExtension);
33
34
  return {
@@ -42,7 +43,7 @@ export function createSchema(request, parameter, pluginName, pluginVersion, mini
42
43
  throw new Error("prepareGenerate() must be called before generateFile()");
43
44
  }
44
45
  const genFile = createGeneratedFile(name, deriveImportPath(name), target === "js" ? parameter.parsed.jsImportStyle : "module", // ts and dts always use import/export, only js may use commonjs
45
- rewriteImport, resolveDescImport, resolveShapeImport, resolveJsonImport, createPreamble, runtime);
46
+ rewriteImport, resolveDescImport, resolveShapeImport, resolveJsonImport, resolveValidImport, createPreamble, runtime);
46
47
  generatedFiles.push(genFile);
47
48
  return genFile;
48
49
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bufbuild/protoplugin",
3
- "version": "2.3.0",
3
+ "version": "2.5.0",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Helps to create your own Protocol Buffers code generators.",
6
6
  "keywords": [
@@ -35,7 +35,7 @@
35
35
  }
36
36
  },
37
37
  "dependencies": {
38
- "@bufbuild/protobuf": "2.3.0",
38
+ "@bufbuild/protobuf": "2.5.0",
39
39
  "@typescript/vfs": "^1.5.2",
40
40
  "typescript": "5.4.5"
41
41
  },