deploy.sh 1.0.0 → 3.0.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 (161) hide show
  1. package/.claude/settings.local.json +36 -0
  2. package/.github/ISSUE_TEMPLATE/bug_report.yml +105 -0
  3. package/.github/ISSUE_TEMPLATE/config.yml +5 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.yml +56 -0
  5. package/.github/workflows/ci.yml +29 -0
  6. package/.github/workflows/pages.yml +48 -0
  7. package/.oxfmtrc.json +7 -0
  8. package/.oxlintrc.json +11 -0
  9. package/LICENSE +183 -183
  10. package/README.md +99 -11
  11. package/app/actions/deployments.ts +82 -0
  12. package/app/actions/metrics.ts +13 -0
  13. package/app/root.tsx +60 -0
  14. package/app/routes/dashboard/detail/history.tsx +73 -0
  15. package/app/routes/dashboard/detail/layout.tsx +125 -0
  16. package/app/routes/dashboard/detail/logs.tsx +85 -0
  17. package/app/routes/dashboard/detail/overview.tsx +119 -0
  18. package/app/routes/dashboard/detail/requests.tsx +163 -0
  19. package/app/routes/dashboard/detail/resources.tsx +268 -0
  20. package/app/routes/dashboard/detail/shared.tsx +59 -0
  21. package/app/routes/dashboard/index.tsx +360 -0
  22. package/app/routes/dashboard/layout.tsx +30 -0
  23. package/app/routes/docs/architecture.tsx +155 -0
  24. package/app/routes/docs/cli.tsx +122 -0
  25. package/app/routes/docs/deploying.tsx +105 -0
  26. package/app/routes/docs/index.tsx +104 -0
  27. package/app/routes/docs/layout.tsx +58 -0
  28. package/app/routes/home.tsx +134 -0
  29. package/app/routes/root.client.tsx +46 -0
  30. package/app/routes.ts +21 -0
  31. package/app/styles.css +15 -0
  32. package/app/theme.css +134 -0
  33. package/bin/deploy.js +360 -110
  34. package/docs-site/404.html +33 -0
  35. package/docs-site/home.tsx +130 -0
  36. package/docs-site/index.html +35 -0
  37. package/docs-site/layout.tsx +57 -0
  38. package/docs-site/main.tsx +41 -0
  39. package/docs-site/shell.tsx +34 -0
  40. package/docs-site/styles.css +4 -0
  41. package/drizzle.config.js +8 -0
  42. package/examples/docker/Dockerfile +5 -0
  43. package/examples/docker/server.js +18 -0
  44. package/examples/node/package.json +7 -0
  45. package/examples/node/pnpm-lock.yaml +9 -0
  46. package/examples/node/server.js +12 -0
  47. package/examples/static/index.html +48 -0
  48. package/package.json +41 -55
  49. package/public/favicon.ico +0 -0
  50. package/react-router-vite/entry.browser.tsx +49 -0
  51. package/react-router-vite/entry.rsc.single.tsx +7 -0
  52. package/react-router-vite/entry.rsc.tsx +36 -0
  53. package/react-router-vite/entry.ssr.tsx +29 -0
  54. package/react-router-vite/plugin.ts +114 -0
  55. package/react-router-vite/types.d.ts +11 -0
  56. package/react-router.config.ts +5 -0
  57. package/server/api.test.ts +344 -0
  58. package/server/api.ts +445 -0
  59. package/server/docker.ts +268 -0
  60. package/server/index.ts +17 -0
  61. package/server/metrics-collector.ts +29 -0
  62. package/server/schema.ts +56 -0
  63. package/server/store.test.ts +278 -0
  64. package/server/store.ts +398 -0
  65. package/tsconfig.json +21 -0
  66. package/vite.config.ts +45 -0
  67. package/vite.docs.config.ts +31 -0
  68. package/.eslintignore +0 -5
  69. package/.eslintrc +0 -23
  70. package/.travis.yml +0 -9
  71. package/.tryitout +0 -48
  72. package/CHANGELOG.md +0 -56
  73. package/bin/deploy-delete.js +0 -11
  74. package/bin/deploy-deploy.js +0 -31
  75. package/bin/deploy-list.js +0 -32
  76. package/bin/deploy-login.js +0 -39
  77. package/bin/deploy-logout.js +0 -12
  78. package/bin/deploy-logs.js +0 -19
  79. package/bin/deploy-open.js +0 -19
  80. package/bin/deploy-register.js +0 -40
  81. package/bin/deploy-server.js +0 -5
  82. package/bin/deploy-whoami.js +0 -12
  83. package/docs/code/CLI.html +0 -2901
  84. package/docs/code/Deployment.html +0 -2469
  85. package/docs/code/Request.html +0 -906
  86. package/docs/code/User.html +0 -1219
  87. package/docs/code/classifier.js.html +0 -121
  88. package/docs/code/deploy.js.html +0 -122
  89. package/docs/code/fonts/OpenSans-Bold-webfont.eot +0 -0
  90. package/docs/code/fonts/OpenSans-Bold-webfont.svg +0 -1830
  91. package/docs/code/fonts/OpenSans-Bold-webfont.woff +0 -0
  92. package/docs/code/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  93. package/docs/code/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  94. package/docs/code/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  95. package/docs/code/fonts/OpenSans-Italic-webfont.eot +0 -0
  96. package/docs/code/fonts/OpenSans-Italic-webfont.svg +0 -1830
  97. package/docs/code/fonts/OpenSans-Italic-webfont.woff +0 -0
  98. package/docs/code/fonts/OpenSans-Light-webfont.eot +0 -0
  99. package/docs/code/fonts/OpenSans-Light-webfont.svg +0 -1831
  100. package/docs/code/fonts/OpenSans-Light-webfont.woff +0 -0
  101. package/docs/code/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  102. package/docs/code/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  103. package/docs/code/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  104. package/docs/code/fonts/OpenSans-Regular-webfont.eot +0 -0
  105. package/docs/code/fonts/OpenSans-Regular-webfont.svg +0 -1831
  106. package/docs/code/fonts/OpenSans-Regular-webfont.woff +0 -0
  107. package/docs/code/fonts/OpenSans-Semibold-webfont.eot +0 -0
  108. package/docs/code/fonts/OpenSans-Semibold-webfont.svg +0 -1830
  109. package/docs/code/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  110. package/docs/code/fonts/OpenSans-Semibold-webfont.woff +0 -0
  111. package/docs/code/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  112. package/docs/code/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -1830
  113. package/docs/code/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  114. package/docs/code/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  115. package/docs/code/helpers_cli.js.html +0 -315
  116. package/docs/code/helpers_util.js.html +0 -194
  117. package/docs/code/index.html +0 -66
  118. package/docs/code/models_deployment.js.html +0 -515
  119. package/docs/code/models_request.js.html +0 -158
  120. package/docs/code/models_user.js.html +0 -198
  121. package/docs/code/module-lib_classifier.html +0 -246
  122. package/docs/code/module-lib_deploy.html +0 -350
  123. package/docs/code/module-lib_helpers_util.html +0 -707
  124. package/docs/code/scripts/linenumber.js +0 -25
  125. package/docs/code/scripts/prettify/Apache-License-2.0.txt +0 -202
  126. package/docs/code/scripts/prettify/lang-css.js +0 -2
  127. package/docs/code/scripts/prettify/prettify.js +0 -28
  128. package/docs/code/styles/jsdoc-default.css +0 -692
  129. package/docs/code/styles/prettify-jsdoc.css +0 -111
  130. package/docs/code/styles/prettify-tomorrow.css +0 -132
  131. package/docs/example.gif +0 -0
  132. package/docs/example.mov +0 -0
  133. package/docs/index.html +0 -4463
  134. package/docs/logo.png +0 -0
  135. package/docs/logo.pxm +0 -0
  136. package/docs/logo@2x.png +0 -0
  137. package/docs/main.css +0 -162
  138. package/docs/main.js +0 -53
  139. package/index.js +0 -55
  140. package/jsdoc.json +0 -27
  141. package/lib/classifier.js +0 -61
  142. package/lib/deploy.js +0 -62
  143. package/lib/helpers/cli.js +0 -255
  144. package/lib/helpers/util.js +0 -134
  145. package/lib/models/deployment.js +0 -455
  146. package/lib/models/request.js +0 -98
  147. package/lib/models/user.js +0 -138
  148. package/lib/server.js +0 -165
  149. package/lib/static/not-found.html +0 -30
  150. package/lib/static/page-could-not-load.html +0 -30
  151. package/lib/static/static-server.js +0 -69
  152. package/test/fixtures/docker/Dockerfile +0 -5
  153. package/test/fixtures/docker/index.js +0 -12
  154. package/test/fixtures/node/index.js +0 -8
  155. package/test/fixtures/node/package.json +0 -15
  156. package/test/fixtures/static/index.html +0 -14
  157. package/test/fixtures/static/main.css +0 -7
  158. package/test/fixtures/static/out.gifcd +0 -0
  159. package/test/fixtures/unknown/.gitkeep +0 -0
  160. package/test/lib/classifier.js +0 -51
  161. package/test/lib/helpers/util.js +0 -47
