shipit-cli 0.21.6__tar.gz → 0.22.0__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 (179) hide show
  1. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/PKG-INFO +35 -3
  2. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/README.md +34 -2
  3. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/pyproject.toml +8 -16
  4. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/builders/base.py +1 -1
  5. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/cli.py +240 -476
  6. shipit_cli-0.22.0/src/shipit/evaluator.py +291 -0
  7. shipit_cli-0.22.0/src/shipit/generator.py +170 -0
  8. shipit_cli-0.22.0/src/shipit/providers/base.py +69 -0
  9. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/providers/go.py +2 -69
  10. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/providers/hugo.py +8 -40
  11. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/providers/install_context.py +0 -4
  12. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/providers/jekyll.py +7 -63
  13. shipit_cli-0.22.0/src/shipit/providers/laravel.py +58 -0
  14. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/providers/mkdocs.py +2 -45
  15. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/providers/node.py +26 -348
  16. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/providers/node_static.py +32 -66
  17. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/providers/php.py +13 -140
  18. shipit_cli-0.22.0/src/shipit/providers/python.py +395 -0
  19. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/providers/staticfile.py +49 -118
  20. shipit_cli-0.22.0/src/shipit/providers/wordpress.py +165 -0
  21. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/runners/wasmer.py +65 -43
  22. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/shipit_types.py +0 -7
  23. shipit_cli-0.22.0/src/shipit/starlark_loader.py +158 -0
  24. shipit_cli-0.22.0/src/shipit/starlib/prelude.shipit +11 -0
  25. shipit_cli-0.22.0/src/shipit/starlib/serve.shipit +120 -0
  26. shipit_cli-0.22.0/src/shipit/starlib/tools/go.shipit +50 -0
  27. shipit_cli-0.22.0/src/shipit/starlib/tools/hugo.shipit +24 -0
  28. shipit_cli-0.22.0/src/shipit/starlib/tools/jekyll.shipit +33 -0
  29. shipit_cli-0.22.0/src/shipit/starlib/tools/laravel.shipit +45 -0
  30. shipit_cli-0.22.0/src/shipit/starlib/tools/mkdocs.shipit +26 -0
  31. shipit_cli-0.22.0/src/shipit/starlib/tools/node.shipit +221 -0
  32. shipit_cli-0.22.0/src/shipit/starlib/tools/node_static.shipit +45 -0
  33. shipit_cli-0.22.0/src/shipit/starlib/tools/php.shipit +113 -0
  34. shipit_cli-0.22.0/src/shipit/starlib/tools/python.shipit +264 -0
  35. shipit_cli-0.22.0/src/shipit/starlib/tools/staticfile.shipit +84 -0
  36. shipit_cli-0.22.0/src/shipit/starlib/tools/wordpress.shipit +155 -0
  37. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/version.py +1 -1
  38. shipit_cli-0.22.0/tests/plan_helpers.py +57 -0
  39. shipit_cli-0.22.0/tests/plan_snapshots/go-graphql.json +60 -0
  40. shipit_cli-0.22.0/tests/plan_snapshots/go-simple.json +60 -0
  41. shipit_cli-0.22.0/tests/plan_snapshots/hugo.json +54 -0
  42. shipit_cli-0.22.0/tests/plan_snapshots/mkdocs-with-plugins.json +87 -0
  43. shipit_cli-0.22.0/tests/plan_snapshots/mkdocs-with-plugins__cross.json +87 -0
  44. shipit_cli-0.22.0/tests/plan_snapshots/mkdocs.json +84 -0
  45. shipit_cli-0.22.0/tests/plan_snapshots/mkdocs__cross.json +84 -0
  46. shipit_cli-0.22.0/tests/plan_snapshots/node-astro.json +93 -0
  47. shipit_cli-0.22.0/tests/plan_snapshots/node-elysia.json +81 -0
  48. shipit_cli-0.22.0/tests/plan_snapshots/node-express.json +74 -0
  49. shipit_cli-0.22.0/tests/plan_snapshots/node-fastify.json +81 -0
  50. shipit_cli-0.22.0/tests/plan_snapshots/node-h3.json +74 -0
  51. shipit_cli-0.22.0/tests/plan_snapshots/node-hono.json +81 -0
  52. shipit_cli-0.22.0/tests/plan_snapshots/node-hydrogen.json +74 -0
  53. shipit_cli-0.22.0/tests/plan_snapshots/node-koa.json +74 -0
  54. shipit_cli-0.22.0/tests/plan_snapshots/node-mastra.json +74 -0
  55. shipit_cli-0.22.0/tests/plan_snapshots/node-mcp.json +74 -0
  56. shipit_cli-0.22.0/tests/plan_snapshots/node-nestjs.json +74 -0
  57. shipit_cli-0.22.0/tests/plan_snapshots/node-next.json +89 -0
  58. shipit_cli-0.22.0/tests/plan_snapshots/node-nitro.json +74 -0
  59. shipit_cli-0.22.0/tests/plan_snapshots/node-npm-file-subdir.json +87 -0
  60. shipit_cli-0.22.0/tests/plan_snapshots/node-pnpm-workspace-subdir.json +92 -0
  61. shipit_cli-0.22.0/tests/plan_snapshots/node-react-router.json +74 -0
  62. shipit_cli-0.22.0/tests/plan_snapshots/node-remix.json +74 -0
  63. shipit_cli-0.22.0/tests/plan_snapshots/node-solidstart.json +74 -0
  64. shipit_cli-0.22.0/tests/plan_snapshots/node-tanstack-start.json +74 -0
  65. shipit_cli-0.22.0/tests/plan_snapshots/node-xmcp.json +74 -0
  66. shipit_cli-0.22.0/tests/plan_snapshots/node.json +81 -0
  67. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-angular.json +76 -0
  68. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-assemble.json +83 -0
  69. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-astro.json +83 -0
  70. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-brunch.json +76 -0
  71. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-create-react-app.json +76 -0
  72. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-docusaurus-old.json +76 -0
  73. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-docusaurus.json +76 -0
  74. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-eleventy.json +83 -0
  75. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-ember.json +76 -0
  76. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-gatsby.json +83 -0
  77. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-harp.json +83 -0
  78. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-hexo.json +83 -0
  79. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-ionic-angular.json +76 -0
  80. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-ionic-react.json +76 -0
  81. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-metalsmith.json +83 -0
  82. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-next.json +83 -0
  83. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-nuxt.json +83 -0
  84. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-parcel.json +76 -0
  85. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-polymer.json +76 -0
  86. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-preact.json +76 -0
  87. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-remix.json +76 -0
  88. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-sanity.json +76 -0
  89. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-stencil.json +76 -0
  90. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-storybook.json +76 -0
  91. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-svelte.json +76 -0
  92. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-sveltekit.json +76 -0
  93. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-umijs.json +76 -0
  94. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-vite-react.json +76 -0
  95. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-vite.json +76 -0
  96. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-vitepress.json +83 -0
  97. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-vue.json +76 -0
  98. shipit_cli-0.22.0/tests/plan_snapshots/nodestatic-vuepress.json +83 -0
  99. shipit_cli-0.22.0/tests/plan_snapshots/php-api.json +84 -0
  100. shipit_cli-0.22.0/tests/plan_snapshots/php-laravel-react.json +148 -0
  101. shipit_cli-0.22.0/tests/plan_snapshots/php-nobuild.json +59 -0
  102. shipit_cli-0.22.0/tests/plan_snapshots/php-wordpress-empty.json +120 -0
  103. shipit_cli-0.22.0/tests/plan_snapshots/php-wordpress-plugin.json +114 -0
  104. shipit_cli-0.22.0/tests/plan_snapshots/php-wordpress-theme.json +114 -0
  105. shipit_cli-0.22.0/tests/plan_snapshots/php-wordpress.json +111 -0
  106. shipit_cli-0.22.0/tests/plan_snapshots/python-django.json +121 -0
  107. shipit_cli-0.22.0/tests/plan_snapshots/python-django__cross.json +136 -0
  108. shipit_cli-0.22.0/tests/plan_snapshots/python-fastapi.json +105 -0
  109. shipit_cli-0.22.0/tests/plan_snapshots/python-fastapi__cross.json +120 -0
  110. shipit_cli-0.22.0/tests/plan_snapshots/python-fasthtml.json +104 -0
  111. shipit_cli-0.22.0/tests/plan_snapshots/python-fasthtml__cross.json +122 -0
  112. shipit_cli-0.22.0/tests/plan_snapshots/python-ffmpeg.json +105 -0
  113. shipit_cli-0.22.0/tests/plan_snapshots/python-ffmpeg__cross.json +123 -0
  114. shipit_cli-0.22.0/tests/plan_snapshots/python-flask.json +104 -0
  115. shipit_cli-0.22.0/tests/plan_snapshots/python-flask__cross.json +122 -0
  116. shipit_cli-0.22.0/tests/plan_snapshots/python-mcp-chatgpt.json +106 -0
  117. shipit_cli-0.22.0/tests/plan_snapshots/python-mcp-chatgpt__cross.json +132 -0
  118. shipit_cli-0.22.0/tests/plan_snapshots/python-mcp.json +112 -0
  119. shipit_cli-0.22.0/tests/plan_snapshots/python-mcp__cross.json +135 -0
  120. shipit_cli-0.22.0/tests/plan_snapshots/python-pandoc.json +105 -0
  121. shipit_cli-0.22.0/tests/plan_snapshots/python-pandoc__cross.json +123 -0
  122. shipit_cli-0.22.0/tests/plan_snapshots/python-pillow.json +104 -0
  123. shipit_cli-0.22.0/tests/plan_snapshots/python-pillow__cross.json +122 -0
  124. shipit_cli-0.22.0/tests/plan_snapshots/python-procfile.json +81 -0
  125. shipit_cli-0.22.0/tests/plan_snapshots/python-procfile__cross.json +81 -0
  126. shipit_cli-0.22.0/tests/plan_snapshots/python-streamlit.json +105 -0
  127. shipit_cli-0.22.0/tests/plan_snapshots/python-streamlit__cross.json +123 -0
  128. shipit_cli-0.22.0/tests/plan_snapshots/static-htmlwithjs.json +36 -0
  129. shipit_cli-0.22.0/tests/plan_snapshots/static-nobuild.json +36 -0
  130. shipit_cli-0.22.0/tests/plan_snapshots/staticfile-redirects.json +46 -0
  131. shipit_cli-0.22.0/tests/plan_snapshots/staticfile.json +36 -0
  132. shipit_cli-0.22.0/tests/plan_snapshots/synthetic__go_subdir.json +64 -0
  133. shipit_cli-0.22.0/tests/plan_snapshots/synthetic__jekyll_bare.json +69 -0
  134. shipit_cli-0.22.0/tests/plan_snapshots/synthetic__jekyll_gemfile.json +68 -0
  135. shipit_cli-0.22.0/tests/plan_snapshots/synthetic__python_subdir.json +109 -0
  136. shipit_cli-0.22.0/tests/plan_snapshots/synthetic__static_subdir.json +36 -0
  137. shipit_cli-0.22.0/tests/test_command_overrides.py +79 -0
  138. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/tests/test_e2e.py +94 -3
  139. shipit_cli-0.22.0/tests/test_evaluator.py +50 -0
  140. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/tests/test_generate_shipit_examples.py +12 -2
  141. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/tests/test_install_context.py +43 -24
  142. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/tests/test_node_provider.py +81 -71
  143. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/tests/test_php_provider.py +7 -4
  144. shipit_cli-0.22.0/tests/test_plan_snapshots.py +315 -0
  145. shipit_cli-0.22.0/tests/test_project_context.py +34 -0
  146. shipit_cli-0.22.0/tests/test_python_detection.py +96 -0
  147. shipit_cli-0.22.0/tests/test_starlark_loader.py +81 -0
  148. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/tests/test_staticfile_provider.py +4 -10
  149. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/tests/test_subdir.py +192 -61
  150. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/tests/test_version.py +14 -0
  151. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/tests/test_volumes.py +2 -4
  152. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/tests/test_wasmer_annotations.py +50 -5
  153. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/tests/test_wordpress_phpix.py +75 -20
  154. shipit_cli-0.21.6/src/shipit/generator.py +0 -243
  155. shipit_cli-0.21.6/src/shipit/providers/base.py +0 -154
  156. shipit_cli-0.21.6/src/shipit/providers/laravel.py +0 -109
  157. shipit_cli-0.21.6/src/shipit/providers/python.py +0 -630
  158. shipit_cli-0.21.6/src/shipit/providers/wordpress.py +0 -333
  159. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/.gitignore +0 -0
  160. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/__init__.py +0 -0
  161. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/assets/node/optimize-node-modules.sh +0 -0
  162. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/assets/php/php.ini +0 -0
  163. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/assets/wordpress/.htaccess +0 -0
  164. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/assets/wordpress/install.sh +0 -0
  165. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/assets/wordpress/start.php +0 -0
  166. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/assets/wordpress/wp-config.php +0 -0
  167. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/builders/__init__.py +0 -0
  168. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/builders/docker.py +0 -0
  169. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/builders/local.py +0 -0
  170. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/procfile.py +0 -0
  171. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/providers/registry.py +0 -0
  172. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/runners/__init__.py +0 -0
  173. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/runners/base.py +0 -0
  174. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/runners/local.py +0 -0
  175. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/ui.py +0 -0
  176. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/utils.py +0 -0
  177. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/src/shipit/volumes.py +0 -0
  178. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/tests/test_cli_after_deploy.py +0 -0
  179. {shipit_cli-0.21.6 → shipit_cli-0.22.0}/tests/test_node_static_provider.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: shipit-cli
