@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.
Files changed (112) hide show
  1. package/COMPILE.bat +1 -0
  2. package/Changelog.md +3 -2
  3. package/DEV.bat +1 -0
  4. package/INSTALL.bat +1 -0
  5. package/PUBLISH.bat +8 -0
  6. package/RUN_MANUAL_TEST.bat +1 -0
  7. package/RUN_TESTS.bat +1 -0
  8. package/package.json +12 -17
  9. package/schemes/MyNew.component.json +1 -0
  10. package/schemes/MyTest.component.json +1 -0
  11. package/src/component-compiler.js +6 -3
  12. package/src/component-compiler.ts +737 -0
  13. package/src/test.js +24 -26
  14. package/src/test.ts +234 -0
  15. package/test/blender/codegen/basic/expected.component.json +4 -0
  16. package/test/blender/codegen/basic/input.js +26 -0
  17. package/test/blender/codegen/basic/input.ts +3 -0
  18. package/test/blender/codegen/basic/output.component.json +1 -0
  19. package/test/blender/codegen/float field/expected.component.json +8 -0
  20. package/test/blender/codegen/float field/input.js +28 -0
  21. package/test/blender/codegen/float field/input.ts +4 -0
  22. package/test/blender/codegen/float field/output.component.json +1 -0
  23. package/test/blender/codegen/reference_animation/expected.component.json +7 -0
  24. package/test/blender/codegen/reference_animation/input.js +35 -0
  25. package/test/blender/codegen/reference_animation/input.ts +4 -0
  26. package/test/blender/codegen/reference_animation/output.component.json +1 -0
  27. package/test/blender/codegen/reference_behaviour/expected.component.json +7 -0
  28. package/test/blender/codegen/reference_behaviour/input.js +35 -0
  29. package/test/blender/codegen/reference_behaviour/input.ts +5 -0
  30. package/test/blender/codegen/reference_behaviour/output.component.json +1 -0
  31. package/test/component.basic.test.ts +53 -0
  32. package/test/component.methods.test.ts +185 -0
  33. package/test/component.nonserialized.test.ts +45 -0
  34. package/test/component.primitives.test.ts +123 -0
  35. package/test/csharp/codegen/abstract method/expected.cs +14 -0
  36. package/test/csharp/codegen/abstract method/input.js +27 -0
  37. package/test/csharp/codegen/abstract method/input.ts +4 -0
  38. package/test/csharp/codegen/abstract method/output.cs +14 -0
  39. package/test/csharp/codegen/basic/expected.cs +13 -0
  40. package/test/csharp/codegen/basic/input.js +26 -0
  41. package/test/csharp/codegen/basic/input.ts +2 -0
  42. package/test/csharp/codegen/basic/output.cs +13 -0
  43. package/test/csharp/codegen/basic-no-export/expected.cs +0 -0
  44. package/test/csharp/codegen/basic-no-export/input.js +27 -0
  45. package/test/csharp/codegen/basic-no-export/input.ts +4 -0
  46. package/test/csharp/codegen/basic-no-export/output.cs +0 -0
  47. package/test/csharp/codegen/bool/expected.cs +14 -0
  48. package/test/csharp/codegen/bool/input.js +26 -0
  49. package/test/csharp/codegen/bool/input.ts +3 -0
  50. package/test/csharp/codegen/bool/output.cs +14 -0
  51. package/test/csharp/codegen/fields with default values/expected.cs +18 -0
  52. package/test/csharp/codegen/fields with default values/input.js +32 -0
  53. package/test/csharp/codegen/fields with default values/input.ts +7 -0
  54. package/test/csharp/codegen/fields with default values/output.cs +18 -0
  55. package/test/csharp/codegen/method ignore inline type declaration/expected.cs +14 -0
  56. package/test/csharp/codegen/method ignore inline type declaration/input.js +27 -0
  57. package/test/csharp/codegen/method ignore inline type declaration/input.ts +3 -0
  58. package/test/csharp/codegen/method ignore inline type declaration/output.cs +14 -0
  59. package/test/csharp/codegen/nonserialized ignore field/expected.cs +13 -0
  60. package/test/csharp/codegen/nonserialized ignore field/input.js +26 -0
  61. package/test/csharp/codegen/nonserialized ignore field/input.ts +4 -0
  62. package/test/csharp/codegen/nonserialized ignore field/output.cs +13 -0
  63. package/test/csharp/codegen/nonserialized on property does not affect method/expected.cs +14 -0
  64. package/test/csharp/codegen/nonserialized on property does not affect method/input.js +34 -0
  65. package/test/csharp/codegen/nonserialized on property does not affect method/input.ts +8 -0
  66. package/test/csharp/codegen/nonserialized on property does not affect method/output.cs +13 -0
  67. package/test/csharp/codegen/number/expected.cs +14 -0
  68. package/test/csharp/codegen/number/input.js +26 -0
  69. package/test/csharp/codegen/number/input.ts +3 -0
  70. package/test/csharp/codegen/number/output.cs +14 -0
  71. package/test/csharp/codegen/object/expected.cs +14 -0
  72. package/test/csharp/codegen/object/input.js +26 -0
  73. package/test/csharp/codegen/object/input.ts +3 -0
  74. package/test/csharp/codegen/object/output.cs +14 -0
  75. package/test/csharp/codegen/private.methods/expected.cs +13 -0
  76. package/test/csharp/codegen/private.methods/input.js +27 -0
  77. package/test/csharp/codegen/private.methods/input.ts +3 -0
  78. package/test/csharp/codegen/private.methods/output.cs +13 -0
  79. package/test/csharp/codegen/protected.methods/expected.cs +13 -0
  80. package/test/csharp/codegen/protected.methods/input.js +27 -0
  81. package/test/csharp/codegen/protected.methods/input.ts +3 -0
  82. package/test/csharp/codegen/protected.methods/output.cs +13 -0
  83. package/test/csharp/codegen/public method with args/expected.cs +14 -0
  84. package/test/csharp/codegen/public method with args/input.js +27 -0
  85. package/test/csharp/codegen/public method with args/input.ts +3 -0
  86. package/test/csharp/codegen/public method with args/output.cs +14 -0
  87. package/test/csharp/codegen/public method with multiple args/expected.cs +14 -0
  88. package/test/csharp/codegen/public method with multiple args/input.js +27 -0
  89. package/test/csharp/codegen/public method with multiple args/input.ts +3 -0
  90. package/test/csharp/codegen/public method with multiple args/output.cs +14 -0
  91. package/test/csharp/codegen/public.methods/expected.cs +14 -0
  92. package/test/csharp/codegen/public.methods/input.js +27 -0
  93. package/test/csharp/codegen/public.methods/input.ts +3 -0
  94. package/test/csharp/codegen/public.methods/output.cs +14 -0
  95. package/test/csharp/codegen/static method/expected.cs +13 -0
  96. package/test/csharp/codegen/static method/input.js +27 -0
  97. package/test/csharp/codegen/static method/input.ts +3 -0
  98. package/test/csharp/codegen/static method/output.cs +14 -0
  99. package/test/csharp/codegen/string/expected.cs +14 -0
  100. package/test/csharp/codegen/string/input.js +26 -0
  101. package/test/csharp/codegen/string/input.ts +3 -0
  102. package/test/csharp/codegen/string/output.cs +14 -0
  103. package/test/csharp/codegen/stringArray/expected.cs +14 -0
  104. package/test/csharp/codegen/stringArray/input.js +26 -0
  105. package/test/csharp/codegen/stringArray/input.ts +3 -0
  106. package/test/csharp/codegen/stringArray/output.cs +14 -0
  107. package/test/helpers.ts +72 -0
  108. package/workspace.code-workspace +11 -11
  109. package/src/base-compiler.js +0 -404
  110. package/src/blender-compiler.js +0 -100
  111. package/src/commands.js +0 -11
  112. 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-exp] - 2022-11-12
