flet-cli 0.80.6.dev7489__tar.gz → 0.80.6.dev7493__tar.gz

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 (43) hide show
  1. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/PKG-INFO +1 -1
  2. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/pyproject.toml +1 -1
  3. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/build_base.py +76 -34
  4. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/flutter_base.py +26 -9
  5. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/publish.py +4 -3
  6. flet_cli-0.80.6.dev7493/src/flet_cli/version.py +1 -0
  7. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli.egg-info/PKG-INFO +1 -1
  8. flet_cli-0.80.6.dev7489/src/flet_cli/version.py +0 -1
  9. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/README.md +0 -0
  10. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/setup.cfg +0 -0
  11. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/__pyinstaller/__init__.py +0 -0
  12. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/__pyinstaller/config.py +0 -0
  13. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/__pyinstaller/hook-flet.py +0 -0
  14. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/__pyinstaller/macos_utils.py +0 -0
  15. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/__pyinstaller/rthooks/pyi_rth_localhost_fletd.py +0 -0
  16. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/__pyinstaller/utils.py +0 -0
  17. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/__pyinstaller/win_utils.py +0 -0
  18. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/cli.py +0 -0
  19. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/base.py +0 -0
  20. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/build.py +0 -0
  21. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/create.py +0 -0
  22. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/debug.py +0 -0
  23. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/devices.py +0 -0
  24. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/doctor.py +0 -0
  25. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/emulators.py +0 -0
  26. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/options.py +0 -0
  27. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/pack.py +0 -0
  28. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/run.py +0 -0
  29. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/serve.py +0 -0
  30. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/android_sdk.py +0 -0
  31. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/distros.py +0 -0
  32. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/flutter.py +0 -0
  33. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/hash_stamp.py +0 -0
  34. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/jdk.py +0 -0
  35. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/merge.py +0 -0
  36. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/processes.py +0 -0
  37. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/project_dependencies.py +0 -0
  38. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/pyproject_toml.py +0 -0
  39. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli.egg-info/SOURCES.txt +0 -0
  40. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli.egg-info/dependency_links.txt +0 -0
  41. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli.egg-info/entry_points.txt +0 -0
  42. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli.egg-info/requires.txt +0 -0
  43. {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flet-cli
3
- Version: 0.80.6.dev7489
3
+ Version: 0.80.6.dev7493
4
4
  Summary: Flet CLI
5
5
  Author-email: "Appveyor Systems Inc." <hello@flet.dev>
6
6
  License-Expression: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "flet-cli"
3
- version = "0.80.6.dev7489"
3
+ version = "0.80.6.dev7493"
4
4
  description = "Flet CLI"
5
5
  authors = [{ name = "Appveyor Systems Inc.", email = "hello@flet.dev" }]
6
6
  license = "Apache-2.0"
@@ -76,7 +76,7 @@ class BaseBuildCommand(BaseFlutterCommand):
76
76
  "config_platform": "macos",
77
77
  "flutter_build_command": "macos",
78
78
  "status_text": "macOS bundle",
79
- "outputs": ["build/macos/Build/Products/Release/{product_name}.app"],
79
+ "outputs": ["build/macos/Build/Products/Release/{artifact_name}.app"],
80
80
  "dist": "macos",
81
81
  "can_be_run_on": ["Darwin"],
82
82
  },
@@ -241,8 +241,14 @@ class BaseBuildCommand(BaseFlutterCommand):
241
241
  "--project",
242
242
  dest="project_name",
243
243
  required=False,
244
- help="Project name for the executable/bundle. "
245
- "It is used in metadata and bundle IDs",
244
+ help="Project name for bundle IDs and identifiers; used as the default "
245
+ "for artifact and product names",
246
+ )
247
+ parser.add_argument(
248
+ "--artifact",
249
+ dest="artifact_name",
250
+ required=False,
251
+ help="Executable or bundle name on disk",
246
252
  )
247
253
  parser.add_argument(
248
254
  "--description",
@@ -254,8 +260,8 @@ class BaseBuildCommand(BaseFlutterCommand):
254
260
  "--product",
255
261
  dest="product_name",
256
262
  required=False,
257
- help="Display name of the app that is shown in window titles "
258
- "and about app dialogs",
263
+ help="Display name shown in app launchers, window titles, "
264
+ "and about dialogs.",
259
265
  )