3
- Version: 0.21.6
3
+ Version: 0.22.0
4
4
  Summary: Shipit CLI is the best way to build, serve and deploy your projects anywhere.
5
5
  Project-URL: homepage, https://wasmer.io
6
6
  Project-URL: repository, https://github.com/wasmerio/shipit
@@ -66,8 +66,8 @@ uvx shipit-cli generate .
66
66
  ```
67
67
 
68
68
  Create or refresh the `Shipit` file. Override build and run commands with
69
- `--install-command`, `--build-command`, or `--start-command`. Pick a exlicit provider
70
- with `--use-provider`.
69
+ `--install-command`, `--build-command`, or `--start-command`. Pick an explicit
70
+ provider with `--use-provider`.
71
71
 
72
72
  ### `plan`
73
73
 
@@ -106,6 +106,30 @@ uvx shipit-cli deploy
106
106
  Deploy a Wasmer package generated by `shipit build --wasmer`. Use
107
107
  `--wasmer-deploy-config` to write deployment metadata instead of publishing.
108
108
 
109
+ ## The Shipit file
110
+
111
+ `shipit generate` writes a small, editable Starlark file that pairs a
112
+ provider build with a serve:
113
+
114
+ ```python
115
+ load("//shipit/tools:python.shipit", "python_build", "python_serve")
116
+
117
+ build = python_build(config)
118
+
119
+ python_serve(config, build, name = "my-app")
120
+ ```
121
+
122
+ The file is yours: add steps around the build (`build_pre` / `build_post`),
123
+ extend the runtime (`extra_deps`, `extra_env`), attach services, or compose
124
+ builds and serves from different providers (a Hugo build served by the
125
+ shared static serve, a PHP build with a Node asset build folded in). Any
126
+ config field can also be overridden without editing anything, via `SHIPIT_*`
127
+ environment variables (e.g. `SHIPIT_PHPIX=true`) or `--config` JSON.
128
+
129
+ See [docs/shipit-files.md](docs/shipit-files.md) for the full format
130
+ reference: builtins, `file_exists()`, load labels, the serve override
131
+ surface, and composition examples.
132
+
109
133
  ## Supported Technologies
110
134
 
111
135
  Shipit works with three execution environments:
@@ -140,6 +164,14 @@ You can run the e2e tests in parallel (`-n 8`) with:
140
164
  uv run pytest -m e2e -v "tests/test_e2e.py" -s -n 8
141
165
  ```
