@needle-tools/needle-component-compiler 1.9.2-exp → 1.9.2
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/COMPILE.bat +1 -0
- package/Changelog.md +3 -2
- package/DEV.bat +1 -0
- package/INSTALL.bat +1 -0
- package/PUBLISH.bat +8 -0
- package/RUN_MANUAL_TEST.bat +1 -0
- package/RUN_TESTS.bat +1 -0
- package/package.json +12 -17
- package/schemes/MyNew.component.json +1 -0
- package/schemes/MyTest.component.json +1 -0
- package/src/component-compiler.js +6 -3
- package/src/component-compiler.ts +737 -0
- package/src/test.js +24 -26
- package/src/test.ts +234 -0
- package/test/blender/codegen/basic/expected.component.json +4 -0
- package/test/blender/codegen/basic/input.js +26 -0
- package/test/blender/codegen/basic/input.ts +3 -0
- package/test/blender/codegen/basic/output.component.json +1 -0
- package/test/blender/codegen/float field/expected.component.json +8 -0
- package/test/blender/codegen/float field/input.js +28 -0
- package/test/blender/codegen/float field/input.ts +4 -0
- package/test/blender/codegen/float field/output.component.json +1 -0
- package/test/blender/codegen/reference_animation/expected.component.json +7 -0
- package/test/blender/codegen/reference_animation/input.js +35 -0
- package/test/blender/codegen/reference_animation/input.ts +4 -0
- package/test/blender/codegen/reference_animation/output.component.json +1 -0
- package/test/blender/codegen/reference_behaviour/expected.component.json +7 -0
- package/test/blender/codegen/reference_behaviour/input.js +35 -0
- package/test/blender/codegen/reference_behaviour/input.ts +5 -0
- package/test/blender/codegen/reference_behaviour/output.component.json +1 -0
- package/test/component.basic.test.ts +53 -0
- package/test/component.methods.test.ts +185 -0
- package/test/component.nonserialized.test.ts +45 -0
- package/test/component.primitives.test.ts +123 -0
- package/test/csharp/codegen/abstract method/expected.cs +14 -0
- package/test/csharp/codegen/abstract method/input.js +27 -0
- package/test/csharp/codegen/abstract method/input.ts +4 -0
- package/test/csharp/codegen/abstract method/output.cs +14 -0
- package/test/csharp/codegen/basic/expected.cs +13 -0
- package/test/csharp/codegen/basic/input.js +26 -0
- package/test/csharp/codegen/basic/input.ts +2 -0
- package/test/csharp/codegen/basic/output.cs +13 -0
- package/test/csharp/codegen/basic-no-export/expected.cs +0 -0
- package/test/csharp/codegen/basic-no-export/input.js +27 -0
- package/test/csharp/codegen/basic-no-export/input.ts +4 -0
- package/test/csharp/codegen/basic-no-export/output.cs +0 -0
- package/test/csharp/codegen/bool/expected.cs +14 -0
- package/test/csharp/codegen/bool/input.js +26 -0
- package/test/csharp/codegen/bool/input.ts +3 -0
- package/test/csharp/codegen/bool/output.cs +14 -0
- package/test/csharp/codegen/fields with default values/expected.cs +18 -0
- package/test/csharp/codegen/fields with default values/input.js +32 -0
- package/test/csharp/codegen/fields with default values/input.ts +7 -0
- package/test/csharp/codegen/fields with default values/output.cs +18 -0
- package/test/csharp/codegen/method ignore inline type declaration/expected.cs +14 -0
- package/test/csharp/codegen/method ignore inline type declaration/input.js +27 -0
- package/test/csharp/codegen/method ignore inline type declaration/input.ts +3 -0
- package/test/csharp/codegen/method ignore inline type declaration/output.cs +14 -0
- package/test/csharp/codegen/nonserialized ignore field/expected.cs +13 -0
- package/test/csharp/codegen/nonserialized ignore field/input.js +26 -0
- package/test/csharp/codegen/nonserialized ignore field/input.ts +4 -0
- package/test/csharp/codegen/nonserialized ignore field/output.cs +13 -0
- package/test/csharp/codegen/nonserialized on property does not affect method/expected.cs +14 -0
- package/test/csharp/codegen/nonserialized on property does not affect method/input.js +34 -0
- package/test/csharp/codegen/nonserialized on property does not affect method/input.ts +8 -0
- package/test/csharp/codegen/nonserialized on property does not affect method/output.cs +13 -0
- package/test/csharp/codegen/number/expected.cs +14 -0
- package/test/csharp/codegen/number/input.js +26 -0
- package/test/csharp/codegen/number/input.ts +3 -0
- package/test/csharp/codegen/number/output.cs +14 -0
- package/test/csharp/codegen/object/expected.cs +14 -0
- package/test/csharp/codegen/object/input.js +26 -0
- package/test/csharp/codegen/object/input.ts +3 -0
- package/test/csharp/codegen/object/output.cs +14 -0
- package/test/csharp/codegen/private.methods/expected.cs +13 -0
- package/test/csharp/codegen/private.methods/input.js +27 -0
- package/test/csharp/codegen/private.methods/input.ts +3 -0
- package/test/csharp/codegen/private.methods/output.cs +13 -0
- package/test/csharp/codegen/protected.methods/expected.cs +13 -0
- package/test/csharp/codegen/protected.methods/input.js +27 -0
- package/test/csharp/codegen/protected.methods/input.ts +3 -0
- package/test/csharp/codegen/protected.methods/output.cs +13 -0
- package/test/csharp/codegen/public method with args/expected.cs +14 -0
- package/test/csharp/codegen/public method with args/input.js +27 -0
- package/test/csharp/codegen/public method with args/input.ts +3 -0
- package/test/csharp/codegen/public method with args/output.cs +14 -0
- package/test/csharp/codegen/public method with multiple args/expected.cs +14 -0
- package/test/csharp/codegen/public method with multiple args/input.js +27 -0
- package/test/csharp/codegen/public method with multiple args/input.ts +3 -0
- package/test/csharp/codegen/public method with multiple args/output.cs +14 -0
- package/test/csharp/codegen/public.methods/expected.cs +14 -0
- package/test/csharp/codegen/public.methods/input.js +27 -0
- package/test/csharp/codegen/public.methods/input.ts +3 -0
- package/test/csharp/codegen/public.methods/output.cs +14 -0
- package/test/csharp/codegen/static method/expected.cs +13 -0
- package/test/csharp/codegen/static method/input.js +27 -0
- package/test/csharp/codegen/static method/input.ts +3 -0
- package/test/csharp/codegen/static method/output.cs +14 -0
- package/test/csharp/codegen/string/expected.cs +14 -0
- package/test/csharp/codegen/string/input.js +26 -0
- package/test/csharp/codegen/string/input.ts +3 -0
- package/test/csharp/codegen/string/output.cs +14 -0
- package/test/csharp/codegen/stringArray/expected.cs +14 -0
- package/test/csharp/codegen/stringArray/input.js +26 -0
- package/test/csharp/codegen/stringArray/input.ts +3 -0
- package/test/csharp/codegen/stringArray/output.cs +14 -0
- package/test/helpers.ts +72 -0
- package/workspace.code-workspace +11 -11
- package/src/base-compiler.js +0 -404
- package/src/blender-compiler.js +0 -100
- package/src/commands.js +0 -11
- package/src/watcher.js +0 -64
package/COMPILE.bat
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
npm run tsc src/component-compiler
|
package/Changelog.md
CHANGED
|
@@ -4,8 +4,9 @@ All notable changes to this package will be documented in this file.
|
|
|
4
4
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
5
5
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
-
## [1.9.2
|
|
8
|
-
-
|
|
7
|
+
## [1.9.2] - 2022-11-29
|
|
8
|
+
- Fix codegen deleting code added manually outside of codegen sections
|
|
9
|
+
- Fix codegen creating output directory if it does not exist yet
|
|
9
10
|
|
|
10
11
|
## [1.9.1] - 2022-11-05
|
|
11
12
|
- Fix ``new Vector2(1, .5)`` generating invalid C# where number arguments were emitted as double instead of float
|
package/DEV.bat
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
npm install && npm run dev
|
package/INSTALL.bat
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
npm install && timeout 10
|
package/PUBLISH.bat
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
npm run tsc src/component-compiler && node src/component-compiler.js dist src/test.ts
|
package/RUN_TESTS.bat
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
npm run test & pause
|
package/package.json
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@needle-tools/needle-component-compiler",
|
|
3
|
-
"version": "1.9.2
|
|
3
|
+
"version": "1.9.2",
|
|
4
4
|
"description": "Compile mock unity components from typescript",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"tsc": "tsc",
|
|
8
|
-
"dev": "npm-watch compile
|
|
9
|
-
"compile": "tsc",
|
|
8
|
+
"dev": "npm-watch compile",
|
|
9
|
+
"compile" : "tsc",
|
|
10
10
|
"test": "mocha -r ts-node/register test/**.test.ts"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"chokidar": "^3.5.3",
|
|
14
13
|
"typescript": "^4.5.5"
|
|
15
14
|
},
|
|
16
15
|
"devDependencies": {
|
|
@@ -19,21 +18,17 @@
|
|
|
19
18
|
"@types/node": "^18.7.18",
|
|
20
19
|
"chai": "^4.3.6",
|
|
21
20
|
"mocha": "^10.0.0",
|
|
22
|
-
"
|
|
23
|
-
"
|
|
21
|
+
"ts-node": "^10.9.1",
|
|
22
|
+
"npm-watch": "^0.11.0"
|
|
24
23
|
},
|
|
25
24
|
"watch": {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"ignore": "src/test.ts",
|
|
34
|
-
"extensions": "ts",
|
|
35
|
-
"quiet": false
|
|
36
|
-
}
|
|
25
|
+
"compile": {
|
|
26
|
+
"patterns": [
|
|
27
|
+
"src/component-compiler.ts"
|
|
28
|
+
],
|
|
29
|
+
"extensions": "ts",
|
|
30
|
+
"quiet": false
|
|
31
|
+
}
|
|
37
32
|
},
|
|
38
33
|
"author": {
|
|
39
34
|
"name": "Needle",
|
|
@@ -95,9 +95,11 @@ var ExportContext = /** @class */ (function () {
|
|
|
95
95
|
this.textBuffer = CODEGEN_MARKER_START + "\n" + this.textBuffer + "\n" + CODEGEN_MARKER_END;
|
|
96
96
|
var code = this.textBuffer;
|
|
97
97
|
if (this.outputDir !== null) {
|
|
98
|
+
if (!fs.existsSync(this.outputDir))
|
|
99
|
+
fs.mkdirSync(this.outputDir);
|
|
98
100
|
var dir = this.outputDir + "/";
|
|
99
101
|
var path_1 = dir + this.fileName;
|
|
100
|
-
this.replaceGeneratedCodeSection(path_1);
|
|
102
|
+
code = this.replaceGeneratedCodeSection(path_1, code);
|
|
101
103
|
if (allowDebugLogs)
|
|
102
104
|
console.log("Write to " + path_1);
|
|
103
105
|
fs.writeFileSync(path_1, code);
|
|
@@ -109,7 +111,7 @@ var ExportContext = /** @class */ (function () {
|
|
|
109
111
|
this.textBuffer = "";
|
|
110
112
|
this.classEnd = -1;
|
|
111
113
|
};
|
|
112
|
-
ExportContext.prototype.replaceGeneratedCodeSection = function (path) {
|
|
114
|
+
ExportContext.prototype.replaceGeneratedCodeSection = function (path, code) {
|
|
113
115
|
if (fs.existsSync(path)) {
|
|
114
116
|
var existing = fs.readFileSync(path, "utf8");
|
|
115
117
|
var regex = new RegExp("(?<before>.*?)\/\/ ?NEEDLE_CODEGEN_START.+\/\/ ?NEEDLE_CODEGEN_END(?<after>.*)", "s");
|
|
@@ -119,9 +121,10 @@ var ExportContext = /** @class */ (function () {
|
|
|
119
121
|
console.log("Found codegen sections");
|
|
120
122
|
var before_1 = matches.groups.before;
|
|
121
123
|
var after_1 = matches.groups.after;
|
|
122
|
-
|
|
124
|
+
return before_1 + code + after_1;
|
|
123
125
|
}
|
|
124
126
|
}
|
|
127
|
+
return code;
|
|
125
128
|
};
|
|
126
129
|
return ExportContext;
|
|
127
130
|
}());
|