260
266
  parser.add_argument(
261
267
  "--org",
@@ -366,7 +372,7 @@ class BaseBuildCommand(BaseFlutterCommand):
366
372
  dest="web_renderer",
367
373
  type=str.lower,
368
374
  choices=["auto", "canvaskit", "skwasm"],
369
- help="Flutter web renderer to use (web only)",
375
+ help="Flutter web renderer to use (web only) [env: FLET_WEB_RENDERER=]",
370
376
  )
371
377
  parser.add_argument(
372
378
  "--route-url-strategy",
@@ -374,7 +380,8 @@ class BaseBuildCommand(BaseFlutterCommand):
374
380
  type=str.lower,
375
381
  choices=["path", "hash"],
376
382
  help="Base URL path to serve the app from. "
377
- "Useful if the app is hosted in a subdirectory (web only)",
383
+ "Useful if the app is hosted in a subdirectory (web only) "
384
+ "[env: FLET_WEB_ROUTE_URL_STRATEGY=]",
378
385
  )
379
386
  parser.add_argument(
380
387
  "--pwa-background-color",
@@ -400,7 +407,8 @@ class BaseBuildCommand(BaseFlutterCommand):
400
407
  dest="no_cdn",
401
408
  action="store_true",
402
409
  default=False,
403
- help="Disable loading of CanvasKit, Pyodide and fonts from CDN",
410
+ help="Disable loading of CanvasKit, Pyodide and fonts from CDN "
411
+ "[env: FLET_WEB_NO_CDN=]",
404
412
  )
405
413
  parser.add_argument(
406
414
  "--split-per-abi",
@@ -529,23 +537,26 @@ class BaseBuildCommand(BaseFlutterCommand):
529
537
  parser.add_argument(
530
538
  "--android-signing-key-store",
531
539
  dest="android_signing_key_store",
532
- help="path to an upload keystore `.jks` file for Android apps",
540
+ help="path to an upload keystore `.jks` file for Android apps "
541
+ "[env: FLET_ANDROID_SIGNING_KEY_STORE=]",
533
542
  )
534
543
  parser.add_argument(
535
544
  "--android-signing-key-store-password",
536
545
  dest="android_signing_key_store_password",
537
- help="Android signing store password",
546
+ help="Android signing store password "
547
+ "[env: FLET_ANDROID_SIGNING_KEY_STORE_PASSWORD=]",
538
548
  )
539
549
  parser.add_argument(
540
550
  "--android-signing-key-password",
541
551
  dest="android_signing_key_password",
542
- help="Android signing key password",
552
+ help="Android signing key password "
553
+ "[env: FLET_ANDROID_SIGNING_KEY_PASSWORD=]",
543
554
  )
544
555
  parser.add_argument(
545
556
  "--android-signing-key-alias",
546
557
  dest="android_signing_key_alias",
547
- default="upload",
548
- help="Android signing key alias",
558
+ default=None,
559
+ help="Android signing key alias [env: FLET_ANDROID_SIGNING_KEY_ALIAS=]",
549
560
  )
550
561
  parser.add_argument(
551
562
  "--build-number",
@@ -704,18 +715,27 @@ class BaseBuildCommand(BaseFlutterCommand):
704
715
  .strip("/")
705
716
  .strip()
706
717
  )
707
- project_name_orig = (
718
+ project_name_raw = (
708
719
  self.options.project_name
709
720
  or self.get_pyproject("project.name")
710
- or self.get_pyproject("tool.poetry.name")
711
721
  or self.python_app_path.name
712
722
  )
713
- project_name_slug = slugify(cast(str, project_name_orig))
723
+ project_name_slug = slugify(cast(str, project_name_raw))
714
724
  project_name = project_name_slug.replace("-", "_")
725
+ artifact_name = (
726
+ self.options.artifact_name
727
+ or self.get_pyproject(f"tool.flet.{self.config_platform}.artifact")
728
+ or self.get_pyproject("tool.flet.artifact")
729
+ or self.options.project_name
730
+ or self.get_pyproject("project.name")
731
+ or self.python_app_path.name
732
+ )
715
733
  product_name = (
716
734
  self.options.product_name
717
735
  or self.get_pyproject("tool.flet.product")
718
- or project_name_orig
736
+ or self.options.project_name
737
+ or self.get_pyproject("project.name")
738
+ or self.python_app_path.name
719
739
  )
720
740
 
721
741
  split_per_abi = (
@@ -947,6 +967,7 @@ class BaseBuildCommand(BaseFlutterCommand):
947
967
  "split_per_abi": split_per_abi,
948
968
  "project_name": project_name,
949
969
  "project_name_slug": project_name_slug,
970
+ "artifact_name": artifact_name,
950
971
  "product_name": product_name,
951
972
  "description": (
952
973
  self.options.description
@@ -988,7 +1009,11 @@ class BaseBuildCommand(BaseFlutterCommand):
988
1009
  "scheme": deep_linking_scheme,
989
1010
  "host": deep_linking_host,
990
1011
  },
991
- "android_signing": self.options.android_signing_key_store is not None,
1012
+ "android_signing": bool(
1013
+ self.options.android_signing_key_store
1014
+ or self.get_pyproject("tool.flet.android.signing.key_store")
1015
+ or os.getenv("FLET_ANDROID_SIGNING_KEY_STORE")
1016
+ ),
992
1017
  },
993
1018
  "flutter": {"dependencies": list(self.flutter_dependencies.keys())},
994
1019
  "pyproject": self.get_pyproject(),
@@ -1264,9 +1289,9 @@ class BaseBuildCommand(BaseFlutterCommand):
1264
1289
  capture_output=self.verbose < 1,
1265
1290
  )
1266
1291
  if icons_result.returncode != 0:
1267
- if icons_result.stdout:
1292
+ if isinstance(icons_result.stdout, str):
1268
1293
  console.log(icons_result.stdout, style=verbose1_style)
1269
- if icons_result.stderr:
1294
+ if isinstance(icons_result.stderr, str):
1270
1295
  console.log(icons_result.stderr, style=error_style)
1271
1296
  self.cleanup(icons_result.returncode)
1272
1297
  console.log(f"Generated app icons {self.emojis['checkmark']}")
@@ -1514,9 +1539,9 @@ class BaseBuildCommand(BaseFlutterCommand):
1514
1539
  capture_output=self.verbose < 1,
1515
1540
  )
