kasy-cli 1.16.0 → 1.18.0

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 (99) hide show
  1. package/bin/kasy.js +16 -2
  2. package/lib/commands/add.js +52 -19
  3. package/lib/commands/configure.js +548 -0
  4. package/lib/commands/deploy.js +4 -4
  5. package/lib/commands/doctor.js +54 -6
  6. package/lib/commands/favicon.js +4 -4
  7. package/lib/commands/icon.js +5 -5
  8. package/lib/commands/new.js +404 -213
  9. package/lib/commands/remove.js +14 -3
  10. package/lib/commands/run.js +208 -6
  11. package/lib/commands/splash.js +5 -5
  12. package/lib/commands/update.js +9 -9
  13. package/lib/scaffold/CHANGELOG.json +23 -0
  14. package/lib/scaffold/backends/api/patch/README.md +3 -2
  15. package/lib/scaffold/backends/firebase/enable-auth-via-cli.js +108 -0
  16. package/lib/scaffold/backends/firebase/setup-from-scratch.js +44 -5
  17. package/lib/scaffold/backends/supabase/patch/README.md +3 -2
  18. package/lib/scaffold/generate.js +24 -8
  19. package/lib/scaffold/shared/generator-utils.js +52 -8
  20. package/lib/scaffold/shared/post-build.js +113 -31
  21. package/lib/scaffold/shared/template-strings.js +6 -0
  22. package/lib/utils/brand.js +16 -12
  23. package/lib/utils/flutter-run.js +139 -11
  24. package/lib/utils/i18n/messages-en.js +85 -7
  25. package/lib/utils/i18n/messages-es.js +85 -7
  26. package/lib/utils/i18n/messages-pt.js +86 -8
  27. package/lib/utils/ui.js +79 -4
  28. package/package.json +1 -1
  29. package/templates/firebase/README.en.md +18 -8
  30. package/templates/firebase/README.es.md +18 -8
  31. package/templates/firebase/README.md +18 -8
  32. package/templates/firebase/android/app/src/main/kotlin/com/aicrus/firebase/kit/MyWidget.kt +68 -45
  33. package/templates/firebase/android/app/src/main/kotlin/com/aicrus/firebase/kit/MyWidgetReceiver.kt +37 -0
  34. package/templates/firebase/android/app/src/main/kotlin/com/aicrus/firebase/kit/OpenAppAction.kt +26 -0
  35. package/templates/firebase/android/app/src/main/res/drawable/widget_add_button.xml +2 -2
  36. package/templates/firebase/android/app/src/main/res/drawable/widget_gradient_bg.xml +7 -2
  37. package/templates/firebase/android/app/src/main/res/drawable/widget_gradient_inner.xml +6 -6
  38. package/templates/firebase/android/app/src/main/res/drawable/widget_plan_pill_bg.xml +1 -1
  39. package/templates/firebase/android/app/src/main/res/drawable/widget_preview_image.xml +2 -2
  40. package/templates/firebase/android/app/src/main/res/drawable/widget_pro_pill_bg.xml +1 -1
  41. package/templates/firebase/android/app/src/main/res/drawable-hdpi/android12splash.png +0 -0
  42. package/templates/firebase/android/app/src/main/res/drawable-hdpi/splash.png +0 -0
  43. package/templates/firebase/android/app/src/main/res/drawable-mdpi/android12splash.png +0 -0
  44. package/templates/firebase/android/app/src/main/res/drawable-mdpi/splash.png +0 -0
  45. package/templates/firebase/android/app/src/main/res/drawable-night-hdpi/android12splash.png +0 -0
  46. package/templates/firebase/android/app/src/main/res/drawable-night-hdpi/splash.png +0 -0
  47. package/templates/firebase/android/app/src/main/res/drawable-night-mdpi/android12splash.png +0 -0
  48. package/templates/firebase/android/app/src/main/res/drawable-night-mdpi/splash.png +0 -0
  49. package/templates/firebase/android/app/src/main/res/drawable-night-xhdpi/android12splash.png +0 -0
  50. package/templates/firebase/android/app/src/main/res/drawable-night-xhdpi/splash.png +0 -0
  51. package/templates/firebase/android/app/src/main/res/drawable-night-xxhdpi/android12splash.png +0 -0
  52. package/templates/firebase/android/app/src/main/res/drawable-night-xxhdpi/splash.png +0 -0
  53. package/templates/firebase/android/app/src/main/res/drawable-night-xxxhdpi/android12splash.png +0 -0
  54. package/templates/firebase/android/app/src/main/res/drawable-night-xxxhdpi/splash.png +0 -0
  55. package/templates/firebase/android/app/src/main/res/drawable-xhdpi/android12splash.png +0 -0
  56. package/templates/firebase/android/app/src/main/res/drawable-xhdpi/splash.png +0 -0
  57. package/templates/firebase/android/app/src/main/res/drawable-xxhdpi/android12splash.png +0 -0
  58. package/templates/firebase/android/app/src/main/res/drawable-xxhdpi/splash.png +0 -0
  59. package/templates/firebase/android/app/src/main/res/drawable-xxxhdpi/android12splash.png +0 -0
  60. package/templates/firebase/android/app/src/main/res/drawable-xxxhdpi/splash.png +0 -0
  61. package/templates/firebase/android/app/src/main/res/layout/widget_preview.xml +3 -3
  62. package/templates/firebase/android/app/src/main/res/values/colors.xml +32 -0
  63. package/templates/firebase/assets/images/splash_logo_dark.png +0 -0
  64. package/templates/firebase/assets/images/splash_logo_dark_android12.png +0 -0
  65. package/templates/firebase/assets/images/splash_logo_light.png +0 -0
  66. package/templates/firebase/assets/images/splash_logo_light_android12.png +0 -0
  67. package/templates/firebase/docs/revenuecat-setup.es.md +28 -8
  68. package/templates/firebase/docs/revenuecat-setup.pt.md +28 -8
  69. package/templates/firebase/ios/HomeWidgetExtension/MyWidget.swift +75 -29
  70. package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png +0 -0
  71. package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png +0 -0
  72. package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png +0 -0
  73. package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark.png +0 -0
  74. package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark@2x.png +0 -0
  75. package/templates/firebase/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark@3x.png +0 -0
  76. package/templates/firebase/ios/Runner/Base.lproj/LaunchScreen.storyboard +1 -1
  77. package/templates/firebase/lib/components/components.dart +1 -0
  78. package/templates/firebase/lib/components/kasy_avatar.dart +65 -17
  79. package/templates/firebase/lib/components/kasy_avatar_presets.dart +121 -97
  80. package/templates/firebase/lib/components/kasy_button.dart +8 -8
  81. package/templates/firebase/lib/components/kasy_date_picker.dart +834 -0
  82. package/templates/firebase/lib/components/kasy_tabs.dart +145 -61
  83. package/templates/firebase/lib/core/home_widgets/home_widget_mywidget_service.dart +45 -53
  84. package/templates/firebase/lib/features/home/home_components_preview_registry.dart +565 -77
  85. package/templates/firebase/lib/features/settings/ui/components/language_switcher.dart +10 -5
  86. package/templates/firebase/lib/i18n/en.i18n.json +2 -1
  87. package/templates/firebase/lib/i18n/es.i18n.json +2 -1
  88. package/templates/firebase/lib/i18n/pt.i18n.json +2 -1
  89. package/templates/firebase/lib/router.dart +15 -1
  90. package/templates/firebase/pubspec.yaml +1 -1
  91. package/templates/firebase/web/index.html +9 -0
  92. package/templates/firebase/web/splash/img/dark-1x.png +0 -0
  93. package/templates/firebase/web/splash/img/dark-2x.png +0 -0
  94. package/templates/firebase/web/splash/img/dark-3x.png +0 -0
  95. package/templates/firebase/web/splash/img/dark-4x.png +0 -0
  96. package/templates/firebase/web/splash/img/light-1x.png +0 -0
  97. package/templates/firebase/web/splash/img/light-2x.png +0 -0
  98. package/templates/firebase/web/splash/img/light-3x.png +0 -0
  99. package/templates/firebase/web/splash/img/light-4x.png +0 -0
