tw-framework 0.2.6__tar.gz → 0.2.7__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 (62) hide show
  1. {tw_framework-0.2.6 → tw_framework-0.2.7}/PKG-INFO +1 -1
  2. {tw_framework-0.2.6 → tw_framework-0.2.7}/pyproject.toml +1 -1
  3. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/cli.py +1 -0
  4. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/compiler.py +21 -3
  5. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework.egg-info/PKG-INFO +1 -1
  6. {tw_framework-0.2.6 → tw_framework-0.2.7}/README.md +0 -0
  7. {tw_framework-0.2.6 → tw_framework-0.2.7}/setup.cfg +0 -0
  8. {tw_framework-0.2.6 → tw_framework-0.2.7}/tests/test_deployment.py +0 -0
  9. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/__init__.py +0 -0
  10. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/adapters/__init__.py +0 -0
  11. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/adapters/cloudflare.py +0 -0
  12. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/adapters/netlify.py +0 -0
  13. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/adapters/vercel.py +0 -0
  14. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/adapters/vercel_functions.py +0 -0
  15. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/advanced_diagnostics.py +0 -0
  16. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/asset_optimizer.py +0 -0
  17. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/ast_nodes.py +0 -0
  18. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/build.py +0 -0
  19. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/build_performance.py +0 -0
  20. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/build_report.py +0 -0
  21. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/code_splitting.py +0 -0
  22. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/common.py +0 -0
  23. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/compiler_stats.py +0 -0
  24. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/dead_code.py +0 -0
  25. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/dependency_graph.py +0 -0
  26. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/deploy.py +0 -0
  27. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/dev.py +0 -0
  28. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/diagnostics.py +0 -0
  29. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/dynamic_imports.py +0 -0
  30. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/error_formatter.py +0 -0
  31. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/framework.py +0 -0
  32. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/hydration.py +0 -0
  33. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/incremental_cache.py +0 -0
  34. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/interpreter.py +0 -0
  35. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/ir.py +0 -0
  36. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/lexer.py +0 -0
  37. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/lowering.py +0 -0
  38. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/parser.py +0 -0
  39. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/partial_rebuild.py +0 -0
  40. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/performance_analyzer.py +0 -0
  41. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/plugin_runtime.py +0 -0
  42. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/production_optimizer.py +0 -0
  43. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/reactivity.py +0 -0
  44. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/render_css.py +0 -0
  45. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/render_html.py +0 -0
  46. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/route_optimizer.py +0 -0
  47. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/router.py +0 -0
  48. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/runtime_model.py +0 -0
  49. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/runtime_values.py +0 -0
  50. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/semantic.py +0 -0
  51. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/server.py +0 -0
  52. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/signature.py +0 -0
  53. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/static_dynamic_auto.py +0 -0
  54. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/streaming.py +0 -0
  55. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/test_build_cli_pytest.py +0 -0
  56. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/tree_shaking.py +0 -0
  57. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework/twm_parser.py +0 -0
  58. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework.egg-info/SOURCES.txt +0 -0
  59. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework.egg-info/dependency_links.txt +0 -0
  60. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework.egg-info/entry_points.txt +0 -0
  61. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework.egg-info/requires.txt +0 -0
  62. {tw_framework-0.2.6 → tw_framework-0.2.7}/tw_framework.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tw-framework
3
- Version: 0.2.6
3
+ Version: 0.2.7
4
4
  Summary: TW framework CLI with create, dev, build, and deploy commands
5
5
  Author: TW Framework
6
6
  Requires-Python: >=3.9
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "tw-framework"
7
- version = "0.2.6"
7
+ version = "0.2.7"
8
8
  description = "TW framework CLI with create, dev, build, and deploy commands"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -27,6 +27,7 @@ theme: system
27
27
  pretty_urls: true
28
28
  search: true
29
29
  modular_pipeline: true
30
+ allow_raw_script: true
30
31
  """,
31
32
  ".env": """SITE_NAME=My TW Site
32
33
  API_TOKEN=change-me
@@ -1136,9 +1136,11 @@ def tokenize(code, allow_inline_scripts=False):
1136
1136
  start_line, start_col = line, col
1137
1137
  word = []
1138
1138
  # Read until whitespace, braces, quotes, or common operators.
1139
- # Exception: a `-` surrounded by alnum chars on both sides is kept as
1140
- # part of the word (kebab-case identifiers like `aria-label`,
1141
- # `data-foo`), since HTML/ARIA attribute names rely on this.
1139
+ # Exceptions kept as part of the word:
1140
+ # - `-` between two alnum chars: kebab-case identifiers like
1141
+ # `aria-label`, `data-foo`.
1142
+ # - `:` right after `on` or `bind`: reactive directives like
1143
+ # `on:click`, `bind:value` (see reactivity.py).
1142
1144
  while i < n:
1143
1145
  ch = code[i]
1144
1146
  if ch in ' \t\r\n{}"\'' or ch in ONE_CHAR_OPS:
@@ -1151,6 +1153,14 @@ def tokenize(code, allow_inline_scripts=False):
1151
1153
  ):
1152
1154
  word.append(advance_one())
1153
1155
  continue
1156
+ if (
1157
+ ch == ":"
1158
+ and "".join(word) in ("on", "bind")
1159
+ and i + 1 < n
1160
+ and (code[i + 1].isalnum() or code[i + 1] == "_")
1161
+ ):
1162
+ word.append(advance_one())
1163
+ continue
1154
1164
  break
1155
1165
  word.append(advance_one())
1156
1166
  word = "".join(word)
@@ -1182,6 +1192,14 @@ def classify_known_prop(name):
1182
1192
  nl = name.lower()
1183
1193
  if nl in ROUTER_KEYS:
1184
1194
  return "router"
1195
+ if (
1196
+ nl.startswith("bind:")
1197
+ or nl.startswith("on:")
1198
+ or nl.startswith("show:")
1199
+ or nl.startswith("tw-")
1200
+ or nl.startswith("tw:")
1201
+ ):
1202
+ return "attr"
1185
1203
  if nl in EVENTS or (nl.startswith("on") and nl[2:] in EVENTS):
1186
1204
  return "event"
1187
1205
  if nl in HTML_ATTRIBUTES or nl.startswith("data-") or nl.startswith("aria-"):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tw-framework
3
- Version: 0.2.6
3
+ Version: 0.2.7
4
4
  Summary: TW framework CLI with create, dev, build, and deploy commands
5
5
  Author: TW Framework
6
6
  Requires-Python: >=3.9
File without changes
File without changes