1516
1541
  if splash_result.returncode != 0:
1517
- if splash_result.stdout:
1542
+ if isinstance(splash_result.stdout, str):
1518
1543
  console.log(splash_result.stdout, style=verbose1_style)
1519
- if splash_result.stderr:
1544
+ if isinstance(splash_result.stderr, str):
1520
1545
  console.log(splash_result.stderr, style=error_style)
1521
1546
  self.cleanup(splash_result.returncode)
1522
1547
  console.log(f"Generated splash screens {self.emojis['checkmark']}")
@@ -1728,9 +1753,9 @@ class BaseBuildCommand(BaseFlutterCommand):
1728
1753
  )
1729
1754
 
1730
1755
  if package_result.returncode != 0:
1731
- if package_result.stdout:
1756
+ if isinstance(package_result.stdout, str):
1732
1757
  console.log(package_result.stdout, style=verbose1_style)
1733
- if package_result.stderr:
1758
+ if isinstance(package_result.stderr, str):
1734
1759
  console.log(package_result.stderr, style=error_style)
1735
1760
  self.cleanup(package_result.returncode)
1736
1761
 
@@ -1799,6 +1824,7 @@ class BaseBuildCommand(BaseFlutterCommand):
1799
1824
  android_signing_key_store = (
1800
1825
  self.options.android_signing_key_store
1801
1826
  or self.get_pyproject("tool.flet.android.signing.key_store")
1827
+ or os.getenv("FLET_ANDROID_SIGNING_KEY_STORE")
1802
1828
  )
1803
1829
  if android_signing_key_store:
1804
1830
  build_env["FLET_ANDROID_SIGNING_KEY_STORE"] = android_signing_key_store
@@ -1818,16 +1844,31 @@ class BaseBuildCommand(BaseFlutterCommand):
1818
1844
  key_password if key_password else key_store_password
1819
1845
  )
1820
1846
 
