@stacksjs/defaults 0.72.64 → 0.72.67
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.
package/ide/vscode/package.json
CHANGED
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@stacksjs/defaults",
|
|
3
3
|
"type": "module",
|
|
4
4
|
"sideEffects": false,
|
|
5
|
-
"version": "0.72.
|
|
5
|
+
"version": "0.72.67",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "git+https://github.com/stacksjs/stacks.git",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@iconify-json/f7": "^1.2.2",
|
|
53
53
|
"@iconify-json/hugeicons": "^1.2.27",
|
|
54
|
-
"@stacksjs/mobile": "^0.72.
|
|
54
|
+
"@stacksjs/mobile": "^0.72.67",
|
|
55
55
|
"@stacksjs/sanitizer": "^0.2.113"
|
|
56
56
|
},
|
|
57
57
|
"scripts": {
|
|
@@ -54,8 +54,23 @@ const className = useReactiveProp<string>('class', '')
|
|
|
54
54
|
padding-bottom: var(--native-safe-area-bottom);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
/*
|
|
58
|
+
* Clearance for the fixed tab bar, and ONLY where a tab bar can appear.
|
|
59
|
+
*
|
|
60
|
+
* The slot element exists in the DOM whenever `tabBar` is set, but a bottom
|
|
61
|
+
* tab bar is a mobile control — apps hide its contents at desktop widths
|
|
62
|
+
* (`md:hidden`). `:has()` matches the slot either way, so this reserved 5rem
|
|
63
|
+
* on desktop too: eighty pixels of empty, scrollable nothing below the
|
|
64
|
+
* footer that a visitor could scroll into, which reads as a broken page.
|
|
65
|
+
*
|
|
66
|
+
* Scoped to below `md` (768px, the framework's own breakpoint and where
|
|
67
|
+
* NativeTabBar stops being shown) so the clearance exists exactly when the
|
|
68
|
+
* thing it is clearing does.
|
|
69
|
+
*/
|
|
70
|
+
@media (max-width: 767.98px) {
|
|
71
|
+
.native-app-shell:has(.native-app-tab-slot) .native-app-content {
|
|
72
|
+
padding-bottom: calc(5rem + var(--native-safe-area-bottom));
|
|
73
|
+
}
|
|
59
74
|
}
|
|
60
75
|
|
|
61
76
|
.native-app-sticky-top {
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
name: Deploy
|
|
2
|
+
|
|
3
|
+
# Push to deploy.
|
|
4
|
+
#
|
|
5
|
+
# Gated on CI rather than firing on the push itself: `buddy deploy` activates a
|
|
6
|
+
# release atomically, so the failure mode of deploying an untested commit is a
|
|
7
|
+
# live site running it, not a red check somebody notices later.
|
|
8
|
+
on:
|
|
9
|
+
workflow_run:
|
|
10
|
+
workflows: [CI]
|
|
11
|
+
types: [completed]
|
|
12
|
+
branches: [main]
|
|
13
|
+
|
|
14
|
+
# Ship a specific commit without pushing, and reach environments that no
|
|
15
|
+
# branch maps to.
|
|
16
|
+
workflow_dispatch:
|
|
17
|
+
inputs:
|
|
18
|
+
environment:
|
|
19
|
+
description: Which environment to deploy
|
|
20
|
+
type: choice
|
|
21
|
+
options: [production, staging, development]
|
|
22
|
+
default: production
|
|
23
|
+
|
|
24
|
+
concurrency:
|
|
25
|
+
group: deploy-${{ github.event.inputs.environment || 'production' }}
|
|
26
|
+
# Never cancel a deploy in flight. Half of one is a release uploaded but not
|
|
27
|
+
# activated, or services restarted against the previous release's env.
|
|
28
|
+
cancel-in-progress: false
|
|
29
|
+
|
|
30
|
+
jobs:
|
|
31
|
+
deploy:
|
|
32
|
+
# `workflow_run` fires for failed runs too — that is the point of the
|
|
33
|
+
# gate, so check the conclusion.
|
|
34
|
+
if: github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success'
|
|
35
|
+
runs-on: ubuntu-latest
|
|
36
|
+
# Attach a GitHub Environment to get required reviewers and to scope these
|
|
37
|
+
# secrets to it.
|
|
38
|
+
environment: ${{ github.event.inputs.environment || 'production' }}
|
|
39
|
+
|
|
40
|
+
steps:
|
|
41
|
+
- name: Checkout
|
|
42
|
+
uses: actions/checkout@v6
|
|
43
|
+
with:
|
|
44
|
+
# The exact commit CI approved, not whatever main points at now.
|
|
45
|
+
ref: ${{ github.event.workflow_run.head_sha || github.ref }}
|
|
46
|
+
|
|
47
|
+
- name: Setup Bun
|
|
48
|
+
uses: oven-sh/setup-bun@v2
|
|
49
|
+
|
|
50
|
+
- name: Setup Pantry
|
|
51
|
+
uses: home-lang/pantry/packages/action@main
|
|
52
|
+
|
|
53
|
+
- name: Install dependencies
|
|
54
|
+
run: bun install --frozen-lockfile
|
|
55
|
+
|
|
56
|
+
# The deploy talks to the server as root over SSH with BatchMode on, so
|
|
57
|
+
# the key has to be in an agent before it runs — there is no prompt to
|
|
58
|
+
# fall back to.
|
|
59
|
+
- name: Load the deploy key
|
|
60
|
+
uses: webfactory/ssh-agent@v0.9.0
|
|
61
|
+
with:
|
|
62
|
+
ssh-private-key: ${{ secrets.DEPLOY_SSH_KEY }}
|
|
63
|
+
|
|
64
|
+
- name: Deploy
|
|
65
|
+
run: ./buddy deploy --${{ github.event.inputs.environment == 'staging' && 'staging' || github.event.inputs.environment == 'development' && 'dev' || 'prod' }} --yes
|
|
66
|
+
env:
|
|
67
|
+
# Decrypts .env.production. Without it the encrypted values silently
|
|
68
|
+
# fall back to defaults, which is how an app deploys with the wrong
|
|
69
|
+
# APP_KEY and invalidates every session it had.
|
|
70
|
+
DOTENV_PRIVATE_KEY_PRODUCTION: ${{ secrets.DOTENV_PRIVATE_KEY_PRODUCTION }}
|
|
71
|
+
# DNS records are written through the registrar that administers the
|
|
72
|
+
# zone, declared in config/cloud.ts. Keep these in the environment
|
|
73
|
+
# even when they are also in .env.production — a missing one now
|
|
74
|
+
# fails loudly instead of reaching for another provider's keys.
|
|
75
|
+
PORKBUN_API_KEY: ${{ secrets.PORKBUN_API_KEY }}
|
|
76
|
+
PORKBUN_SECRET_KEY: ${{ secrets.PORKBUN_SECRET_KEY }}
|
|
77
|
+
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|