142
166
 
167
+ You can also run one technology slice at a time with `e2e_static`,
168
+ `e2e_staticpython`, `e2e_staticnode1`, `e2e_staticnode2`, `e2e_python`,
169
+ `e2e_node`, or `e2e_php`, for example:
170
+
171
+ ```bash
172
+ uv run pytest -m "e2e and e2e_staticnode1" -v "tests/test_e2e.py" -s -n 4
173
+ ```
174
+
143
175
  The e2e tests will:
144
176
  * Build the project (locally, or with docker)
145
177
  * Run the project (locally or with Wasmer)
@@ -43,8 +43,8 @@ uvx shipit-cli generate .
43
43
  ```
44
44
 
45
45
  Create or refresh the `Shipit` file. Override build and run commands with
46
- `--install-command`, `--build-command`, or `--start-command`. Pick a exlicit provider
47
- with `--use-provider`.
46
+ `--install-command`, `--build-command`, or `--start-command`. Pick an explicit
47
+ provider with `--use-provider`.
48
48
 
49
49
  ### `plan`
50
50
 
@@ -83,6 +83,30 @@ uvx shipit-cli deploy
83
83
  Deploy a Wasmer package generated by `shipit build --wasmer`. Use
84
84
  `--wasmer-deploy-config` to write deployment metadata instead of publishing.
85
85
 
86
+ ## The Shipit file
87
+
88
+ `shipit generate` writes a small, editable Starlark file that pairs a
89
+ provider build with a serve:
90
+
91
+ ```python
92
+ load("//shipit/tools:python.shipit", "python_build", "python_serve")
93
+
94
+ build = python_build(config)
95
+
96
+ python_serve(config, build, name = "my-app")
97
+ ```
98
+
99
+ The file is yours: add steps around the build (`build_pre` / `build_post`),
100
+ extend the runtime (`extra_deps`, `extra_env`), attach services, or compose
101
+ builds and serves from different providers (a Hugo build served by the
102
+ shared static serve, a PHP build with a Node asset build folded in). Any
103
+ config field can also be overridden without editing anything, via `SHIPIT_*`
104
+ environment variables (e.g. `SHIPIT_PHPIX=true`) or `--config` JSON.
105
+
106
+ See [docs/shipit-files.md](docs/shipit-files.md) for the full format
107
+ reference: builtins, `file_exists()`, load labels, the serve override
108
+ surface, and composition examples.
109
+
86
110
  ## Supported Technologies
87
111
 
88
112
  Shipit works with three execution environments:
@@ -117,6 +141,14 @@ You can run the e2e tests in parallel (`-n 8`) with:
117
141
  uv run pytest -m e2e -v "tests/test_e2e.py" -s -n 8
118
142
  ```