1821
- android_signing_key_alias = (
1822
- self.options.android_signing_key_alias
1823
- or self.get_pyproject("tool.flet.android.signing.key_alias")
1824
- )
1825
- if android_signing_key_alias:
1847
+ if android_signing_key_store:
1848
+ android_signing_key_alias = (
1849
+ self.options.android_signing_key_alias
1850
+ or self.get_pyproject("tool.flet.android.signing.key_alias")
1851
+ or os.getenv("FLET_ANDROID_SIGNING_KEY_ALIAS")
1852
+ or "upload"
1853
+ )
1826
1854
  build_env["FLET_ANDROID_SIGNING_KEY_ALIAS"] = android_signing_key_alias
1827
1855
 
1828
- if self.options.flutter_build_args:
1829
- for flutter_build_arg_arr in self.options.flutter_build_args:
1830
- build_args.extend(flutter_build_arg_arr)
1856
+ flutter_build_args = (
1857
+ self.options.flutter_build_args
1858
+ or self.get_pyproject(
1859
+ f"tool.flet.{self.config_platform}.flutter.build_args"
1860
+ )
1861
+ or self.get_pyproject("tool.flet.flutter.build_args")
1862
+ )
1863
+ if flutter_build_args:
1864
+ if isinstance(flutter_build_args, (list, tuple)):
1865
+ for arg in flutter_build_args:
1866
+ if isinstance(arg, (list, tuple)):
1867
+ build_args.extend(arg)
1868
+ elif isinstance(arg, str):
1869
+ build_args.append(arg)
1870
+ elif isinstance(flutter_build_args, str):
1871
+ build_args.append(flutter_build_args)
1831
1872
 
1832
1873
  if self.verbose > 1:
1833
1874
  build_args.append("--verbose")
@@ -1843,9 +1884,9 @@ class BaseBuildCommand(BaseFlutterCommand):
1843
1884
  build_result.returncode != 0
1844
1885
  or "Encountered error while creating the IPA" in str(build_result.stderr)
1845
1886
  ):
1846
- if build_result.stdout:
1887
+ if isinstance(build_result.stdout, str):
1847
1888
  console.log(build_result.stdout, style=verbose1_style)
1848
- if build_result.stderr:
1889
+ if isinstance(build_result.stderr, str):
1849
1890
  console.log(build_result.stderr, style=error_style)
1850
1891
  self.cleanup(build_result.returncode if build_result.returncode else 1)
1851
1892
 
@@ -1878,6 +1919,7 @@ class BaseBuildCommand(BaseFlutterCommand):
1878
1919
  build_output_dir = (
1879
1920
  str(self.flutter_dir.joinpath(build_output))
1880
1921
  .replace("{arch}", arch)
1922
+ .replace("{artifact_name}", self.template_data["artifact_name"])
1881
1923
  .replace("{project_name}", self.template_data["project_name"])
1882
1924
  .replace("{product_name}", self.template_data["product_name"])
1883
1925
  )
@@ -71,7 +71,8 @@ class BaseFlutterCommand(BaseCommand):
71
71
  "--no-rich-output",
72
72
  action="store_true",
73
73
  default=False,
74
- help="Disable rich output and prefer plain text. Useful on Windows builds",
74
+ help="Disable rich output and prefer plain text. Useful on Windows builds "
75
+ "[env: FLET_CLI_NO_RICH_OUTPUT=]",
75
76
  )
76
77
  parser.add_argument(
77
78
  "--yes",
@@ -85,7 +86,8 @@ class BaseFlutterCommand(BaseCommand):
85
86
  "--skip-flutter-doctor",
86
87
  action="store_true",
87
88
  default=False,
88
- help="Skip running Flutter doctor upon failed builds",
89
+ help="Skip running Flutter doctor upon failed builds "
90
+ "[env: FLET_CLI_SKIP_FLUTTER_DOCTOR=]",
89
91
  )
90
92
 
91
93
  def handle(self, options: argparse.Namespace) -> None:
@@ -223,9 +225,9 @@ class BaseFlutterCommand(BaseCommand):
223
225
  capture_output=self.verbose < 1,
224
226
  )
225
227
  if config_result.returncode != 0:
226
- if config_result.stdout:
228
+ if isinstance(config_result.stdout, str):
227
229
  console.log(config_result.stdout, style=verbose1_style)
228
- if config_result.stderr:
230
+ if isinstance(config_result.stderr, str):
229
231
  console.log(config_result.stderr, style=error_style)
230
232
  self.cleanup(config_result.returncode)
231
233
 
