@wireio/protoc-gen-solana 1.0.5 → 1.0.6
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/dist/bin/protoc-gen-solana +0 -0
- package/dist/bundle/protoc-gen-solana.cjs +221678 -0
- package/dist/bundle/protoc-gen-solana.cjs.map +7 -0
- package/lib/TypescriptFactoryShim.d.ts +14 -0
- package/lib/TypescriptFactoryShim.d.ts.map +1 -0
- package/lib/TypescriptFactoryShim.js +108 -0
- package/lib/generator/field.js +50 -43
- package/lib/generator/index.js +13 -4
- package/lib/generator/message.js +16 -13
- package/lib/generator/runtime.js +11 -5
- package/lib/generator/type-map.js +18 -11
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +12 -9
- package/lib/plugin.js +51 -15
- package/lib/util/logger.js +12 -5
- package/lib/util/names.js +9 -4
- package/package.json +13 -12
- package/dist/bundle/protoc-gen-solana.mjs +0 -7848
- package/dist/bundle/protoc-gen-solana.mjs.map +0 -7
package/lib/util/logger.js
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.log = void 0;
|
|
7
|
+
exports.setLogLevel = setLogLevel;
|
|
8
|
+
const tracer_1 = __importDefault(require("tracer"));
|
|
2
9
|
/**
|
|
3
10
|
* Plugin logger — writes to stderr exclusively.
|
|
4
11
|
* stdout is reserved for the CodeGeneratorResponse wire payload.
|
|
5
12
|
*/
|
|
6
|
-
|
|
13
|
+
exports.log = tracer_1.default.colorConsole({
|
|
7
14
|
level: "info",
|
|
8
15
|
format: "{{timestamp}} [{{title}}] {{file}}:{{line}} — {{message}}",
|
|
9
16
|
dateformat: "HH:MM:ss.L",
|
|
@@ -12,11 +19,11 @@ export const log = tracer.colorConsole({
|
|
|
12
19
|
}
|
|
13
20
|
});
|
|
14
21
|
/** Set log level at runtime (e.g. via plugin parameter) */
|
|
15
|
-
|
|
22
|
+
function setLogLevel(level) {
|
|
16
23
|
const validLevels = ["log", "trace", "debug", "info", "warn", "error"];
|
|
17
24
|
if (validLevels.includes(level)) {
|
|
18
25
|
;
|
|
19
|
-
log.setLevel(level);
|
|
26
|
+
exports.log.setLevel(level);
|
|
20
27
|
}
|
|
21
28
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQWdCQSxrQ0FLQztBQXJCRCxvREFBMkI7QUFFM0I7OztHQUdHO0FBQ1UsUUFBQSxHQUFHLEdBQUcsZ0JBQU0sQ0FBQyxZQUFZLENBQUM7SUFDckMsS0FBSyxFQUFFLE1BQU07SUFDYixNQUFNLEVBQUUsMkRBQTJEO0lBQ25FLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLFNBQVMsRUFBRSxVQUFVLElBQUk7UUFDdkIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0NBQ0YsQ0FBQyxDQUFBO0FBRUYsMkRBQTJEO0FBQzNELFNBQWdCLFdBQVcsQ0FBQyxLQUFhO0lBQ3ZDLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUN0RSxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNoQyxDQUFDO1FBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMvQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0cmFjZXIgZnJvbSBcInRyYWNlclwiXG5cbi8qKlxuICogUGx1Z2luIGxvZ2dlciDigJQgd3JpdGVzIHRvIHN0ZGVyciBleGNsdXNpdmVseS5cbiAqIHN0ZG91dCBpcyByZXNlcnZlZCBmb3IgdGhlIENvZGVHZW5lcmF0b3JSZXNwb25zZSB3aXJlIHBheWxvYWQuXG4gKi9cbmV4cG9ydCBjb25zdCBsb2cgPSB0cmFjZXIuY29sb3JDb25zb2xlKHtcbiAgbGV2ZWw6IFwiaW5mb1wiLFxuICBmb3JtYXQ6IFwie3t0aW1lc3RhbXB9fSBbe3t0aXRsZX19XSB7e2ZpbGV9fTp7e2xpbmV9fSDigJQge3ttZXNzYWdlfX1cIixcbiAgZGF0ZWZvcm1hdDogXCJISDpNTTpzcy5MXCIsXG4gIHRyYW5zcG9ydDogZnVuY3Rpb24gKGRhdGEpIHtcbiAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShkYXRhLm91dHB1dCArIFwiXFxuXCIpXG4gIH1cbn0pXG5cbi8qKiBTZXQgbG9nIGxldmVsIGF0IHJ1bnRpbWUgKGUuZy4gdmlhIHBsdWdpbiBwYXJhbWV0ZXIpICovXG5leHBvcnQgZnVuY3Rpb24gc2V0TG9nTGV2ZWwobGV2ZWw6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCB2YWxpZExldmVscyA9IFtcImxvZ1wiLCBcInRyYWNlXCIsIFwiZGVidWdcIiwgXCJpbmZvXCIsIFwid2FyblwiLCBcImVycm9yXCJdXG4gIGlmICh2YWxpZExldmVscy5pbmNsdWRlcyhsZXZlbCkpIHtcbiAgICA7KGxvZyBhcyBhbnkpLnNldExldmVsKGxldmVsKVxuICB9XG59XG4iXX0=
|
package/lib/util/names.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.protoNameToRust = protoNameToRust;
|
|
4
|
+
exports.toSnakeCase = toSnakeCase;
|
|
5
|
+
exports.protoFileToRsFile = protoFileToRsFile;
|
|
1
6
|
/**
|
|
2
7
|
* Convert a protobuf fully-qualified name to a Rust-safe identifier (PascalCase struct name).
|
|
3
8
|
* e.g. "my_package.MyMessage" → "MyMessage"
|
|
4
9
|
*/
|
|
5
|
-
|
|
10
|
+
function protoNameToRust(fqn) {
|
|
6
11
|
const parts = fqn.split(".");
|
|
7
12
|
return parts[parts.length - 1];
|
|
8
13
|
}
|
|
@@ -11,7 +16,7 @@ export function protoNameToRust(fqn) {
|
|
|
11
16
|
* e.g. "user_name" → "user_name"
|
|
12
17
|
* Only converts camelCase → snake_case if needed.
|
|
13
18
|
*/
|
|
14
|
-
|
|
19
|
+
function toSnakeCase(name) {
|
|
15
20
|
// Already snake_case in proto, but handle camelCase just in case
|
|
16
21
|
return name.replace(/([a-z])([A-Z])/g, "$1_$2").toLowerCase();
|
|
17
22
|
}
|
|
@@ -21,7 +26,7 @@ export function toSnakeCase(name) {
|
|
|
21
26
|
* e.g. "my_service.proto" with package "example.nested"
|
|
22
27
|
* → "example/nested/my_service.rs"
|
|
23
28
|
*/
|
|
24
|
-
|
|
29
|
+
function protoFileToRsFile(protoFile, packageName) {
|
|
25
30
|
const base = protoFile.replace(/\.proto$/, "");
|
|
26
31
|
const parts = base.split("/");
|
|
27
32
|
const filename = parts[parts.length - 1];
|
|
@@ -35,4 +40,4 @@ export function protoFileToRsFile(protoFile, packageName) {
|
|
|
35
40
|
const dir = packageName.split(".").join("/");
|
|
36
41
|
return `${dir}/${rsBasename}`;
|
|
37
42
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9uYW1lcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUlBLDBDQUdDO0FBT0Qsa0NBR0M7QUFRRCw4Q0FZQztBQXJDRDs7O0dBR0c7QUFDSCxTQUFnQixlQUFlLENBQUMsR0FBVztJQUN6QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzVCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7QUFDaEMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixXQUFXLENBQUMsSUFBWTtJQUN0QyxpRUFBaUU7SUFDakUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO0FBQy9ELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLFNBQWlCLEVBQUUsV0FBb0I7SUFDdkUsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDOUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM3QixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUN4Qyw0QkFBNEI7SUFDNUIsTUFBTSxhQUFhLEdBQUcsUUFBUTtTQUMzQixPQUFPLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDO1NBQ25DLFdBQVcsRUFBRSxDQUFBO0lBQ2hCLE1BQU0sVUFBVSxHQUFHLEdBQUcsYUFBYSxLQUFLLENBQUE7SUFDeEMsSUFBSSxDQUFDLFdBQVc7UUFBRSxPQUFPLFVBQVUsQ0FBQTtJQUNuQyxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM1QyxPQUFPLEdBQUcsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFBO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnZlcnQgYSBwcm90b2J1ZiBmdWxseS1xdWFsaWZpZWQgbmFtZSB0byBhIFJ1c3Qtc2FmZSBpZGVudGlmaWVyIChQYXNjYWxDYXNlIHN0cnVjdCBuYW1lKS5cbiAqIGUuZy4gXCJteV9wYWNrYWdlLk15TWVzc2FnZVwiIOKGkiBcIk15TWVzc2FnZVwiXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm90b05hbWVUb1J1c3QoZnFuOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBwYXJ0cyA9IGZxbi5zcGxpdChcIi5cIilcbiAgcmV0dXJuIHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdXG59XG5cbi8qKlxuICogS2VlcCBzbmFrZV9jYXNlIGZpZWxkIG5hbWUgYXMtaXMgZm9yIFJ1c3Qgc3RydWN0IG1lbWJlcnMuXG4gKiBlLmcuIFwidXNlcl9uYW1lXCIg4oaSIFwidXNlcl9uYW1lXCJcbiAqIE9ubHkgY29udmVydHMgY2FtZWxDYXNlIOKGkiBzbmFrZV9jYXNlIGlmIG5lZWRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvU25ha2VDYXNlKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIC8vIEFscmVhZHkgc25ha2VfY2FzZSBpbiBwcm90bywgYnV0IGhhbmRsZSBjYW1lbENhc2UganVzdCBpbiBjYXNlXG4gIHJldHVybiBuYW1lLnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csIFwiJDFfJDJcIikudG9Mb3dlckNhc2UoKVxufVxuXG4vKipcbiAqIEdlbmVyYXRlIG91dHB1dCAucnMgZmlsZW5hbWUgZm9yIGEgZ2l2ZW4gLnByb3RvIGZpbGUsIG9wdGlvbmFsbHkgcm9vdGVkXG4gKiB1bmRlciBhIGRpcmVjdG9yeSBkZXJpdmVkIGZyb20gdGhlIHByb3RvIHBhY2thZ2UgbmFtZS5cbiAqIGUuZy4gXCJteV9zZXJ2aWNlLnByb3RvXCIgd2l0aCBwYWNrYWdlIFwiZXhhbXBsZS5uZXN0ZWRcIlxuICogICAgICDihpIgXCJleGFtcGxlL25lc3RlZC9teV9zZXJ2aWNlLnJzXCJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3RvRmlsZVRvUnNGaWxlKHByb3RvRmlsZTogc3RyaW5nLCBwYWNrYWdlTmFtZT86IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGJhc2UgPSBwcm90b0ZpbGUucmVwbGFjZSgvXFwucHJvdG8kLywgXCJcIilcbiAgY29uc3QgcGFydHMgPSBiYXNlLnNwbGl0KFwiL1wiKVxuICBjb25zdCBmaWxlbmFtZSA9IHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdXG4gIC8vIFJ1c3QgZmlsZXMgdXNlIHNuYWtlX2Nhc2VcbiAgY29uc3Qgc25ha2VGaWxlbmFtZSA9IGZpbGVuYW1lXG4gICAgLnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csIFwiJDFfJDJcIilcbiAgICAudG9Mb3dlckNhc2UoKVxuICBjb25zdCByc0Jhc2VuYW1lID0gYCR7c25ha2VGaWxlbmFtZX0ucnNgXG4gIGlmICghcGFja2FnZU5hbWUpIHJldHVybiByc0Jhc2VuYW1lXG4gIGNvbnN0IGRpciA9IHBhY2thZ2VOYW1lLnNwbGl0KFwiLlwiKS5qb2luKFwiL1wiKVxuICByZXR1cm4gYCR7ZGlyfS8ke3JzQmFzZW5hbWV9YFxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wireio/protoc-gen-solana",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "protoc plugin generating Rust encode/decode modules from protobuf3 definitions for Solana programs",
|
|
5
5
|
"private": false,
|
|
6
|
-
"type": "
|
|
6
|
+
"type": "commonjs",
|
|
7
7
|
"types": "lib/index.d.ts",
|
|
8
|
-
"
|
|
8
|
+
"main": "dist/bundle/protoc-gen-solana.cjs",
|
|
9
9
|
"bin": {
|
|
10
10
|
"protoc-gen-solana": "dist/bin/protoc-gen-solana"
|
|
11
11
|
},
|
|
@@ -22,8 +22,6 @@
|
|
|
22
22
|
"README.md"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@wireio/protoc-gen-solana": "link:../../../Library/pnpm/global/5/node_modules/@wireio/protoc-gen-solana",
|
|
26
|
-
"@wireio/protoc-gen-solidity": "link:../../../Library/pnpm/global/5/node_modules/@wireio/protoc-gen-solidity",
|
|
27
25
|
"@yao-pkg/pkg": "^6.14.1",
|
|
28
26
|
"protobufjs": "^8.0.0",
|
|
29
27
|
"tracer": "^1.3.0"
|
|
@@ -33,21 +31,24 @@
|
|
|
33
31
|
"esbuild": "^0.27.3",
|
|
34
32
|
"prettier": "^3.8.1",
|
|
35
33
|
"protoc": "^29.6.0",
|
|
36
|
-
"typescript": "^
|
|
34
|
+
"typescript": "^6.0.2"
|
|
37
35
|
},
|
|
38
36
|
"engines": {
|
|
39
37
|
"node": ">=24"
|
|
40
38
|
},
|
|
41
39
|
"scripts": {
|
|
42
|
-
"
|
|
43
|
-
"
|
|
40
|
+
"compile": "tsc -b tsconfig.json",
|
|
41
|
+
"compile:dev": "tsc -b tsconfig.json -w",
|
|
44
42
|
"bundle": "node esbuild.config.js",
|
|
45
43
|
"bundle:dev": "node esbuild.config.js -w",
|
|
46
|
-
"
|
|
47
|
-
"
|
|
44
|
+
"build": "pnpm run compile && pnpm run bundle",
|
|
45
|
+
"build:dev": "concurrently npm:compile:dev npm:bundle:dev",
|
|
46
|
+
"dev": "pnpm run build:dev",
|
|
47
|
+
"dist": "pnpm build && pkg -c package.json --output dist/bin/protoc-gen-solana -d dist/bundle/protoc-gen-solana.cjs",
|
|
48
48
|
"format": "prettier --write \"src/**/*.{ts,tsx}\"",
|
|
49
49
|
"generate:test": "npm run dist && mkdir -p ./dist/tests/generated && npx protoc --plugin=protoc-gen-solana=$PWD/dist/bin/protoc-gen-solana --solana_out=./dist/tests/generated tests/protos/*.proto",
|
|
50
|
-
"postinstall": "
|
|
51
|
-
"clean": "rm -rf lib dist"
|
|
50
|
+
"postinstall": "pnpm run dist",
|
|
51
|
+
"clean": "rm -rf lib dist",
|
|
52
|
+
"test": "jest"
|
|
52
53
|
}
|
|
53
54
|
}
|