@jetstart/cli 2.0.0 → 2.0.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 (55) hide show
  1. package/dist/utils/template.d.ts.map +1 -1
  2. package/dist/utils/template.js +5 -4
  3. package/dist/utils/template.js.map +1 -1
  4. package/maven-repo/com/jetstart/hot-reload/com.jetstart.hot-reload.gradle.plugin/maven-metadata.xml +1 -1
  5. package/maven-repo/com/jetstart/hot-reload/com.jetstart.hot-reload.gradle.plugin/maven-metadata.xml.md5 +1 -1
  6. package/maven-repo/com/jetstart/hot-reload/com.jetstart.hot-reload.gradle.plugin/maven-metadata.xml.sha1 +1 -1
  7. package/maven-repo/com/jetstart/hot-reload/com.jetstart.hot-reload.gradle.plugin/maven-metadata.xml.sha256 +1 -1
  8. package/maven-repo/com/jetstart/hot-reload/com.jetstart.hot-reload.gradle.plugin/maven-metadata.xml.sha512 +1 -1
  9. package/maven-repo/com/jetstart/hot-reload-runtime/maven-metadata.xml +1 -1
  10. package/maven-repo/com/jetstart/hot-reload-runtime/maven-metadata.xml.md5 +1 -1
  11. package/maven-repo/com/jetstart/hot-reload-runtime/maven-metadata.xml.sha1 +1 -1
  12. package/maven-repo/com/jetstart/hot-reload-runtime/maven-metadata.xml.sha256 +1 -1
  13. package/maven-repo/com/jetstart/hot-reload-runtime/maven-metadata.xml.sha512 +1 -1
  14. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar +0 -0
  15. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar.md5 +1 -1
  16. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar.sha1 +1 -1
  17. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar.sha256 +1 -1
  18. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.jar.sha512 +1 -1
  19. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module +8 -8
  20. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module.md5 +1 -1
  21. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module.sha1 +1 -1
  22. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module.sha256 +1 -1
  23. package/maven-repo/com/jetstart/jetstart-gradle-plugin/1.0.0/jetstart-gradle-plugin-1.0.0.module.sha512 +1 -1
  24. package/maven-repo/com/jetstart/jetstart-gradle-plugin/maven-metadata.xml +1 -1
  25. package/maven-repo/com/jetstart/jetstart-gradle-plugin/maven-metadata.xml.md5 +1 -1
  26. package/maven-repo/com/jetstart/jetstart-gradle-plugin/maven-metadata.xml.sha1 +1 -1
  27. package/maven-repo/com/jetstart/jetstart-gradle-plugin/maven-metadata.xml.sha256 +1 -1
  28. package/maven-repo/com/jetstart/jetstart-gradle-plugin/maven-metadata.xml.sha512 +1 -1
  29. package/package.json +5 -4
  30. package/scripts/build-java.js +12 -8
  31. package/template/base/README.md +34 -0
  32. package/template/base/app/build.gradle +80 -0
  33. package/template/base/app/proguard-rules.pro +33 -0
  34. package/template/base/app/src/main/AndroidManifest.xml +33 -0
  35. package/template/base/app/src/main/java/__PACKAGE_PATH__/MainActivity.kt +64 -0
  36. package/template/base/app/src/main/java/__PACKAGE_PATH__/data/AppDatabase.kt +46 -0
  37. package/template/base/app/src/main/java/__PACKAGE_PATH__/data/Note.kt +12 -0
  38. package/template/base/app/src/main/java/__PACKAGE_PATH__/data/NoteDao.kt +23 -0
  39. package/template/base/app/src/main/java/__PACKAGE_PATH__/logic/TaggingEngine.kt +26 -0
  40. package/template/base/app/src/main/java/__PACKAGE_PATH__/ui/NotesScreen.kt +185 -0
  41. package/template/base/app/src/main/java/__PACKAGE_PATH__/ui/NotesViewModel.kt +58 -0
  42. package/template/base/app/src/main/java/__PACKAGE_PATH__/ui/TestScreen.kt +12 -0
  43. package/template/base/app/src/main/res/values/colors.xml +10 -0
  44. package/template/base/app/src/main/res/values/strings.xml +4 -0
  45. package/template/base/app/src/main/res/values/themes.xml +9 -0
  46. package/template/base/app/src/main/res/xml/network_security_config.xml +8 -0
  47. package/template/base/app/src/main/res/xml/provider_paths.xml +4 -0
  48. package/template/base/build.gradle +28 -0
  49. package/template/base/gradle/wrapper/gradle-wrapper.jar +0 -0
  50. package/template/base/gradle/wrapper/gradle-wrapper.properties +7 -0
  51. package/template/base/gradle.properties +13 -0
  52. package/template/base/gradlew +248 -0
  53. package/template/base/gradlew.bat +92 -0
  54. package/template/base/jetstart.config.json +11 -0
  55. package/template/base/settings.gradle +20 -0