@@ -260,9 +262,9 @@ class BaseFlutterCommand(BaseCommand):
260
262
  capture_output=self.verbose < 1,
261
263
  )
262
264
  if config_result.returncode != 0:
263
- if config_result.stdout:
265
+ if isinstance(config_result.stdout, str):
264
266
  console.log(config_result.stdout, style=verbose1_style)
265
- if config_result.stderr:
267
+ if isinstance(config_result.stderr, str):
266
268
  console.log(config_result.stderr, style=error_style)
267
269
  self.cleanup(config_result.returncode)
268
270
 
@@ -310,18 +312,31 @@ class BaseFlutterCommand(BaseCommand):
310
312
  self.live.start()
311
313
 
312
314
  def find_flutter_batch(self, exe_filename: str):
315
+ """Locate the Flutter/Dart executable, preferring the managed SDK install."""
313
316
  assert self.required_flutter_version
317
+
314
318
  install_dir = get_flutter_dir(str(self.required_flutter_version))
315
319
  ext = ".bat" if is_windows() else ""
316
320
  batch_path = os.path.join(install_dir, "bin", f"{exe_filename}{ext}")
321
+
317
322
  if os.path.exists(batch_path):
318
323
  return batch_path
319
324
 
325
+ # Fall back to system-installed executable
320
326
  batch_path = shutil.which(exe_filename)
321
327
  if not batch_path:
322
328
  return None
323
- if is_windows() and batch_path.endswith(".file"):
324
- return batch_path.replace(".file", ".bat")
329
+
330
+ if is_windows():
331
+ # convert shim paths
332
+ if batch_path.endswith(".file"):
333
+ return batch_path.replace(".file", ".bat")
334
+
335
+ # normalize .exe casing
336
+ root, ext = os.path.splitext(batch_path)
337
+ if ext.lower() == ".exe":
338
+ return f"{root}.exe"
339
+
325
340
  return batch_path
326
341
 
327
342
  def run(self, args, cwd, env: Optional[dict] = None, capture_output=True):
@@ -375,8 +390,10 @@ class BaseFlutterCommand(BaseCommand):
375
390
  cwd=os.getcwd(),
376
391
  capture_output=True,
377
392
  )
378
- if flutter_doctor.returncode == 0 and flutter_doctor.stdout:
393
+ if flutter_doctor.stdout:
379
394
  console.log(flutter_doctor.stdout, style=verbose1_style)
395
+ if flutter_doctor.stderr:
396
+ console.log(flutter_doctor.stderr, style=error_style)
380
397
 
381
398
  def update_status(self, status):
382
399
  if self.no_rich_output:
@@ -44,7 +44,7 @@ class Command(BaseCommand):
44
44
  type=str,
45
45
  default=None,
46
46
  help="Path to a directory containing static assets "
47
- "used by the app (e.g., images, fonts, icons)",
47
+ "used by the app (e.g., images, fonts, icons). [env: FLET_ASSETS_DIR=]",
48
48
  )
49
49
  parser.add_argument(
50
50
  "--distpath",
@@ -90,7 +90,7 @@ class Command(BaseCommand):
90
90
  type=str.lower,
91
91
  choices=["auto", "canvaskit", "skwasm"],
92
92
  default="auto",
93
- help="Flutter web renderer to use",
93
+ help="Flutter web renderer to use [env: FLET_WEB_RENDERER=]",
94
94
  )
95
95
  parser.add_argument(
96
96
  "--route-url-strategy",
@@ -98,7 +98,8 @@ class Command(BaseCommand):
98
98
  type=str.lower,
99
99
  choices=["path", "hash"],
100
100
  default="path",
101
- help="Controls how routes are handled in the browser",
101
+ help="Controls how routes are handled in the browser "
102
+ "[env: FLET_WEB_ROUTE_URL_STRATEGY=]",
102
103
  )
103
104
  parser.add_argument(
104
105
  "--pwa-background-color",
@@ -0,0 +1 @@
1
+ version = "0.80.6.dev7493"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flet-cli
3
- Version: 0.80.6.dev7489
3
+ Version: 0.80.6.dev7493
4
4
  Summary: Flet CLI
5
5
  Author-email: "Appveyor Systems Inc." <hello@flet.dev>
6
6
  License-Expression: Apache-2.0
@@ -1 +0,0 @@
1
- version = "0.80.6.dev7489"