8
- - Add first version of blender scheme compiler
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,8 @@
1
+ @echo off
2
+ echo Press a key to publish! (close the window if you changed your mind)
3
+ pause
4
+ echo Publishing in 2 sec
5
+ timeout 2
6
+ npm run compile & npm set registry https://registry.npmjs.org && npm publish & pause
7
+ echo Finished...
8
+ timeout 10
@@ -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-exp",
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 || exit 1",
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
- "npm-watch": "^0.11.0",
23
- "ts-node": "^10.9.1"
21
+ "ts-node": "^10.9.1",
22
+ "npm-watch": "^0.11.0"
24
23
  },
25
24
  "watch": {
26
- "compile": {
27
- "patterns": [
28
- "src/base-compiler.ts",
29
- "src/blender-compiler.ts",
30
- "src/component-compiler.ts",
31
- "src/watcher.ts"
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",
@@ -0,0 +1 @@
1
+ {
2
  "MyNew": {
1
3
  }
@@ -0,0 +1 @@
1
+ {
2
  "MyTest": {
1
3
  "myMethod": {
2
4
  "type": "fn"
3
5
  }
4
6
  }
@@ -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
- this.textBuffer = before_1 + this.textBuffer + after_1;
124
+ return before_1 + code + after_1;
123
125
  }
124
126
  }
127
+ return code;
125
128
  };
126
129
  return ExportContext;
127
130
  }());