pywire 0.1.0__tar.gz → 0.1.1__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 (200) hide show
  1. {pywire-0.1.0 → pywire-0.1.1}/PKG-INFO +23 -1
  2. {pywire-0.1.0 → pywire-0.1.1}/README.md +22 -0
  3. {pywire-0.1.0 → pywire-0.1.1}/pyproject.toml +11 -1
  4. pywire-0.1.0/.github/CODEOWNERS +0 -1
  5. pywire-0.1.0/.github/workflows/ci.yml +0 -80
  6. pywire-0.1.0/.github/workflows/deploy-docs.yml +0 -46
  7. pywire-0.1.0/.github/workflows/publish.yml +0 -25
  8. pywire-0.1.0/docs/.gitignore +0 -21
  9. pywire-0.1.0/docs/.prettierignore +0 -4
  10. pywire-0.1.0/docs/.prettierrc +0 -7
  11. pywire-0.1.0/docs/.vscode/extensions.json +0 -4
  12. pywire-0.1.0/docs/.vscode/launch.json +0 -11
  13. pywire-0.1.0/docs/README.md +0 -49
  14. pywire-0.1.0/docs/astro.config.mjs +0 -39
  15. pywire-0.1.0/docs/eslint.config.js +0 -65
  16. pywire-0.1.0/docs/package.json +0 -36
  17. pywire-0.1.0/docs/pnpm-lock.yaml +0 -5719
  18. pywire-0.1.0/docs/public/favicon.svg +0 -1
  19. pywire-0.1.0/docs/scripts/check +0 -15
  20. pywire-0.1.0/docs/scripts/lint +0 -12
  21. pywire-0.1.0/docs/src/assets/houston.webp +0 -0
  22. pywire-0.1.0/docs/src/content/docs/guides/example.md +0 -11
  23. pywire-0.1.0/docs/src/content/docs/guides/getting-started.md +0 -52
  24. pywire-0.1.0/docs/src/content/docs/guides/walkthrough.md +0 -41
  25. pywire-0.1.0/docs/src/content/docs/index.mdx +0 -38
  26. pywire-0.1.0/docs/src/content/docs/reference/api.md +0 -24
  27. pywire-0.1.0/docs/src/content/docs/reference/example.md +0 -11
  28. pywire-0.1.0/docs/src/content.config.ts +0 -7
  29. pywire-0.1.0/docs/src/styles/custom.css +0 -42
  30. pywire-0.1.0/docs/tsconfig.json +0 -5
  31. pywire-0.1.0/scripts/README.md +0 -10
  32. pywire-0.1.0/scripts/build +0 -11
  33. pywire-0.1.0/scripts/check +0 -28
  34. pywire-0.1.0/scripts/coverage +0 -5
  35. pywire-0.1.0/scripts/docs +0 -5
  36. pywire-0.1.0/scripts/install +0 -14
  37. pywire-0.1.0/scripts/lint +0 -20
  38. pywire-0.1.0/scripts/test +0 -14
  39. pywire-0.1.0/src/pywire/__init__.py +0 -2
  40. pywire-0.1.0/src/pywire/cli/__init__.py +0 -1
  41. pywire-0.1.0/src/pywire/cli/generators.py +0 -48
  42. pywire-0.1.0/src/pywire/cli/main.py +0 -309
  43. pywire-0.1.0/src/pywire/cli/tui.py +0 -563
  44. pywire-0.1.0/src/pywire/cli/validate.py +0 -26
  45. pywire-0.1.0/src/pywire/client/.prettierignore +0 -8
  46. pywire-0.1.0/src/pywire/client/.prettierrc +0 -7
  47. pywire-0.1.0/src/pywire/client/build.mjs +0 -73
  48. pywire-0.1.0/src/pywire/client/eslint.config.js +0 -46
  49. pywire-0.1.0/src/pywire/client/package.json +0 -39
  50. pywire-0.1.0/src/pywire/client/pnpm-lock.yaml +0 -2971
  51. pywire-0.1.0/src/pywire/client/src/core/app.ts +0 -263
  52. pywire-0.1.0/src/pywire/client/src/core/dom-updater.test.ts +0 -78
  53. pywire-0.1.0/src/pywire/client/src/core/dom-updater.ts +0 -321
  54. pywire-0.1.0/src/pywire/client/src/core/index.ts +0 -5
  55. pywire-0.1.0/src/pywire/client/src/core/transport-manager.test.ts +0 -179
  56. pywire-0.1.0/src/pywire/client/src/core/transport-manager.ts +0 -159
  57. pywire-0.1.0/src/pywire/client/src/core/transports/base.ts +0 -122
  58. pywire-0.1.0/src/pywire/client/src/core/transports/http.ts +0 -142
  59. pywire-0.1.0/src/pywire/client/src/core/transports/index.ts +0 -13
  60. pywire-0.1.0/src/pywire/client/src/core/transports/websocket.ts +0 -97
  61. pywire-0.1.0/src/pywire/client/src/core/transports/webtransport.ts +0 -149
  62. pywire-0.1.0/src/pywire/client/src/dev/dev-app.ts +0 -93
  63. pywire-0.1.0/src/pywire/client/src/dev/error-trace.test.ts +0 -97
  64. pywire-0.1.0/src/pywire/client/src/dev/error-trace.ts +0 -76
  65. pywire-0.1.0/src/pywire/client/src/dev/index.ts +0 -4
  66. pywire-0.1.0/src/pywire/client/src/dev/status-overlay.ts +0 -63
  67. pywire-0.1.0/src/pywire/client/src/events/handler.test.ts +0 -318
  68. pywire-0.1.0/src/pywire/client/src/events/handler.ts +0 -454
  69. pywire-0.1.0/src/pywire/client/src/pywire.core.ts +0 -22
  70. pywire-0.1.0/src/pywire/client/src/pywire.dev.ts +0 -27
  71. pywire-0.1.0/src/pywire/client/tsconfig.json +0 -17
  72. pywire-0.1.0/src/pywire/client/vitest.config.ts +0 -15
  73. pywire-0.1.0/src/pywire/compiler/__init__.py +0 -6
  74. pywire-0.1.0/src/pywire/compiler/ast_nodes.py +0 -304
  75. pywire-0.1.0/src/pywire/compiler/attributes/__init__.py +0 -6
  76. pywire-0.1.0/src/pywire/compiler/attributes/base.py +0 -24
  77. pywire-0.1.0/src/pywire/compiler/attributes/conditional.py +0 -37
  78. pywire-0.1.0/src/pywire/compiler/attributes/events.py +0 -55
  79. pywire-0.1.0/src/pywire/compiler/attributes/form.py +0 -37
  80. pywire-0.1.0/src/pywire/compiler/attributes/loop.py +0 -75
  81. pywire-0.1.0/src/pywire/compiler/attributes/reactive.py +0 -34
  82. pywire-0.1.0/src/pywire/compiler/build.py +0 -28
  83. pywire-0.1.0/src/pywire/compiler/build_artifacts.py +0 -342
  84. pywire-0.1.0/src/pywire/compiler/codegen/__init__.py +0 -5
  85. pywire-0.1.0/src/pywire/compiler/codegen/attributes/__init__.py +0 -6
  86. pywire-0.1.0/src/pywire/compiler/codegen/attributes/base.py +0 -19
  87. pywire-0.1.0/src/pywire/compiler/codegen/attributes/events.py +0 -35
  88. pywire-0.1.0/src/pywire/compiler/codegen/directives/__init__.py +0 -6
  89. pywire-0.1.0/src/pywire/compiler/codegen/directives/base.py +0 -16
  90. pywire-0.1.0/src/pywire/compiler/codegen/directives/path.py +0 -53
  91. pywire-0.1.0/src/pywire/compiler/codegen/generator.py +0 -2341
  92. pywire-0.1.0/src/pywire/compiler/codegen/template.py +0 -2178
  93. pywire-0.1.0/src/pywire/compiler/directives/__init__.py +0 -7
  94. pywire-0.1.0/src/pywire/compiler/directives/base.py +0 -20
  95. pywire-0.1.0/src/pywire/compiler/directives/component.py +0 -33
  96. pywire-0.1.0/src/pywire/compiler/directives/context.py +0 -93
  97. pywire-0.1.0/src/pywire/compiler/directives/layout.py +0 -49
  98. pywire-0.1.0/src/pywire/compiler/directives/no_spa.py +0 -24
  99. pywire-0.1.0/src/pywire/compiler/directives/path.py +0 -71
  100. pywire-0.1.0/src/pywire/compiler/directives/props.py +0 -88
  101. pywire-0.1.0/src/pywire/compiler/exceptions.py +0 -19
  102. pywire-0.1.0/src/pywire/compiler/interpolation/__init__.py +0 -6
  103. pywire-0.1.0/src/pywire/compiler/interpolation/base.py +0 -28
  104. pywire-0.1.0/src/pywire/compiler/interpolation/jinja.py +0 -272
  105. pywire-0.1.0/src/pywire/compiler/parser.py +0 -750
  106. pywire-0.1.0/src/pywire/compiler/paths.py +0 -29
  107. pywire-0.1.0/src/pywire/compiler/preprocessor.py +0 -43
  108. pywire-0.1.0/src/pywire/core/wire.py +0 -119
  109. pywire-0.1.0/src/pywire/py.typed +0 -0
  110. pywire-0.1.0/src/pywire/runtime/__init__.py +0 -7
  111. pywire-0.1.0/src/pywire/runtime/aioquic_server.py +0 -194
  112. pywire-0.1.0/src/pywire/runtime/app.py +0 -889
  113. pywire-0.1.0/src/pywire/runtime/compile_error_page.py +0 -195
  114. pywire-0.1.0/src/pywire/runtime/debug.py +0 -203
  115. pywire-0.1.0/src/pywire/runtime/dev_server.py +0 -434
  116. pywire-0.1.0/src/pywire/runtime/dev_server.py.broken +0 -268
  117. pywire-0.1.0/src/pywire/runtime/error_page.py +0 -64
  118. pywire-0.1.0/src/pywire/runtime/error_renderer.py +0 -23
  119. pywire-0.1.0/src/pywire/runtime/escape.py +0 -23
  120. pywire-0.1.0/src/pywire/runtime/files.py +0 -40
  121. pywire-0.1.0/src/pywire/runtime/helpers.py +0 -97
  122. pywire-0.1.0/src/pywire/runtime/http_transport.py +0 -253
  123. pywire-0.1.0/src/pywire/runtime/loader.py +0 -272
  124. pywire-0.1.0/src/pywire/runtime/logging.py +0 -72
  125. pywire-0.1.0/src/pywire/runtime/page.py +0 -384
  126. pywire-0.1.0/src/pywire/runtime/pydantic_integration.py +0 -52
  127. pywire-0.1.0/src/pywire/runtime/router.py +0 -229
  128. pywire-0.1.0/src/pywire/runtime/server.py +0 -25
  129. pywire-0.1.0/src/pywire/runtime/style_collector.py +0 -31
  130. pywire-0.1.0/src/pywire/runtime/upload_manager.py +0 -76
  131. pywire-0.1.0/src/pywire/runtime/validation.py +0 -449
  132. pywire-0.1.0/src/pywire/runtime/websocket.py +0 -665
  133. pywire-0.1.0/src/pywire/runtime/webtransport_handler.py +0 -195
  134. pywire-0.1.0/tests/debug_router.py +0 -18
  135. pywire-0.1.0/tests/test_app_advanced.py +0 -70
  136. pywire-0.1.0/tests/test_app_exhaustive.py +0 -378
  137. pywire-0.1.0/tests/test_app_mode.py +0 -68
  138. pywire-0.1.0/tests/test_app_runtime.py +0 -123
  139. pywire-0.1.0/tests/test_async_features.py +0 -69
  140. pywire-0.1.0/tests/test_codegen_generator.py +0 -172
  141. pywire-0.1.0/tests/test_codegen_template.py +0 -191
  142. pywire-0.1.0/tests/test_codegen_template_exhaustive.py +0 -119
  143. pywire-0.1.0/tests/test_compile_error.py +0 -101
  144. pywire-0.1.0/tests/test_compiler_sourcemap.py +0 -83
  145. pywire-0.1.0/tests/test_comprehensive_python_syntax.py +0 -816
  146. pywire-0.1.0/tests/test_config.py +0 -59
  147. pywire-0.1.0/tests/test_custom_errors.py +0 -41
  148. pywire-0.1.0/tests/test_debug_middleware.py +0 -74
  149. pywire-0.1.0/tests/test_debug_mock.py +0 -22
  150. pywire-0.1.0/tests/test_error_handling_debug.py +0 -80
  151. pywire-0.1.0/tests/test_file_routing.py +0 -245
  152. pywire-0.1.0/tests/test_fixes.py +0 -61
  153. pywire-0.1.0/tests/test_form_validation.py +0 -235
  154. pywire-0.1.0/tests/test_generator_advanced.py +0 -107
  155. pywire-0.1.0/tests/test_generator_exhaustive.py +0 -58
  156. pywire-0.1.0/tests/test_hooks_removal.py +0 -69
  157. pywire-0.1.0/tests/test_http_transport.py +0 -125
  158. pywire-0.1.0/tests/test_inline_compilation.py +0 -41
  159. pywire-0.1.0/tests/test_interactivity_codegen_complex.py +0 -82
  160. pywire-0.1.0/tests/test_interactivity_compiler.py +0 -94
  161. pywire-0.1.0/tests/test_jinja_interpolation.py +0 -74
  162. pywire-0.1.0/tests/test_layouts.py +0 -150
  163. pywire-0.1.0/tests/test_lifecycle_hooks.py +0 -111
  164. pywire-0.1.0/tests/test_logging_stream.py +0 -65
  165. pywire-0.1.0/tests/test_method_binding.py +0 -78
  166. pywire-0.1.0/tests/test_middleware_error.py +0 -66
  167. pywire-0.1.0/tests/test_mode_gating.py +0 -74
  168. pywire-0.1.0/tests/test_naming_conventions.py +0 -121
  169. pywire-0.1.0/tests/test_parser_advanced.py +0 -68
  170. pywire-0.1.0/tests/test_parser_compiler.py +0 -110
  171. pywire-0.1.0/tests/test_pjax_error.py +0 -36
  172. pywire-0.1.0/tests/test_reactive_attributes.py +0 -189
  173. pywire-0.1.0/tests/test_relocation_error.py +0 -85
  174. pywire-0.1.0/tests/test_rendering.py +0 -224
  175. pywire-0.1.0/tests/test_router_exhaustive.py +0 -123
  176. pywire-0.1.0/tests/test_router_expansion.py +0 -72
  177. pywire-0.1.0/tests/test_router_runtime.py +0 -95
  178. pywire-0.1.0/tests/test_runtime_helpers.py +0 -27
  179. pywire-0.1.0/tests/test_script_injection.py +0 -92
  180. pywire-0.1.0/tests/test_server_validation.py +0 -148
  181. pywire-0.1.0/tests/test_static_assets.py +0 -77
  182. pywire-0.1.0/tests/test_strict_routing.py +0 -130
  183. pywire-0.1.0/tests/test_style_collector.py +0 -36
  184. pywire-0.1.0/tests/test_syntax_enforcement.py +0 -66
  185. pywire-0.1.0/tests/test_templating_features.py +0 -83
  186. pywire-0.1.0/tests/test_transport_advanced.py +0 -55
  187. pywire-0.1.0/tests/test_transport_exhaustive.py +0 -216
  188. pywire-0.1.0/tests/test_validation_exhaustive.py +0 -264
  189. pywire-0.1.0/tests/test_websocket_advanced.py +0 -54
  190. pywire-0.1.0/tests/test_websocket_exhaustive.py +0 -228
  191. pywire-0.1.0/tests/test_websocket_handler.py +0 -132
  192. pywire-0.1.0/tests/test_wire_primitive.py +0 -140
  193. pywire-0.1.0/tox.ini +0 -10
  194. pywire-0.1.0/uv.lock +0 -1446
  195. {pywire-0.1.0 → pywire-0.1.1}/.gitignore +0 -0
  196. {pywire-0.1.0 → pywire-0.1.1}/LICENSE +0 -0
  197. {pywire-0.1.0 → pywire-0.1.1}/src/pywire/templates/error/404.html +0 -0
  198. {pywire-0.1.0 → pywire-0.1.1}/src/pywire/templates/error/500.html +0 -0
  199. {pywire-0.1.0 → pywire-0.1.1}/src/pywire/templates/error/base.html +0 -0
  200. {pywire-0.1.0 → pywire-0.1.1}/src/pywire/templates/error/compile_error.html +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pywire
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: HTML-over-the-wire Python web framework
5
5
  Author-email: Reece Holmdahl <reece@pywire.dev>