@@ -2,7 +2,7 @@ const path = require('node:path');
2
2
  const fs = require('fs-extra');
3
3
  const kleur = require('kleur');
4
4
  const ui = require('../utils/ui');
5
- const { printCompactHeader } = require('../utils/brand');
5
+ const { printCompactHeader, paintLime } = require('../utils/brand');
6
6
  const { createTranslator, detectDefaultLanguage } = require('../utils/i18n');
7
7
  const { inspectPng } = require('./splash');
8
8
  const { runFlutterLauncherIcons } = require('./icon');
@@ -50,7 +50,7 @@ async function runFavicon(projectDir, options = {}) {
50
50
  process.exit(1);
51
51
  }
52
52
 
53
- const inspectSpinner = ui.spinner();
53
+ const inspectSpinner = ui.spinner({ color: paintLime });
54
54
  inspectSpinner.start(t('favicon.validating'));
55
55
 
56
56
  let info;
@@ -81,7 +81,7 @@ async function runFavicon(projectDir, options = {}) {
81
81
 
82
82
  const dest = path.join(projectDir, ASSETS_DIR, FAVICON_NAME);
83
83
 
84
- const copySpinner = ui.spinner();
84
+ const copySpinner = ui.spinner({ color: paintLime });
85
85
  copySpinner.start(t('favicon.copying'));
86
86
  await fs.copy(imagePath, dest, { overwrite: true });
87
87
  copySpinner.stop(t('favicon.copied'));
@@ -92,7 +92,7 @@ async function runFavicon(projectDir, options = {}) {
92
92
  return;
93
93
  }
94
94
 
95
- const genSpinner = ui.spinner();
95
+ const genSpinner = ui.spinner({ color: paintLime });
96
96
  genSpinner.start(t('favicon.generating'));
97
97
  const result = await runFlutterLauncherIcons(projectDir);
98
98
  if (result.ok) {
@@ -4,7 +4,7 @@ const { exec } = require('node:child_process');
4
4
  const { promisify } = require('node:util');
5
5
  const kleur = require('kleur');
6
6
  const ui = require('../utils/ui');
7
- const { printCompactHeader } = require('../utils/brand');
7
+ const { printCompactHeader, paintLime } = require('../utils/brand');
8
8
  const { createTranslator, detectDefaultLanguage } = require('../utils/i18n');
9
9
  const { inspectPng } = require('./splash');
10
10
  const {
@@ -59,7 +59,7 @@ async function runIcon(projectDir, options = {}) {
59
59
  process.exit(1);
60
60
  }
61
61
 
62
- const inspectSpinner = ui.spinner();
62
+ const inspectSpinner = ui.spinner({ color: paintLime });
63
63
  inspectSpinner.start(t('icon.validating'));
64
64
 
65
65
  let info;
@@ -96,12 +96,12 @@ async function runIcon(projectDir, options = {}) {
96
96
  const androidBgDest = path.join(assetsDir, ANDROID_BG_NAME);
97
97
  const androidFgEmptyDest = path.join(assetsDir, ANDROID_FG_EMPTY_NAME);
98
98
 
99
- const copySpinner = ui.spinner();
99
+ const copySpinner = ui.spinner({ color: paintLime });
100
100
  copySpinner.start(t('icon.copying'));
101
101
  await fs.copy(imagePath, dest, { overwrite: true });
102
102
  copySpinner.stop(t('icon.copied'));
103
103
 
104
- const adaptiveSpinner = ui.spinner();
104
+ const adaptiveSpinner = ui.spinner({ color: paintLime });
105
105
  adaptiveSpinner.start(t('icon.adaptive.generating'));
106
106
  let adaptiveInfo;
107
107
  try {
@@ -126,7 +126,7 @@ async function runIcon(projectDir, options = {}) {
126
126
  return;
127
127
  }
128
128
 
129
- const genSpinner = ui.spinner();
129
+ const genSpinner = ui.spinner({ color: paintLime });
130
130
  genSpinner.start(t('icon.generating'));
131
131
  const result = await runFlutterLauncherIcons(projectDir);
132
132
  if (result.ok) {