bufbuild / protobuf-es

Protocol Buffers for ECMAScript. The only JavaScript Protobuf library that is fully-compliant with Protobuf conformance tests.
Apache License 2.0
960 stars 55 forks source link

Fix Node10 subpath fallbacks #803

Closed timostamm closed 1 month ago

timostamm commented 1 month ago

Fixes #802 by including the fallbacks in the package: @bufbuild/protoplugin includes ecmascript/index.js now.

We're switching from the package.json files property to .npmignore files everywhere for consistency.

npm pack packages/protoc-gen-es ``` $ npm pack --dry-run -w packages/protoc-gen-es npm notice šŸ“¦ @bufbuild/protoc-gen-es@1.9.0 npm notice === Tarball Contents === npm notice 5.2kB README.md npm notice 174B bin/protoc-gen-es npm notice 917B dist/cjs/package.json npm notice 8.7kB dist/cjs/src/declaration.js npm notice 1.3kB dist/cjs/src/editions.js npm notice 33.3kB dist/cjs/src/javascript.js npm notice 1.3kB dist/cjs/src/protoc-gen-es-plugin.js npm notice 35.9kB dist/cjs/src/typescript.js npm notice 9.8kB dist/cjs/src/util.js npm notice 825B package.json ... ```
npm pack packages/protobuf ``` $ npm pack --dry-run -w packages/protobuf npm notice npm notice šŸ“¦ @bufbuild/protobuf@1.9.0 npm notice === Tarball Contents === npm notice 2.2kB README.md npm notice 11.9kB dist/cjs/binary-encoding.d.ts npm notice 14.0kB dist/cjs/binary-encoding.js npm notice 4.8kB dist/cjs/binary-format.d.ts npm notice 682B dist/cjs/binary-format.js npm notice 1.8kB dist/cjs/codegen-info.d.ts npm notice 4.3kB dist/cjs/codegen-info.js npm notice 1.7kB dist/cjs/create-descriptor-set.d.ts npm notice 39.6kB dist/cjs/create-descriptor-set.js npm notice 939B dist/cjs/create-registry-from-desc.d.ts npm notice 10.0kB dist/cjs/create-registry-from-desc.js npm notice 573B dist/cjs/create-registry.d.ts npm notice 3.3kB dist/cjs/create-registry.js npm notice 19.4kB dist/cjs/descriptor-set.d.ts npm notice 682B dist/cjs/descriptor-set.js npm notice 920B dist/cjs/enum.d.ts npm notice 682B dist/cjs/enum.js npm notice 1.8kB dist/cjs/extension-accessor.d.ts npm notice 5.1kB dist/cjs/extension-accessor.js npm notice 856B dist/cjs/extension.d.ts npm notice 682B dist/cjs/extension.js npm notice 810B dist/cjs/field-list.d.ts npm notice 682B dist/cjs/field-list.js npm notice 9.6kB dist/cjs/field.d.ts npm notice 682B dist/cjs/field.js npm notice 5.9kB dist/cjs/google/protobuf/any_pb.d.ts npm notice 10.0kB dist/cjs/google/protobuf/any_pb.js npm notice 9.4kB dist/cjs/google/protobuf/api_pb.d.ts npm notice 11.9kB dist/cjs/google/protobuf/api_pb.js npm notice 13.1kB dist/cjs/google/protobuf/compiler/plugin_pb.d.ts npm notice 10.3kB dist/cjs/google/protobuf/compiler/plugin_pb.js npm notice 91.3kB dist/cjs/google/protobuf/descriptor_pb.d.ts npm notice 93.5kB dist/cjs/google/protobuf/descriptor_pb.js npm notice 4.2kB dist/cjs/google/protobuf/duration_pb.d.ts npm notice 6.9kB dist/cjs/google/protobuf/duration_pb.js npm notice 1.3kB dist/cjs/google/protobuf/empty_pb.d.ts npm notice 1.9kB dist/cjs/google/protobuf/empty_pb.js npm notice 7.4kB dist/cjs/google/protobuf/field_mask_pb.d.ts npm notice 10.2kB dist/cjs/google/protobuf/field_mask_pb.js npm notice 1.5kB dist/cjs/google/protobuf/source_context_pb.d.ts npm notice 2.2kB dist/cjs/google/protobuf/source_context_pb.js npm notice 5.9kB dist/cjs/google/protobuf/struct_pb.d.ts npm notice 9.1kB dist/cjs/google/protobuf/struct_pb.js npm notice 5.9kB dist/cjs/google/protobuf/timestamp_pb.d.ts npm notice 9.3kB dist/cjs/google/protobuf/timestamp_pb.js npm notice 12.6kB dist/cjs/google/protobuf/type_pb.d.ts npm notice 18.9kB dist/cjs/google/protobuf/type_pb.js npm notice 11.4kB dist/cjs/google/protobuf/wrappers_pb.d.ts npm notice 18.2kB dist/cjs/google/protobuf/wrappers_pb.js npm notice 2.6kB dist/cjs/google/varint.d.ts npm notice 12.1kB dist/cjs/google/varint.js npm notice 2.7kB dist/cjs/index.d.ts npm notice 6.9kB dist/cjs/index.js npm notice 1.2kB dist/cjs/is-message.d.ts npm notice 2.3kB dist/cjs/is-message.js npm notice 3.9kB dist/cjs/json-format.d.ts npm notice 682B dist/cjs/json-format.js npm notice 1.8kB dist/cjs/message-type.d.ts npm notice 682B dist/cjs/message-type.js npm notice 5.2kB dist/cjs/message.d.ts npm notice 4.8kB dist/cjs/message.js npm notice 20B dist/cjs/package.json npm notice 549B dist/cjs/private/assert.d.ts npm notice 2.6kB dist/cjs/private/assert.js npm notice 404B dist/cjs/private/binary-format.d.ts npm notice 17.7kB dist/cjs/private/binary-format.js npm notice 1.0kB dist/cjs/private/enum.d.ts npm notice 3.4kB dist/cjs/private/enum.js npm notice 1.7kB dist/cjs/private/extensions.d.ts npm notice 3.1kB dist/cjs/private/extensions.js npm notice 987B dist/cjs/private/feature-set.d.ts npm notice 4.7kB dist/cjs/private/feature-set.js npm notice 840B dist/cjs/private/field-list.d.ts npm notice 2.3kB dist/cjs/private/field-list.js npm notice 440B dist/cjs/private/field-normalize.d.ts npm notice 2.9kB dist/cjs/private/field-normalize.js npm notice 1.0kB dist/cjs/private/field-wrapper.d.ts npm notice 2.3kB dist/cjs/private/field-wrapper.js npm notice 536B dist/cjs/private/field.d.ts npm notice 1.7kB dist/cjs/private/field.js npm notice 107B dist/cjs/private/json-format.d.ts npm notice 27.6kB dist/cjs/private/json-format.js npm notice 768B dist/cjs/private/message-type.d.ts npm notice 1.9kB dist/cjs/private/message-type.js npm notice 1.9kB dist/cjs/private/names.d.ts npm notice 8.2kB dist/cjs/private/names.js npm notice 142B dist/cjs/private/options-map.d.ts npm notice 682B dist/cjs/private/options-map.js npm notice 2.4kB dist/cjs/private/proto-runtime.d.ts npm notice 1.8kB dist/cjs/private/proto-runtime.js npm notice 341B dist/cjs/private/reflect.d.ts npm notice 2.8kB dist/cjs/private/reflect.js npm notice 2.6kB dist/cjs/private/reify-wkt.d.ts npm notice 7.4kB dist/cjs/private/reify-wkt.js npm notice 893B dist/cjs/private/scalars.d.ts npm notice 4.1kB dist/cjs/private/scalars.js npm notice 324B dist/cjs/private/text-format.d.ts npm notice 7.5kB dist/cjs/private/text-format.js npm notice 124B dist/cjs/private/util-common.d.ts npm notice 11.3kB dist/cjs/private/util-common.js npm notice 1.5kB dist/cjs/private/util.d.ts npm notice 682B dist/cjs/private/util.js npm notice 560B dist/cjs/proto-base64.d.ts npm notice 4.8kB dist/cjs/proto-base64.js npm notice 2.0kB dist/cjs/proto-delimited.d.ts npm notice 7.1kB dist/cjs/proto-delimited.js npm notice 145B dist/cjs/proto-double.d.ts npm notice 1.4kB dist/cjs/proto-double.js npm notice 3.1kB dist/cjs/proto-int64.d.ts npm notice 4.4kB dist/cjs/proto-int64.js npm notice 159B dist/cjs/proto2.d.ts npm notice 2.3kB dist/cjs/proto2.js npm notice 159B dist/cjs/proto3.d.ts npm notice 2.2kB dist/cjs/proto3.js npm notice 2.3kB dist/cjs/scalar.d.ts npm notice 3.4kB dist/cjs/scalar.js npm notice 3.4kB dist/cjs/service-type.d.ts npm notice 2.3kB dist/cjs/service-type.js npm notice 499B dist/cjs/to-plain-message.d.ts npm notice 2.4kB dist/cjs/to-plain-message.js npm notice 1.6kB dist/cjs/type-registry.d.ts npm notice 682B dist/cjs/type-registry.js npm notice 11.9kB dist/esm/binary-encoding.d.ts npm notice 13.5kB dist/esm/binary-encoding.js npm notice 4.8kB dist/esm/binary-format.d.ts npm notice 616B dist/esm/binary-format.js npm notice 1.8kB dist/esm/codegen-info.d.ts npm notice 4.1kB dist/esm/codegen-info.js npm notice 1.7kB dist/esm/create-descriptor-set.d.ts npm notice 37.7kB dist/esm/create-descriptor-set.js npm notice 939B dist/esm/create-registry-from-desc.d.ts npm notice 9.4kB dist/esm/create-registry-from-desc.js npm notice 573B dist/esm/create-registry.d.ts npm notice 3.2kB dist/esm/create-registry.js npm notice 19.4kB dist/esm/descriptor-set.d.ts npm notice 657B dist/esm/descriptor-set.js npm notice 920B dist/esm/enum.d.ts npm notice 616B dist/esm/enum.js npm notice 1.8kB dist/esm/extension-accessor.d.ts npm notice 4.7kB dist/esm/extension-accessor.js npm notice 856B dist/esm/extension.d.ts npm notice 616B dist/esm/extension.js npm notice 810B dist/esm/field-list.d.ts npm notice 616B dist/esm/field-list.js npm notice 9.6kB dist/esm/field.d.ts npm notice 616B dist/esm/field.js npm notice 5.9kB dist/esm/google/protobuf/any_pb.d.ts npm notice 9.8kB dist/esm/google/protobuf/any_pb.js npm notice 9.4kB dist/esm/google/protobuf/api_pb.d.ts npm notice 11.4kB dist/esm/google/protobuf/api_pb.js npm notice 13.1kB dist/esm/google/protobuf/compiler/plugin_pb.d.ts npm notice 9.5kB dist/esm/google/protobuf/compiler/plugin_pb.js npm notice 91.3kB dist/esm/google/protobuf/descriptor_pb.d.ts npm notice 87.3kB dist/esm/google/protobuf/descriptor_pb.js npm notice 4.2kB dist/esm/google/protobuf/duration_pb.d.ts npm notice 6.6kB dist/esm/google/protobuf/duration_pb.js npm notice 1.3kB dist/esm/google/protobuf/empty_pb.d.ts npm notice 1.7kB dist/esm/google/protobuf/empty_pb.js npm notice 7.4kB dist/esm/google/protobuf/field_mask_pb.d.ts npm notice 10.0kB dist/esm/google/protobuf/field_mask_pb.js npm notice 1.5kB dist/esm/google/protobuf/source_context_pb.d.ts npm notice 2.0kB dist/esm/google/protobuf/source_context_pb.js npm notice 5.9kB dist/esm/google/protobuf/struct_pb.d.ts npm notice 8.6kB dist/esm/google/protobuf/struct_pb.js npm notice 5.9kB dist/esm/google/protobuf/timestamp_pb.d.ts npm notice 9.0kB dist/esm/google/protobuf/timestamp_pb.js npm notice 12.6kB dist/esm/google/protobuf/type_pb.d.ts npm notice 18.1kB dist/esm/google/protobuf/type_pb.js npm notice 11.4kB dist/esm/google/protobuf/wrappers_pb.d.ts npm notice 16.7kB dist/esm/google/protobuf/wrappers_pb.js npm notice 2.6kB dist/esm/google/varint.d.ts npm notice 11.7kB dist/esm/google/varint.js npm notice 2.7kB dist/esm/index.d.ts npm notice 2.2kB dist/esm/index.js npm notice 1.2kB dist/esm/is-message.d.ts npm notice 2.1kB dist/esm/is-message.js npm notice 3.9kB dist/esm/json-format.d.ts npm notice 616B dist/esm/json-format.js npm notice 1.8kB dist/esm/message-type.d.ts npm notice 616B dist/esm/message-type.js npm notice 5.2kB dist/esm/message.d.ts npm notice 4.7kB dist/esm/message.js npm notice 549B dist/esm/private/assert.d.ts npm notice 2.3kB dist/esm/private/assert.js npm notice 404B dist/esm/private/binary-format.d.ts npm notice 16.6kB dist/esm/private/binary-format.js npm notice 1.0kB dist/esm/private/enum.d.ts npm notice 3.1kB dist/esm/private/enum.js npm notice 1.7kB dist/esm/private/extensions.d.ts npm notice 2.8kB dist/esm/private/extensions.js npm notice 987B dist/esm/private/feature-set.d.ts npm notice 4.4kB dist/esm/private/feature-set.js npm notice 840B dist/esm/private/field-list.d.ts npm notice 2.1kB dist/esm/private/field-list.js npm notice 440B dist/esm/private/field-normalize.d.ts npm notice 2.7kB dist/esm/private/field-normalize.js npm notice 1.0kB dist/esm/private/field-wrapper.d.ts npm notice 1.9kB dist/esm/private/field-wrapper.js npm notice 536B dist/esm/private/field.d.ts npm notice 1.5kB dist/esm/private/field.js npm notice 107B dist/esm/private/json-format.d.ts npm notice 26.6kB dist/esm/private/json-format.js npm notice 768B dist/esm/private/message-type.d.ts npm notice 1.8kB dist/esm/private/message-type.js npm notice 1.9kB dist/esm/private/names.d.ts npm notice 7.7kB dist/esm/private/names.js npm notice 142B dist/esm/private/options-map.d.ts npm notice 616B dist/esm/private/options-map.js npm notice 2.4kB dist/esm/private/proto-runtime.d.ts npm notice 1.5kB dist/esm/private/proto-runtime.js npm notice 341B dist/esm/private/reflect.d.ts npm notice 2.6kB dist/esm/private/reflect.js npm notice 2.6kB dist/esm/private/reify-wkt.d.ts npm notice 7.1kB dist/esm/private/reify-wkt.js npm notice 893B dist/esm/private/scalars.d.ts npm notice 3.6kB dist/esm/private/scalars.js npm notice 324B dist/esm/private/text-format.d.ts npm notice 6.9kB dist/esm/private/text-format.js npm notice 124B dist/esm/private/util-common.d.ts npm notice 10.9kB dist/esm/private/util-common.js npm notice 1.5kB dist/esm/private/util.d.ts npm notice 616B dist/esm/private/util.js npm notice 560B dist/esm/proto-base64.d.ts npm notice 4.7kB dist/esm/proto-base64.js npm notice 2.0kB dist/esm/proto-delimited.d.ts npm notice 7.0kB dist/esm/proto-delimited.js npm notice 145B dist/esm/proto-double.d.ts npm notice 1.3kB dist/esm/proto-double.js npm notice 3.1kB dist/esm/proto-int64.d.ts npm notice 4.2kB dist/esm/proto-int64.js npm notice 159B dist/esm/proto2.d.ts npm notice 2.2kB dist/esm/proto2.js npm notice 159B dist/esm/proto3.d.ts npm notice 2.0kB dist/esm/proto3.js npm notice 2.3kB dist/esm/scalar.d.ts npm notice 3.3kB dist/esm/scalar.js npm notice 3.4kB dist/esm/service-type.d.ts npm notice 2.1kB dist/esm/service-type.js npm notice 499B dist/esm/to-plain-message.d.ts npm notice 2.5kB dist/esm/to-plain-message.js npm notice 1.6kB dist/esm/type-registry.d.ts npm notice 616B dist/esm/type-registry.js npm notice 1.7kB package.json ... ```
npm pack packages/protoplugin ``` $ npm pack --dry-run -w packages/protoplugin npm notice šŸ“¦ @bufbuild/protoplugin@1.9.0 npm notice === Tarball Contents === npm notice 1.7kB README.md npm notice 3.6kB dist/cjs/create-es-plugin.d.ts npm notice 5.9kB dist/cjs/create-es-plugin.js npm notice 200B dist/cjs/ecmascript/file-preamble.d.ts npm notice 2.9kB dist/cjs/ecmascript/file-preamble.js npm notice 5.1kB dist/cjs/ecmascript/generated-file.d.ts npm notice 14.4kB dist/cjs/ecmascript/generated-file.js npm notice 2.6kB dist/cjs/ecmascript/import-path.d.ts npm notice 5.4kB dist/cjs/ecmascript/import-path.js npm notice 1.1kB dist/cjs/ecmascript/import-symbol.d.ts npm notice 1.2kB dist/cjs/ecmascript/import-symbol.js npm notice 1.5kB dist/cjs/ecmascript/index.d.ts npm notice 3.2kB dist/cjs/ecmascript/index.js npm notice 492B dist/cjs/ecmascript/jsdoc.d.ts npm notice 3.3kB dist/cjs/ecmascript/jsdoc.js npm notice 2.2kB dist/cjs/ecmascript/legacy-custom-options.d.ts npm notice 4.5kB dist/cjs/ecmascript/legacy-custom-options.js npm notice 828B dist/cjs/ecmascript/legacy-gencommon.d.ts npm notice 8.2kB dist/cjs/ecmascript/legacy-gencommon.js npm notice 843B dist/cjs/ecmascript/opaque-printables.d.ts npm notice 682B dist/cjs/ecmascript/opaque-printables.js npm notice 543B dist/cjs/ecmascript/parameter.d.ts npm notice 5.7kB dist/cjs/ecmascript/parameter.js npm notice 2.5kB dist/cjs/ecmascript/reify-wkt.d.ts npm notice 7.3kB dist/cjs/ecmascript/reify-wkt.js npm notice 842B dist/cjs/ecmascript/runtime-imports.d.ts npm notice 2.6kB dist/cjs/ecmascript/runtime-imports.js npm notice 1.5kB dist/cjs/ecmascript/schema.d.ts npm notice 3.5kB dist/cjs/ecmascript/schema.js npm notice 111B dist/cjs/ecmascript/target.d.ts npm notice 682B dist/cjs/ecmascript/target.js npm notice 209B dist/cjs/ecmascript/transpile.d.ts npm notice 5.3kB dist/cjs/ecmascript/transpile.js npm notice 276B dist/cjs/error.d.ts npm notice 1.6kB dist/cjs/error.js npm notice 346B dist/cjs/index.d.ts npm notice 1.1kB dist/cjs/index.js npm notice 20B dist/cjs/package.json npm notice 449B dist/cjs/plugin.d.ts npm notice 682B dist/cjs/plugin.js npm notice 318B dist/cjs/run-node.d.ts npm notice 2.8kB dist/cjs/run-node.js npm notice 3.6kB dist/esm/create-es-plugin.d.ts npm notice 5.7kB dist/esm/create-es-plugin.js npm notice 200B dist/esm/ecmascript/file-preamble.d.ts npm notice 2.7kB dist/esm/ecmascript/file-preamble.js npm notice 5.1kB dist/esm/ecmascript/generated-file.d.ts npm notice 14.1kB dist/esm/ecmascript/generated-file.js npm notice 2.6kB dist/esm/ecmascript/import-path.d.ts npm notice 4.9kB dist/esm/ecmascript/import-path.js npm notice 1.1kB dist/esm/ecmascript/import-symbol.d.ts npm notice 1.0kB dist/esm/ecmascript/import-symbol.js npm notice 1.5kB dist/esm/ecmascript/index.d.ts npm notice 1.5kB dist/esm/ecmascript/index.js npm notice 492B dist/esm/ecmascript/jsdoc.d.ts npm notice 3.1kB dist/esm/ecmascript/jsdoc.js npm notice 2.2kB dist/esm/ecmascript/legacy-custom-options.d.ts npm notice 4.0kB dist/esm/ecmascript/legacy-custom-options.js npm notice 828B dist/esm/ecmascript/legacy-gencommon.d.ts npm notice 7.5kB dist/esm/ecmascript/legacy-gencommon.js npm notice 843B dist/esm/ecmascript/opaque-printables.d.ts npm notice 664B dist/esm/ecmascript/opaque-printables.js npm notice 543B dist/esm/ecmascript/parameter.d.ts npm notice 5.5kB dist/esm/ecmascript/parameter.js npm notice 2.5kB dist/esm/ecmascript/reify-wkt.d.ts npm notice 7.0kB dist/esm/ecmascript/reify-wkt.js npm notice 842B dist/esm/ecmascript/runtime-imports.d.ts npm notice 2.4kB dist/esm/ecmascript/runtime-imports.js npm notice 1.5kB dist/esm/ecmascript/schema.d.ts npm notice 3.3kB dist/esm/ecmascript/schema.js npm notice 111B dist/esm/ecmascript/target.d.ts npm notice 616B dist/esm/ecmascript/target.js npm notice 209B dist/esm/ecmascript/transpile.d.ts npm notice 4.9kB dist/esm/ecmascript/transpile.js npm notice 276B dist/esm/error.d.ts npm notice 1.3kB dist/esm/error.js npm notice 346B dist/esm/index.d.ts npm notice 712B dist/esm/index.js npm notice 449B dist/esm/plugin.d.ts npm notice 616B dist/esm/plugin.js npm notice 318B dist/esm/run-node.d.ts npm notice 2.7kB dist/esm/run-node.js npm notice 768B ecmascript/index.js npm notice 1.5kB package.json ... ```
timostamm commented 1 month ago

I've confirmed that Node.js v10.24.1 fails to import @bufbuild/protoplugin/ecmascript without this change, and succeeds with the change.