@@ -1 +1 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AA6P3C;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAoBf"}
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AA8P3C;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAoBf"}
@@ -43,10 +43,11 @@ function buildVariableMap(options) {
43
43
  * same relative traversal works.
44
44
  */
45
45
  function getTemplateDir() {
46
- // __dirname at compile time: packages/cli/dist/utils/
47
- // __dirname at dev time: packages/cli/src/utils/
48
- // Either way, go up 3 levels to packages/, then into template/base/
49
- return path_1.default.resolve(__dirname, '..', '..', '..', 'template', 'base');
46
+ // Published: __dirname = .../node_modules/@jetstart/cli/dist/utils
47
+ // 2 levels up = @jetstart/cli root → template/base ✅
48
+ // Local dev: __dirname = packages/cli/dist/utils or src/utils
49
+ // 2 levels up = packages/cli template/base
50
+ return path_1.default.resolve(__dirname, '..', '..', 'template', 'base');
50
51
  }
51
52
  /**
52
53
  * Known binary/non-text extensions that should be copied without substitution.
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;AA0QH,0DAuBC;AA/RD,gDAAwB;AACxB,wDAA0B;AAC1B,iDAAsC;AAEtC,6CAAmF;AAEnF,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAwB;IAChD,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAEnE,OAAO;QACL,kBAAkB,EAAE,OAAO,CAAC,WAAW;QACvC,kBAAkB,EAAE,OAAO,CAAC,WAAW;QACvC,gBAAgB,EAAE,SAAS;QAC3B,aAAa,EAAE,MAAM,CAAC,8BAAqB,CAAC;QAC5C,gBAAgB,EAAE,MAAM,CAAC,iCAAwB,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;;;;GAMG;AACH,SAAS,cAAc;IACrB,sDAAsD;IACtD,qDAAqD;IACrD,oEAAoE;IACpE,OAAO,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,QAAQ;CACT,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,UAAU,CAAC,QAAgB;IAClC,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAe,EAAE,SAAiC;IAC1E,IAAI,MAAM,GAAG,OAAO,CAAC;IACrB,KAAK,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,sDAAsD;QACtD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,IAAa;IAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,CAAC;IACzB,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;GAEG;AACH,KAAK,UAAU,yBAAyB,CACtC,WAAmB,EACnB,WAAmB,EACnB,SAAiC,EACjC,WAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEhD,sDAAsD;QACtD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAErD,0CAA0C;QAC1C,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE3C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,8BAA8B;YAC9B,MAAM,GAAG,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChD,+DAA+D;YAC/D,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAClE,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,kBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,2BAA2B;YAC3B,MAAM,kBAAE,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,8DAA8D;AAC9D,+EAA+E;AAE/E;;GAEG;AACH,KAAK,UAAU,sBAAsB,CACnC,WAAmB,EACnB,OAAwB;IAExB,MAAM,MAAM,GAAG;QACb,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE;YACR,OAAO,EAAE,OAAO;YAChB,eAAe,EAAE,IAAI;YACrB,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,IAAI;SACX;KACF,CAAC;IAEF,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,qBAAqB,CAAC,WAAmB;IACtD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEzE,MAAM,aAAa,GAAG,IAAA,qBAAK,EAAC,SAAS,EAAE,CAAC,SAAS,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAAE;YAC7E,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,UAAU,CAAC,GAAG,EAAE;YACd,aAAa,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,uBAAuB,CAAC,WAAmB;IACxD,IAAI,cAAkC,CAAC;IAEvC,oCAAoC;IACpC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAE1E,+CAA+C;IAC/C,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG;YAClB,aAAa;YACb,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC;YACxE,kBAAkB;YAClB,+CAA+C;SAChD,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,kBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,cAAc,GAAG,CAAC,CAAC;gBACnB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG;YAClB,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC;YACpD,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC;YAC/D,kBAAkB;SACnB,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,kBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,cAAc,GAAG,CAAC,CAAC;gBACnB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CACV,wGAAwG,CACzG,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG;UACR,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;CAC9C,CAAC;IAEA,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,iDAAiD,cAAc,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;GAOG;AACI,KAAK,UAAU,uBAAuB,CAC3C,WAAmB,EACnB,OAAwB;IAExB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,qCAAqC;IACrC,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,iCAAiC,WAAW,IAAI,GAAG,2CAA2C,CAC/F,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE5C,0EAA0E;IAC1E,MAAM,yBAAyB,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAE1F,4BAA4B;IAC5B,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,6 @@
8
8
  <versions>
9
9
  <version>1.0.0</version>
10
10
  </versions>
11
- <lastUpdated>20260322142608</lastUpdated>
11
+ <lastUpdated>20260322155121</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 9545c779924c447dab204ba8f589eba8
1
+ 0cc20ff682c3562a6282f17395b6e634
@@ -1 +1 @@
1
- 798a5a96fd97d531b9973f3d28441b794771d319
1
+ d1a45ef7a3e264764386c2ae1015ec245c8663b5
@@ -1 +1 @@
1
- 0b90105e6913188541149d4e0604d7dccc195be4103399d071ef2fc4cb25f8fc
1
+ c6c753e28984b67c0b635fa2ac5c2259849ea112e4e9d44861aee910ac37f611
@@ -1 +1 @@
1
- 37530c25902ee91e33c4f4dc32d62662ba72f565ebc0cbd65acec9609ed3fdbde952d3e997ab73743cf6587efe792bc8ef363c679f6954dc4b6001ad7a91f7c5
1
+ cd114e7b117cf607f1eaa322672cd803efc513165bff887e6a0dd6c7a627971c95518107bc5279a1ce73d16a3da008114c00daf5c0704bd45ba3a552841c936a
@@ -8,6 +8,6 @@
8
8
  <versions>
9
9
  <version>1.0.0</version>
10
10
  </versions>
11
- <lastUpdated>20260322142607</lastUpdated>
11
+ <lastUpdated>20260322155120</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 942f2fb72428db7245c3271673a1e375
1
+ cc186f67d06c32373ec97fd622073b07
@@ -1 +1 @@
1
- 96ac63b7d32b1be6475af6295d39e05245bcc952
1
+ c417da0887fe8d43462e743fe0b8e85f19b7cfa3
@@ -1 +1 @@
1
- 9432eb61f866f9822ac4fad5f25306bccbbd193683e4f7d352069a37106f4b46
1
+ 037a8430a4856207dc4381ea49662d8107292c2d24e0407e9114191e765b85e5
@@ -1 +1 @@
1
- 9a6bc5be01bf820baf301bee3caa208a621fa2e1b59464bf4a36f8f6fdc1baae44788a26bdf4f67414f13090e7bb887a7e14ea8f1c5d6141d7c873353807ce48
1
+ a8be936bf9b8faddf18ec890b91781dddf4b5728c0d332134426983ce444723018e36c61940b8a34eb7261cbcf4a541df2c6eb1650a90237f97173d49ad47124
@@ -1 +1 @@
1
- 9d50239e1f51ad7208ade86a29dd8a4d
1
+ 4ecb99d6edbdaf2960600c1563cf100f
@@ -1 +1 @@
1
- a4a94f60f1a071df8151cab94af1594fbcc8e064
1
+ bf54cf2e3883c163ce95e0ec30e549f7f474393e
@@ -1 +1 @@
1
- 44751f01e04842477292c78227d60e756e38f61f2054d09b86ecb49df20affa1
1
+ 518f98f1ed99f4e1da289d9733a0efa17dfc0f170842391caa5f0554f4c1d818
@@ -1 +1 @@
1
- 4da2371f076c80064c072de8f367a27b7c3f246e37384d3453f42a93b991eff68fce5a9375732c85f345de7392cc56ce7fc784c74a2bc04440e5ed125e37f2f6
1
+ 8fe4c9bffb4538338fbd574599c7b53a9e9952841bcee9233851982c6afa929851dc5bfa0330c7f35abd36ece6e8d4763939658e06fbdb746bc036620051f9b1
@@ -39,10 +39,10 @@
39
39
  "name": "jetstart-gradle-plugin-1.0.0.jar",
40
40
  "url": "jetstart-gradle-plugin-1.0.0.jar",
41
41
  "size": 19006,
42
- "sha512": "4da2371f076c80064c072de8f367a27b7c3f246e37384d3453f42a93b991eff68fce5a9375732c85f345de7392cc56ce7fc784c74a2bc04440e5ed125e37f2f6",
43
- "sha256": "44751f01e04842477292c78227d60e756e38f61f2054d09b86ecb49df20affa1",
44
- "sha1": "a4a94f60f1a071df8151cab94af1594fbcc8e064",
45
- "md5": "9d50239e1f51ad7208ade86a29dd8a4d"
42
+ "sha512": "8fe4c9bffb4538338fbd574599c7b53a9e9952841bcee9233851982c6afa929851dc5bfa0330c7f35abd36ece6e8d4763939658e06fbdb746bc036620051f9b1",
43
+ "sha256": "518f98f1ed99f4e1da289d9733a0efa17dfc0f170842391caa5f0554f4c1d818",
44
+ "sha1": "bf54cf2e3883c163ce95e0ec30e549f7f474393e",
45
+ "md5": "4ecb99d6edbdaf2960600c1563cf100f"
46
46
  }
47
47
  ]
48
48
  },
@@ -92,10 +92,10 @@
92
92
  "name": "jetstart-gradle-plugin-1.0.0.jar",
93
93
  "url": "jetstart-gradle-plugin-1.0.0.jar",
94
94
  "size": 19006,
95
- "sha512": "4da2371f076c80064c072de8f367a27b7c3f246e37384d3453f42a93b991eff68fce5a9375732c85f345de7392cc56ce7fc784c74a2bc04440e5ed125e37f2f6",
96
- "sha256": "44751f01e04842477292c78227d60e756e38f61f2054d09b86ecb49df20affa1",
97
- "sha1": "a4a94f60f1a071df8151cab94af1594fbcc8e064",
98
- "md5": "9d50239e1f51ad7208ade86a29dd8a4d"
95
+ "sha512": "8fe4c9bffb4538338fbd574599c7b53a9e9952841bcee9233851982c6afa929851dc5bfa0330c7f35abd36ece6e8d4763939658e06fbdb746bc036620051f9b1",
96
+ "sha256": "518f98f1ed99f4e1da289d9733a0efa17dfc0f170842391caa5f0554f4c1d818",
97
+ "sha1": "bf54cf2e3883c163ce95e0ec30e549f7f474393e",
98
+ "md5": "4ecb99d6edbdaf2960600c1563cf100f"
99
99
  }
100
100
  ]
101
101
  }
@@ -1 +1 @@
1
- 9b2e8c75ef8730034c33b70d0219986b
1
+ a342b7278beb0dc55d876963416739a5
@@ -1 +1 @@
1
- eeb495b5b76ba7fed7d427ccb8c9efc832a5c894
1
+ cca2ad84c719283621076e287bef74b64b72cf80
@@ -1 +1 @@
1
- df42188bf6977842ea0f0255cf03222c79e5e0a967eb47cdd28f8b299fa19dd5
1
+ 2e1848a4bda7d5e74003c7edb9b0fd2a91da314b5d698ec6a373ede744401e95
@@ -1 +1 @@
1
- d2639b670e4cf17ca0a72f9f812af6710b8572537aeb52821f6832d8fa5ef6a9834ef370e011930ac85c2e07d0577dd1dec1ea3b7d9946d50485a0162cd94a4d
1
+ fcc731791ceddfa3b3eaff5769b163f4a84b2b287284f228f65cd89402b837cb7b974d73e828d7a9afc311a3a9ffc5af61e63b65d9c9528bb22b424708aac277
@@ -8,6 +8,6 @@
8
8
  <versions>
9
9
  <version>1.0.0</version>
10
10
  </versions>
11
- <lastUpdated>20260322142608</lastUpdated>
11
+ <lastUpdated>20260322155121</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 4a68985d9c33989dbc0f5ceb21e2bc1c
1
+ 3b612eac7357703b7ce91ce3a9303333
@@ -1 +1 @@
1
- 7cbb1b7b3d8ecf1780431d67f2a0d6790c7f2b36
1
+ 6a905931700bedee124e58743f63c2e783a26dbc
@@ -1 +1 @@
1
- dbfc7b2434c68d32d90f57eaa0fa15b8d8781869a13a054597674bf23d064fc4
1
+ bb630df9e60e88259b9e590f695cea99600ab2defd3d38bd7ffe290c7ae261cd
@@ -1 +1 @@
1
- 428ff0c9b47d9b5189f28b4b759a34442aa128605c524b2744e5687b3afdb7bdba5d867fd07c5f27cb034fb3cc0d4949f5c5b717542afd703892b4f7a59c7889
1
+ 66bb6ec8ebce912ee3a3db1066d54d94deabb54c948ab4c0e21ed28c2a3d304fdea7abf2434de4cdab83432fd0eae34291ac54e48df0d00b17fd814b2c959207
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jetstart/cli",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "Command-line interface for JetStart",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -30,7 +30,8 @@
30
30
  "bin",
31
31
  "dist",
32
32
  "maven-repo",
33
- "scripts"
33
+ "scripts",
34
+ "template"
34
35
  ],
35
36
  "author": "Phantom",
36
37
  "license": "MIT",
@@ -44,8 +45,8 @@
44
45
  },
45
46
  "homepage": "https://github.com/dev-phantom/jetstart#readme",
46
47
  "dependencies": {
47
- "@jetstart/core": "^2.0.0",
48
- "@jetstart/shared": "^2.0.0",
48
+ "@jetstart/core": "^2.0.2",
49
+ "@jetstart/shared": "^2.0.2",
49
50
  "axios": "^1.6.2",
50
51
  "chalk": "^4.1.2",
51
52
  "commander": "^11.1.0",
@@ -3,28 +3,32 @@ const os = require('os');
3
3
  const path = require('path');
4
4
 
5
5
  const isWin = os.platform() === 'win32';
6
- const gradlew = isWin ? '..\\\\template\\\\base\\\\gradlew.bat' : '../template/base/gradlew';
6
+
7
+ // __dirname = packages/cli/scripts → ../template/base/gradlew[.bat]
8
+ const gradlewAbs = isWin
9
+ ? path.resolve(__dirname, '..', 'template', 'base', 'gradlew.bat')
10
+ : path.resolve(__dirname, '..', 'template', 'base', 'gradlew');
7
11
 
8
12
  console.log('Building and publishing Java packages locally...');
9
13
 
10
14
  try {
11
15
  if (!isWin) {
12
- execSync(`chmod +x ${gradlew}`, { cwd: path.resolve(__dirname, '../../hot-reload-runtime') });
16
+ execSync(`chmod +x "${gradlewAbs}"`);
13
17
  }
14
- console.log('\\n[1/2] Publishing hot-reload-runtime...');
15
- execSync(`${gradlew} publish`, {
18
+ console.log('\n[1/2] Publishing hot-reload-runtime...');
19
+ execSync(`"${gradlewAbs}" publish`, {
16
20
  cwd: path.resolve(__dirname, '../../hot-reload-runtime'),
17
21
  stdio: 'inherit'
18
22
  });
19
23
 
20
- console.log('\\n[2/2] Publishing gradle-plugin...');
21
- execSync(`${gradlew} publish`, {
24
+ console.log('\n[2/2] Publishing gradle-plugin...');
25
+ execSync(`"${gradlewAbs}" publish`, {
22
26
  cwd: path.resolve(__dirname, '../../gradle-plugin'),
23
27
  stdio: 'inherit'
24
28
  });
25
29
 
26
- console.log('\\nSuccessfully bundled Java dependencies into packages/cli/maven-repo!');
30
+ console.log('\nSuccessfully bundled Java dependencies into packages/cli/maven-repo!');
27
31
  } catch (error) {
28
- console.error('\\nFailed to build Java packages:', error.message);
32
+ console.error('\nFailed to build Java packages:', error.message);
29
33
  process.exit(1);
30
34
  }
@@ -0,0 +1,34 @@
1
+ # {{PROJECT_NAME}}
2
+
3
+ A JetStart project with Kotlin and Jetpack Compose.
4
+
5
+ ## Getting Started
6
+
7
+ ```bash
8
+ # Start development server
9
+ jetstart dev
10
+
11
+ # Build production APK
12
+ jetstart build
13
+
14
+ # View logs
15
+ jetstart logs
16
+ ```
17
+
18
+ ## Project Structure
19
+
20
+ ```
21
+ {{PROJECT_NAME}}/
22
+ ├── app/
23
+ │ └── src/
24
+ │ └── main/
25
+ │ ├── java/ # Kotlin source files
26
+ │ └── res/ # Resources
27
+ ├── jetstart.config.json # JetStart configuration
28
+ └── build.gradle # Gradle build file
29
+ ```
30
+
31
+ ## Learn More
32
+
33
+ - [JetStart Documentation](https://github.com/phantom/jetstart)
34
+ - [Jetpack Compose](https://developer.android.com/jetpack/compose)
@@ -0,0 +1,80 @@
1
+ plugins {
2
+ id 'com.android.application'
3
+ id 'org.jetbrains.kotlin.android'
4
+ id 'com.google.devtools.ksp'
5
+ id 'com.jetstart.hot-reload' version '1.0.0' // True hot reload instrumentation
6
+ id 'org.jetbrains.kotlin.plugin.compose'
7
+ }
8
+
9
+ android {
10
+ namespace '{{PACKAGE_NAME}}'
11
+ compileSdk 34
12
+
13
+ defaultConfig {
14
+ applicationId "{{PACKAGE_NAME}}"
15
+ minSdk 24
16
+ targetSdk 34
17
+ versionCode 1
18
+ versionName "1.0.0"
19
+
20
+ // JetStart injected fields
21
+ buildConfigField "String", "JETSTART_SERVER_URL", "\"\"" // injected by: jetstart dev
22
+ buildConfigField "String", "JETSTART_SESSION_ID", "\"\"" // injected by: jetstart dev
23
+ // End JetStart fields
24
+ }
25
+
26
+ buildTypes {
27
+ debug {
28
+ debuggable true
29
+ }
30
+ release {
31
+ debuggable false
32
+ minifyEnabled true
33
+ shrinkResources true
34
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
35
+ // Signing config is injected by `jetstart build --sign` via keystore.properties
36
+ }
37
+ }
38
+
39
+ compileOptions {
40
+ sourceCompatibility JavaVersion.VERSION_17
41
+ targetCompatibility JavaVersion.VERSION_17
42
+ }
43
+
44
+ kotlinOptions {
45
+ jvmTarget = '17'
46
+ }
47
+
48
+ buildFeatures {
49
+ compose true
50
+ buildConfig true // Required for JetStart hot reload
51
+ }
52
+
53
+
54
+ }
55
+
56
+ dependencies {
57
+ implementation 'androidx.core:core-ktx:1.12.0'
58
+ implementation 'androidx.appcompat:appcompat:1.6.1'
59
+ implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.2'
60
+ implementation 'androidx.activity:activity-compose:1.8.1'
61
+ implementation platform('androidx.compose:compose-bom:2023.10.01')
62
+ implementation 'androidx.compose.ui:ui'
63
+ implementation 'androidx.compose.ui:ui-graphics'
64
+ implementation 'androidx.compose.ui:ui-tooling-preview'
65
+ implementation 'androidx.compose.material3:material3'
66
+
67
+ // Room
68
+ implementation 'androidx.room:room-runtime:2.6.1'
69
+ implementation 'androidx.room:room-ktx:2.6.1'
70
+ ksp 'androidx.room:room-compiler:2.6.1'
71
+
72
+ // Gson
73
+ implementation 'com.google.code.gson:gson:2.10.1'
74
+
75
+ // JetStart Hot Reload Runtime
76
+ implementation 'com.jetstart:hot-reload-runtime:1.0.0'
77
+
78
+ implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2"
79
+
80
+ }
@@ -0,0 +1,33 @@
1
+ # JetStart default ProGuard/R8 rules
2
+ # Add your project-specific rules at the bottom.
3
+ # Kotlin
4
+ -keep class kotlin.** { *; }
5
+ -keepclassmembers class **$WhenMappings { <fields>; }
6
+ -dontwarn kotlin.**
7
+ # Jetpack Compose
8
+ -keep class androidx.compose.** { *; }
9
+ -keepclassmembers class androidx.compose.** { *; }
10
+ -dontwarn androidx.compose.**
11
+ # Room
12
+ -keep class * extends androidx.room.RoomDatabase { *; }
13
+ -keep @androidx.room.Entity class * { *; }
14
+ -keep @androidx.room.Dao class * { *; }
15
+ -dontwarn androidx.room.**
16
+ # Gson (JSON serialization)
17
+ -keepclassmembers class * {
18
+ @com.google.gson.annotations.SerializedName <fields>;
19
+ }
20
+ -keep class * implements com.google.gson.TypeAdapterFactory { *; }
21
+ # OkHttp + WebSocket
22
+ # Only used by HotReload (debug only). R8 strips the entire
23
+ # HotReload code path in release builds via BuildConfig.DEBUG = false.
24
+ -dontwarn okhttp3.**
25
+ -dontwarn okio.**
26
+ # DivKit
27
+ -keep class com.yandex.div.** { *; }
28
+ -dontwarn com.yandex.div.**
29
+ # Enum names (required for serialization)
30
+ -keepclassmembers enum * { *; }
31
+ # App data classes used by Room
32
+ -keep class {{PACKAGE_NAME}}.data.** { *; }
33
+ # Add your own keep rules below this line
@@ -0,0 +1,33 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android">
3
+
4
+ <uses-permission android:name="android.permission.INTERNET" />
5
+ <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
6
+
7
+ <application
8
+ android:allowBackup="true"
9
+ android:label="@string/app_name"
10
+ android:theme="@style/Theme.{{THEME_NAME}}"
11
+ android:networkSecurityConfig="@xml/network_security_config">
12
+
13
+ <provider
14
+ android:name="androidx.core.content.FileProvider"
15
+ android:authorities="${applicationId}.fileprovider"
16
+ android:exported="false"
17
+ android:grantUriPermissions="true">
18
+ <meta-data
19
+ android:name="android.support.FILE_PROVIDER_PATHS"
20
+ android:resource="@xml/provider_paths" />
21
+ </provider>
22
+
23
+ <activity
24
+ android:name=".MainActivity"
25
+ android:exported="true">
26
+ <intent-filter>
27
+ <action android:name="android.intent.action.MAIN" />
28
+ <category android:name="android.intent.category.LAUNCHER" />
29
+ </intent-filter>
30
+ </activity>
31
+ </application>
32
+
33
+ </manifest>
@@ -0,0 +1,64 @@
1
+ package {{PACKAGE_NAME}}
2
+
3
+ import android.os.Bundle
4
+ import androidx.appcompat.app.AppCompatActivity
5
+ import androidx.activity.compose.setContent
6
+ import androidx.compose.foundation.layout.*
7
+ import androidx.compose.material3.*
8
+ import androidx.compose.runtime.*
9
+ import androidx.compose.ui.Alignment
10
+ import androidx.compose.ui.Modifier
11
+ import androidx.compose.ui.unit.dp
12
+ import {{PACKAGE_NAME}}.ui.NotesScreen
13
+ import com.jetstart.hotreload.HotReload
14
+
15
+ class MainActivity : AppCompatActivity() {
16
+ override fun onCreate(savedInstanceState: Bundle?) {
17
+ super.onCreate(savedInstanceState)
18
+
19
+ // Hot reload is ONLY active in debug builds.
20
+ // In release builds this block is completely eliminated by R8 (BuildConfig.DEBUG = false).
21
+ if (BuildConfig.DEBUG) {
22
+ try {
23
+ val serverUrl = BuildConfig.JETSTART_SERVER_URL
24
+ val sessionId = BuildConfig.JETSTART_SESSION_ID
25
+ if (serverUrl.isNotEmpty()) {
26
+ HotReload.connect(this, serverUrl, sessionId)
27
+ }
28
+ } catch (e: Exception) {
29
+ android.util.Log.w("MainActivity", "Hot reload not configured: ${e.message}")
30
+ }
31
+ }
32
+
33
+ setContent {
34
+ MaterialTheme {
35
+ Surface(
36
+ modifier = Modifier.fillMaxSize(),
37
+ color = MaterialTheme.colorScheme.background
38
+ ) {
39
+ // Observe reload version - forces recomposition when DEX hot reload happens
40
+ val reloadVersion by HotReload.reloadVersion.collectAsState()
41
+
42
+ // Use reloadVersion as key to force recomposition of entire tree
43
+ key(reloadVersion) {
44
+ // Normal mode: render actual Compose code
45
+ AppContent()
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }
51
+
52
+ override fun onDestroy() {
53
+ super.onDestroy()
54
+ if (BuildConfig.DEBUG) { HotReload.disconnect() }
55
+ }
56
+ }
57
+
58
+ /**
59
+ * Main App Content
60
+ */
61
+ @Composable
62
+ fun AppContent() {
63
+ NotesScreen()
64
+ }
@@ -0,0 +1,46 @@
1
+ package {{PACKAGE_NAME}}.data
2
+
3
+ import android.content.Context
4
+ import androidx.room.Database
5
+ import androidx.room.Room
6
+ import androidx.room.RoomDatabase
7
+ import androidx.room.TypeConverter
8
+ import androidx.room.TypeConverters
9
+ import com.google.gson.Gson
10
+ import com.google.gson.reflect.TypeToken
11
+
12
+ @Database(entities = [Note::class], version = 1, exportSchema = false)
13
+ @TypeConverters(Converters::class)
14
+ abstract class AppDatabase : RoomDatabase() {
15
+ abstract fun noteDao(): NoteDao
16
+
17
+ companion object {
18
+ @Volatile
19
+ private var INSTANCE: AppDatabase? = null
20
+
21
+ fun getDatabase(context: Context): AppDatabase {
22
+ return INSTANCE ?: synchronized(this) {
23
+ val instance = Room.databaseBuilder(
24
+ context.applicationContext,
25
+ AppDatabase::class.java,
26
+ "note_database"
27
+ ).build()
28
+ INSTANCE = instance
29
+ instance
30
+ }
31
+ }
32
+ }
33
+ }
34
+
35
+ class Converters {
36
+ @TypeConverter
37
+ fun fromString(value: String): List<String> {
38
+ val listType = object : TypeToken<List<String>>() {}.type
39
+ return Gson().fromJson(value, listType)
40
+ }
41
+
42
+ @TypeConverter
43
+ fun fromList(list: List<String>): String {
44
+ return Gson().toJson(list)
45
+ }
46
+ }
@@ -0,0 +1,12 @@
1
+ package {{PACKAGE_NAME}}.data
2
+
3
+ import androidx.room.Entity
4
+ import androidx.room.PrimaryKey
5
+
6
+ @Entity(tableName = "notes")
7
+ data class Note(
8
+ @PrimaryKey(autoGenerate = true) val id: Int = 0,
9
+ val content: String,
10
+ val tags: List<String>,
11
+ val timestamp: Long = System.currentTimeMillis()
12
+ )
@@ -0,0 +1,23 @@
1
+ package {{PACKAGE_NAME}}.data
2
+
3
+ import androidx.room.Dao
4
+ import androidx.room.Delete
5
+ import androidx.room.Insert
6
+ import androidx.room.OnConflictStrategy
7
+ import androidx.room.Query
8
+ import kotlinx.coroutines.flow.Flow
9
+
10
+ @Dao
11
+ interface NoteDao {
12
+ @Query("SELECT * FROM notes ORDER BY timestamp DESC")
13
+ fun getAllNotes(): Flow<List<Note>>
14
+
15
+ @Insert(onConflict = OnConflictStrategy.REPLACE)
16
+ suspend fun insertNote(note: Note)
17
+
18
+ @Delete
19
+ suspend fun deleteNote(note: Note)
20
+
21
+ @Query("SELECT * FROM notes WHERE content LIKE '%' || :query || '%'")
22
+ fun searchNotes(query: String): Flow<List<Note>>
23
+ }
@@ -0,0 +1,26 @@
1
+ package {{PACKAGE_NAME}}.logic
2
+
3
+ class TaggingEngine {
4
+ fun autoTag(content: String): List<String> {
5
+ val tags = mutableListOf<String>()
6
+ val lowerContent = content.lowercase()
7
+
8
+ if (lowerContent.contains("work") || lowerContent.contains("meeting") || lowerContent.contains("job")) {
9
+ tags.add("work")
10
+ }
11
+ if (lowerContent.contains("idea") || lowerContent.contains("concept") || lowerContent.contains("think")) {
12
+ tags.add("idea")
13
+ }
14
+ if (lowerContent.contains("money") || lowerContent.contains("cost") || lowerContent.contains("price") || lowerContent.contains("$") || lowerContent.contains("€")) {
15
+ tags.add("money")
16
+ }
17
+ if (lowerContent.contains("bug") || lowerContent.contains("fix") || lowerContent.contains("error") || lowerContent.contains("crash")) {
18
+ tags.add("bug")
19
+ }
20
+ if (lowerContent.contains("todo") || lowerContent.contains("must") || lowerContent.contains("should")) {
21
+ tags.add("todo")
22
+ }
23
+
24
+ return tags
25
+ }
26
+ }