119
143
 
144
+ You can also run one technology slice at a time with `e2e_static`,
145
+ `e2e_staticpython`, `e2e_staticnode1`, `e2e_staticnode2`, `e2e_python`,
146
+ `e2e_node`, or `e2e_php`, for example:
147
+
148
+ ```bash
149
+ uv run pytest -m "e2e and e2e_staticnode1" -v "tests/test_e2e.py" -s -n 4
150
+ ```
151
+
120
152
  The e2e tests will:
121
153
  * Build the project (locally, or with docker)
122
154
  * Run the project (locally or with Wasmer)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "shipit-cli"
3
- version = "0.21.6"
3
+ version = "0.22.0"
4
4
  description = "Shipit CLI is the best way to build, serve and deploy your projects anywhere."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -55,6 +55,13 @@ dev = [
55
55
  asyncio_mode = "auto"
56
56
  markers = [
57
57
  "e2e: end-to-end tests that require external runtimes and network access",
58
+ "e2e_static: static-site end-to-end tests",
59
+ "e2e_staticnode1: first Node-built static-site end-to-end test shard",
60
+ "e2e_staticnode2: second Node-built static-site end-to-end test shard",
61
+ "e2e_staticpython: Python-built static-site end-to-end tests",
62
+ "e2e_python: Python end-to-end tests",
63
+ "e2e_node: Node.js end-to-end tests",
64
+ "e2e_php: PHP and WordPress end-to-end tests",
58
65
  ]
59
66
 
60
67
  [tool.mypy]
@@ -67,20 +74,5 @@ ignore_missing_imports = true
67
74
  warn_redundant_casts = true
68
75
  warn_unused_ignores = true
69
76
 
70
- [[tool.mypy.overrides]]
71
- module = [
72
- "shipit.cli",
73
- "shipit.generator",
74
- "shipit.providers.go",
75
- "shipit.providers.hugo",
76
- "shipit.providers.jekyll",
77
- "shipit.providers.node_static",
78
- "shipit.providers.python",
79
- "shipit.providers.staticfile",
80
- "shipit.runners.wasmer",
81
- "tests.test_e2e",
82
- ]
83
- ignore_errors = true
84
-
85
77
  [tool.uv.workspace]
86
78
  exclude = ["examples/*"]
@@ -2,7 +2,7 @@ from pathlib import Path
2
2
  from typing import Dict, List, Optional, Protocol, TYPE_CHECKING
3
3
 
4
4
  if TYPE_CHECKING:
5
- from shipit.cli import Mount, Step
5
+ from shipit.shipit_types import Mount, Step
6
6
 
7
7
 
8
8
  class BuildBackend(Protocol):