@@ -0,0 +1,36 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(npm install:*)",
5
+ "Bash(npm run typecheck:*)",
6
+ "Bash(npm run lint:*)",
7
+ "Bash(npm run format:check:*)",
8
+ "Bash(npm run format:*)",
9
+ "Bash(npm run build:*)",
10
+ "WebFetch(domain:railway.com)",
11
+ "Bash(chmod:*)",
12
+ "Bash(node:*)",
13
+ "Bash(npx oxfmt:*)",
14
+ "Bash(npx oxlint:*)",
15
+ "Bash(npx tsc:*)",
16
+ "Bash(npx vite build:*)",
17
+ "Bash(lsof:*)",
18
+ "Bash(npm test:*)",
19
+ "Bash(pnpm --version:*)",
20
+ "Bash(pnpm install:*)",
21
+ "Bash(pnpm approve-builds:*)",
22
+ "Bash(pnpm rebuild:*)",
23
+ "Bash(pnpm run format:*)",
24
+ "Bash(pnpm run lint:*)",
25
+ "Bash(pnpm run typecheck:*)",
26
+ "Bash(pnpm test:*)",
27
+ "Bash(pnpm run build:*)",
28
+ "Bash(pnpm run format:check:*)",
29
+ "WebFetch(domain:remix.run)",
30
+ "Bash(pnpm add:*)",
31
+ "Bash(pnpm run test:*)",
32
+ "Bash(ls:*)",
33
+ "Bash(pnpm run build:docs:*)"
34
+ ]
35
+ }
36
+ }
@@ -0,0 +1,105 @@
1
+ name: '🐛 Bug report'
2
+ title: '[BUG] - YOUR_BUG_TITLE_HERE_REPLACE_ME'
3
+ labels: [bug]
4
+ description: Create a report to help us improve
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thank you for reporting an issue :pray:.
10
+
11
+ This issue tracker is for reporting bugs found in `deploy.sh` (https://github.com/gabrielcsapo/deploy.sh).
12
+ If you have a question about how to achieve something and are struggling, please post a question
13
+
14
+ Before submitting a new bug/issue, please check the links below to see if there is a solution or question posted there already:
15
+ - `deploy.sh` Issues tab: https://github.com/gabrielcsapo/deploy.sh/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
16
+ - `deploy.sh` Closed issues tab: https://github.com/gabrielcsapo/deploy.sh/issues?q=is%3Aissue+sort%3Aupdated-desc+is%3Aclosed
17
+ - `deploy.sh` Discussion's tab: https://github.com/gabrielcsapo/deploy.sh/discussions
18
+
19
+ The more information you fill in, the better the community can help you.
20
+ - type: textarea
21
+ id: description
22
+ attributes:
23
+ label: Describe the bug
24
+ description: Provide a clear and concise description of the challenge you are running into.
25
+ validations:
26
+ required: true
27
+ - type: input
28
+ id: link
29
+ attributes:
30
+ label: Minimal Reproduction
31
+ description: Provide a **minimal** example to reproduce the bug.
32
+ placeholder: Github Repo link
33
+ validations:
34
+ required: false
35
+ - type: textarea
36
+ id: steps
37
+ attributes:
38
+ label: Steps to Reproduce the Bug or Issue
39
+ description: Describe the steps we have to take to reproduce the behavior.
40
+ placeholder: |
41
+ 1. Go to '...'
42
+ 2. Click on '....'
43
+ 3. Scroll down to '....'
44
+ 4. See error
45
+ validations:
46
+ required: true
47
+ - type: textarea
48
+ id: expected
49
+ attributes:
50
+ label: Expected behavior
51
+ description: Provide a clear and concise description of what you expected to happen.
52
+ placeholder: |
53
+ As a user, I expected ___ behavior but i am seeing ___
54
+ validations:
55
+ required: true
56
+ - type: dropdown
57
+ id: operating_system_type
58
+ attributes:
59
+ label: Operating System Type
60
+ description: What web operating system are you using?
61
+ options:
62
+ - MacOS
63
+ - Windows
64
+ - Other (please write in Additional Context)
65
+ validations:
66
+ required: true
67
+ - type: input
68
+ id: docker_version
69
+ attributes:
70
+ label: Docker Version
71
+ description: What version of Docker are you using? (_type `docker --version` in your terminal_)
72
+ placeholder: Your Node.js Version
73
+ validations:
74
+ required: true
75
+ - type: input
76
+ id: nodejs_version
77
+ attributes:
78
+ label: Node.js Version
79
+ description: What version of Node.js are you using? (_type `node --version` in your terminal_)
80
+ placeholder: Your Node.js Version
81
+ validations:
82
+ required: true
83
+ - type: input
84
+ id: deploysh_version
85
+ attributes:
86
+ label: deploy.sh Version
87
+ description: What version of deploy.sh are you using?
88
+ placeholder: deploy.sh version
89
+ validations:
90
+ required: true
91
+ - type: textarea
92
+ id: screenshots_or_videos
93
+ attributes:
94
+ label: Screenshots or Videos
95
+ description: |
96
+ If applicable, add screenshots or a video to help explain your problem.
97
+ For more information on the supported file image/file types and the file size limits, please refer
98
+ to the following link: https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/attaching-files
99
+ placeholder: |
100
+ You can drag your video or image files inside of this editor ↓
101
+ - type: textarea
102
+ id: additional
103
+ attributes:
104
+ label: Additional context
105
+ description: Add any other context about the problem here.
@@ -0,0 +1,5 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Feature Requests & Questions
4
+ url: https://github.com/gabrielcsapo/deploy.sh/discussions
5
+ about: Please ask and answer questions here.
@@ -0,0 +1,56 @@
1
+ name: Feature request
2
+ title: '[Feature Request] YOUR_FEATURE_TITLE_HERE_REPLACE_ME'
3
+ labels: [feature request]
4
+ description: |
5
+ 💡 Suggest an idea for the `deploy.sh` project
6
+ Examples
7
+ - propose a new component
8
+ - improve an exiting component
9
+ - ....etc
10
+ body:
11
+ - type: markdown
12
+ attributes:
13
+ value: |
14
+ This issue form is for requesting features only! For example, requesting a new component, behavior ... etc
15
+ If you want to report a bug, please use the [bug report form](https://github.com/gabrielcsapo/deploy.sh/issues/new?assignees=&labels=&template=bug_report.yml).
16
+ - type: textarea
17
+ validations:
18
+ required: true
19
+ attributes:
20
+ label: Is your feature request related to a problem? Please describe.
21
+ description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
22
+ - type: textarea
23
+ validations:
24
+ required: true
25
+ attributes:
26
+ label: Describe the solution you'd like
27
+ description: A clear and concise description of what you want to happen.
28
+ placeholder: |
29
+ As a user, I expected ___ behavior but ___ ...
30
+
31
+ Ideal Steps I would like to see:
32
+ 1. Go to '...'
33
+ 2. Click on '....'
34
+ 3. ....
35
+ - type: textarea
36
+ validations:
37
+ required: true
38
+ attributes:
39
+ label: Describe alternatives you've considered
40
+ description: A clear and concise description of any alternative solutions or features you've considered.
41
+ - type: textarea
42
+ attributes:
43
+ label: Screenshots or Videos
44
+ description: |
45
+ If applicable, add screenshots or a video to help explain your problem.
46
+ For more information on the supported file image/file types and the file size limits, please refer
47
+ to the following link: https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/attaching-files
48
+ placeholder: |
49
+ You can drag your video or image files inside of this editor ↓
50
+ validations:
51
+ required: false
52
+ - type: textarea
53
+ id: additional
54
+ attributes:
55
+ label: Additional context
56
+ description: Add any other context about the problem here.
@@ -0,0 +1,29 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ build:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+
15
+ - uses: pnpm/action-setup@v4
16
+ with:
17
+ version: 10
18
+
19
+ - uses: actions/setup-node@v4
20
+ with:
21
+ node-version: 22
22
+ cache: pnpm
23
+
24
+ - run: pnpm install --frozen-lockfile
25
+ - run: pnpm run typecheck
26
+ - run: pnpm run lint
27
+ - run: pnpm run format:check
28
+ - run: pnpm test
29
+ - run: pnpm run build
@@ -0,0 +1,48 @@
1
+ name: Deploy Docs to GitHub Pages
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ workflow_dispatch:
7
+
8
+ permissions:
9
+ contents: read
10
+ pages: write
11
+ id-token: write
12
+
13
+ concurrency:
14
+ group: pages
15
+ cancel-in-progress: true
16
+
17
+ jobs:
18
+ build:
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - uses: actions/checkout@v4
22
+
23
+ - uses: pnpm/action-setup@v4
24
+ with:
25
+ version: 10
26
+
27
+ - uses: actions/setup-node@v4
28
+ with:
29
+ node-version: 22
30
+ cache: pnpm
31
+
32
+ - run: pnpm install --frozen-lockfile
33
+
34
+ - run: pnpm run build:docs
35
+
36
+ - uses: actions/upload-pages-artifact@v3
37
+ with:
38
+ path: dist-docs
39
+
40
+ deploy:
41
+ needs: build
42
+ runs-on: ubuntu-latest
43
+ environment:
44
+ name: github-pages
45
+ url: ${{ steps.deployment.outputs.page_url }}
46
+ steps:
47
+ - id: deployment
48
+ uses: actions/deploy-pages@v4
package/.oxfmtrc.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "semi": true,
3
+ "singleQuote": true,
4
+ "tabWidth": 2,
5
+ "printWidth": 100,
6
+ "trailingComma": "all"
7
+ }
package/.oxlintrc.json ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "$schema": "./node_modules/oxlint/configuration_schema.json",
3
+ "plugins": ["react", "typescript"],
4
+ "categories": {
5
+ "correctness": "error",
6
+ "suspicious": "warn"
7
+ },
8
+ "rules": {
9
+ "react-in-jsx-scope": "off"
10
+ }
11
+ }