6
6
  License-File: LICENSE
@@ -35,6 +35,28 @@ Description-Content-Type: text/markdown
35
35
 
36
36
  The core framework for pywire.
37
37
 
38
+ <!-- INSTALL_MESSAGE_TEMPLATE_START -->
39
+ ## 🚀 Quick Start
40
+
41
+ If you already have [uv](https://docs.astral.sh/uv/) installed, you can get started instantly:
42
+
43
+ ```bash
44
+ uvx create-pywire-app
45
+ ```
46
+
47
+ If you don't have `uv` installed or aren't sure, use our installer script which handles the setup for you:
48
+
49
+ ### macOS / Linux
50
+ ```bash
51
+ curl -fsSL pywire.dev/install | sh
52
+ ```
53
+
54
+ ### Windows (PowerShell)
55
+ ```powershell
56
+ irm pywire.dev/install.ps1 | iex
57
+ ```
58
+ <!-- INSTALL_MESSAGE_TEMPLATE_END -->
59
+
38
60
  <!-- SUPPORT_MESSAGE_TEMPLATE_START -->
39
61
  ## ❤️ Support pywire
40
62
 
@@ -2,6 +2,28 @@
2
2
 
3
3
  The core framework for pywire.
4
4
 
5
+ <!-- INSTALL_MESSAGE_TEMPLATE_START -->
6
+ ## 🚀 Quick Start
7
+
8
+ If you already have [uv](https://docs.astral.sh/uv/) installed, you can get started instantly:
9
+
10
+ ```bash
11
+ uvx create-pywire-app
12
+ ```
13
+
14
+ If you don't have `uv` installed or aren't sure, use our installer script which handles the setup for you:
15
+
16
+ ### macOS / Linux
17
+ ```bash
18
+ curl -fsSL pywire.dev/install | sh
19
+ ```
20
+
21
+ ### Windows (PowerShell)
22
+ ```powershell
23
+ irm pywire.dev/install.ps1 | iex
24
+ ```
25
+ <!-- INSTALL_MESSAGE_TEMPLATE_END -->
26
+
5
27
  <!-- SUPPORT_MESSAGE_TEMPLATE_START -->
6
28
  ## ❤️ Support pywire
7
29
 
@@ -7,7 +7,7 @@ name = "pywire"
7
7
  authors = [
8
8
  { name="Reece Holmdahl", email="reece@pywire.dev" },
9
9
  ]
10
- version = "0.1.0"
10
+ version = "0.1.1"
11
11
  description = "HTML-over-the-wire Python web framework"
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.11"
@@ -47,6 +47,16 @@ pywire = "pywire.cli.main:cli"
47
47
 
48
48
  [tool.hatch.build.targets.wheel]
49
49
  packages = ["src/pywire"]
50
+ include = [
51
+ "src/pywire/static/**",
52
+ "src/pywire/templates/**",
53
+ ]
54
+
55
+ [tool.hatch.build.targets.sdist]
56
+ include = [
57
+ "src/pywire/static/**",
58
+ "src/pywire/templates/**",
59
+ ]
50
60
 
51
61
  [tool.mypy]
52
62
  python_version = "3.11"
@@ -1 +0,0 @@
1
- @pywire/maintainers
@@ -1,80 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: ["main"]
6
- pull_request:
7
- branches: ["main"]
8
-
9
- jobs:
10
- test:
11
- name: "Tests"
12
- runs-on: ubuntu-latest
13
- strategy:
14
- matrix:
15
- python-version: ["3.11", "3.12", "3.13", "3.14"]
16
- steps:
17
- - uses: actions/checkout@v4
18
- - name: Setup Node.js
19
- uses: actions/setup-node@v4
20
- with:
21
- node-version: '20'
22
- - name: Install pnpm
23
- uses: pnpm/action-setup@v2
24
- with:
25
- version: 9
26
- - name: Install uv
27
- uses: astral-sh/setup-uv@v5
28
- with:
29
- python-version: ${{ matrix.python-version }}
30
- enable-cache: true
31
- - name: Build client bundle
32
- run: |
33
- cd src/pywire/client
34
- pnpm install --frozen-lockfile
35
- pnpm build
36
- - name: Install dependencies
37
- run: uv sync --all-extras
38
- - name: Run tests
39
- run: uv run pytest
40
-
41
- build:
42
- name: "Build"
43
- runs-on: ubuntu-latest
44
- steps:
45
- - uses: actions/checkout@v4
46
-
47
- - name: Setup Node.js
48
- uses: actions/setup-node@v4
49
- with:
50
- node-version: '20'
51
-
52
- - name: Install pnpm
53
- uses: pnpm/action-setup@v2
54
- with:
55
- version: 9
56
-
57
- - name: Install dependencies
58
- # This will install both client and doc dependencies if pnpm-workspace is set up,
59
- # otherwise we might need to be specific. Assuming standard pnpm install works for the root/client.
60
- # But scripts/build assumes we can run pnpm build in specific dirs.
61
- # Let's check how scripts/build works again.
62
- # scripts/build does `cd docs && pnpm build` and `cd src/pywire/client && pnpm build`.
63
- # So we probably just need pnpm available.
64
- # But we probably need to install dependencies in those folders first?
65
- # The script doesn't seem to have install steps.
66
- # Let's assume we need to install dependencies.
67
- # actually, looking at scripts/build again:
68
- # cd docs && pnpm build
69
- # cd src/pywire/client && pnpm build
70
- # It assumes deps are installed.
71
- # We should probably run scripts/install? No that's python.
72
- # We should probably do pnpm install in the steps.
73
- run: |
74
- # We need to install dependencies for docs and client before building
75
- # Assuming these have package.json files
76
- cd docs && pnpm install --frozen-lockfile
77
- cd ../src/pywire/client && pnpm install --frozen-lockfile
78
-
79
- - name: Run build script
80
- run: ./scripts/build
@@ -1,46 +0,0 @@
1
- name: Deploy Docs
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
- tags:
8
- - "v*"
9
-
10
- jobs:
11
- deploy-docs:
12
- runs-on: ubuntu-latest
13
- permissions:
14
- contents: read
15
- deployments: write
16
- name: Deploy Documentation
17
- steps:
18
- - uses: actions/checkout@v4
19
-
20
- - name: Setup Node.js
21
- uses: actions/setup-node@v4
22
- with:
23
- node-version: '20'
24
-
25
- - name: Install pnpm
26
- uses: pnpm/action-setup@v2
27
- with:
28
- version: 8
29
-
30
- - name: Install dependencies
31
- working-directory: docs
32
- run: pnpm install
33
-
34
- - name: Build
35
- working-directory: docs
36
- run: pnpm run build
37
-
38
- - name: Deploy to Cloudflare Pages
39
- uses: cloudflare/pages-action@v1
40
- with:
41
- apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
42
- accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
43
- projectName: pywire-docs
44
- directory: docs/dist
45
- gitHubToken: ${{ secrets.GITHUB_TOKEN }}
46
- branch: ${{ github.ref_name == 'main' && 'nightly' || 'main' }}
@@ -1,25 +0,0 @@
1
- name: Publish
2
-
3
- on:
4
- push:
5
- tags:
6
- - "v*"
7
-
8
- jobs:
9
- publish:
10
- runs-on: ubuntu-latest
11
- environment: release
12
- permissions:
13
- id-token: write
14
- contents: write
15
- steps:
16
- - uses: actions/checkout@v4
17
- - name: Install uv
18
- uses: astral-sh/setup-uv@v5
19
- with:
20
- enable-cache: true
21
- - name: Build
22
- run: uv build
23
-
24
- - name: Publish
25
- uses: pypa/gh-action-pypi-publish@release/v1
@@ -1,21 +0,0 @@
1
- # build output
2
- dist/
3
- # generated types
4
- .astro/
5
-
6
- # dependencies
7
- node_modules/
8
-
9
- # logs
10
- npm-debug.log*
11
- yarn-debug.log*
12
- yarn-error.log*
13
- pnpm-debug.log*
14
-
15
-
16
- # environment variables
17
- .env
18
- .env.production
19
-
20
- # macOS-specific files
21
- .DS_Store
@@ -1,4 +0,0 @@
1
- node_modules/
2
- dist/
3
- pnpm-lock.yaml
4
- *.lock
@@ -1,7 +0,0 @@
1
- {
2
- "tabWidth": 2,
3
- "semi": false,
4
- "singleQuote": true,
5
- "printWidth": 100,
6
- "plugins": ["prettier-plugin-astro"]
7
- }
@@ -1,4 +0,0 @@
1
- {
2
- "recommendations": ["astro-build.astro-vscode"],
3
- "unwantedRecommendations": []
4
- }
@@ -1,11 +0,0 @@
1
- {
2
- "version": "0.2.0",
3
- "configurations": [
4
- {
5
- "command": "./node_modules/.bin/astro dev",
6
- "name": "Development server",
7
- "request": "launch",
8
- "type": "node-terminal"
9
- }
10
- ]
11
- }
@@ -1,49 +0,0 @@
1
- # Starlight Starter Kit: Basics
2
-
3
- [![Built with Starlight](https://astro.badg.es/v2/built-with-starlight/tiny.svg)](https://starlight.astro.build)
4
-
5
- ```
6
- pnpm create astro@latest -- --template starlight
7
- ```
8
-
9
- > 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun!
10
-
11
- ## 🚀 Project Structure
12
-
13
- Inside of your Astro + Starlight project, you'll see the following folders and files:
14
-
15
- ```
16
- .
17
- ├── public/
18
- ├── src/
19
- │ ├── assets/
20
- │ ├── content/
21
- │ │ └── docs/
22
- │ └── content.config.ts
23
- ├── astro.config.mjs
24
- ├── package.json
25
- └── tsconfig.json
26
- ```
27
-
28
- Starlight looks for `.md` or `.mdx` files in the `src/content/docs/` directory. Each file is exposed as a route based on its file name.
29
-
30
- Images can be added to `src/assets/` and embedded in Markdown with a relative link.
31
-
32
- Static assets, like favicons, can be placed in the `public/` directory.
33
-
34
- ## 🧞 Commands
35
-
36
- All commands are run from the root of the project, from a terminal:
37
-
38
- | Command | Action |
39
- | :--------------------- | :----------------------------------------------- |
40
- | `pnpm install` | Installs dependencies |
41
- | `pnpm dev` | Starts local dev server at `localhost:4321` |
42
- | `pnpm build` | Build your production site to `./dist/` |
43
- | `pnpm preview` | Preview your build locally, before deploying |
44
- | `pnpm astro ...` | Run CLI commands like `astro add`, `astro check` |
45
- | `pnpm astro -- --help` | Get help using the Astro CLI |
46
-
47
- ## 👀 Want to learn more?
48
-
49
- Check out [Starlight’s docs](https://starlight.astro.build/), read [the Astro documentation](https://docs.astro.build), or jump into the [Astro Discord server](https://astro.build/chat).
@@ -1,39 +0,0 @@
1
- // @ts-check
2
- import { defineConfig } from 'astro/config'
3
- import starlight from '@astrojs/starlight'
4
-
5
- // https://astro.build/config
6
- export default defineConfig({
7
- site: 'https://pywire.dev',
8
- base: '/docs',
9
- integrations: [
10
- starlight({
11
- title: 'pywire',
12
- customCss: ['./src/styles/custom.css'],
13
- social: [
14
- { icon: 'github', label: 'GitHub', href: 'https://github.com/pywire/pywire' },
15
- { icon: 'discord', label: 'Discord', href: 'https://discord.gg/pywire' },
16
- ],
17
- sidebar: [
18
- {
19
- label: 'Guides',
20
- items: [
21
- { label: 'Getting Started', slug: 'guides/getting-started' },
22
- { label: 'Walkthrough', slug: 'guides/walkthrough' },
23
- ],
24
- },
25
- {
26
- label: 'Reference',
27
- autogenerate: { directory: 'reference' },
28
- },
29
- {
30
- label: 'Project',
31
- items: [
32
- { label: 'Back to Website', link: 'https://pywire.dev', attrs: { target: '_self' } },
33
- { label: 'Releases', link: 'https://github.com/pywire/pywire/releases' },
34
- ],
35
- },
36
- ],
37
- }),
38
- ],
39
- })
@@ -1,65 +0,0 @@
1
- import globals from 'globals'
2
- import js from '@eslint/js'
3
- import astro from 'eslint-plugin-astro'
4
- import tseslint from '@typescript-eslint/eslint-plugin'
5
- import tsParser from '@typescript-eslint/parser'
6
- import astroParser from 'astro-eslint-parser'
7
-
8
- export default [
9
- // Ignore patterns
10
- {
11
- ignores: ['dist/**', 'node_modules/**', '.astro/**'],
12
- },
13
-
14
- // Base configuration
15
- {
16
- languageOptions: {
17
- globals: {
18
- ...globals.node,
19
- ...globals.browser,
20
- },
21
- ecmaVersion: 'latest',
22
- sourceType: 'module',
23
- },
24
- },
25
-
26
- // ESLint recommended rules
27
- js.configs.recommended,
28
-
29
- // Astro files
30
- {
31
- files: ['**/*.astro'],
32
- plugins: {
33
- astro,
34
- },
35
- languageOptions: {
36
- parser: astroParser,
37
- parserOptions: {
38
- parser: '@typescript-eslint/parser',
39
- extraFileExtensions: ['.astro'],
40
- },
41
- },
42
- rules: {
43
- ...astro.configs.recommended.rules,
44
- 'no-mixed-spaces-and-tabs': ['error', 'smart-tabs'],
45
- },
46
- },
47
-
48
- // TypeScript files
49
- {
50
- files: ['**/*.ts'],
51
- plugins: {
52
- '@typescript-eslint': tseslint,
53
- },
54
- languageOptions: {
55
- parser: tsParser,
56
- },
57
- rules: {
58
- ...tseslint.configs.recommended.rules,
59
- '@typescript-eslint/no-unused-vars': [
60
- 'error',
61
- { argsIgnorePattern: '^_', destructuredArrayIgnorePattern: '^_' },
62
- ],
63
- },
64
- },
65
- ]
@@ -1,36 +0,0 @@
1
- {
2
- "name": "docs",
3
- "type": "module",
4
- "version": "0.1.0",
5
- "scripts": {
6
- "dev": "astro dev",
7
- "start": "astro dev",
8
- "build": "astro build",
9
- "preview": "astro preview",
10
- "astro": "astro",
11
- "lint": "eslint .",
12
- "lint:fix": "eslint . --fix",
13
- "format": "prettier --write .",
14
- "format:check": "prettier --check .",
15
- "typecheck": "astro check",
16
- "check": "pnpm format:check && pnpm lint && pnpm typecheck"
17
- },
18
- "dependencies": {
19
- "@astrojs/check": "^0.9.6",
20
- "@astrojs/starlight": "^0.37.4",
21
- "astro": "^5.6.1",
22
- "sharp": "^0.34.2",
23
- "typescript": "^5.9.3"
24
- },
25
- "devDependencies": {
26
- "@eslint/js": "^9.35.0",
27
- "@typescript-eslint/eslint-plugin": "^8.43.0",
28
- "@typescript-eslint/parser": "^8.43.0",
29
- "astro-eslint-parser": "^1.2.2",
30
- "eslint": "^9.35.0",
31
- "eslint-plugin-astro": "^1.3.1",
32
- "globals": "^16.4.0",
33
- "prettier": "^3.6.2",
34
- "prettier-plugin-astro": "^0.14.1"
35
- }
36
- }