@@ -16,10 +16,6 @@ inputs:
16
16
description : " Path of the directory containing your site"
17
17
required : false
18
18
default : " ."
19
- deno-setup-task :
20
- description : " Name of the optional Deno task to run before build (will be skipped if undefined)"
21
- required : false
22
- default : " setup"
23
19
24
20
runs :
25
21
using : composite
@@ -108,17 +104,25 @@ runs:
108
104
with :
109
105
node-version : ${{ inputs.node-version }}
110
106
111
- - name : Install (npm/yarn/pnpm)
112
- if : ${{ env.PACKAGE_MANAGER != 'deno' }}
113
- shell : bash
114
- working-directory : ${{ inputs.path }}
115
- run : $PACKAGE_MANAGER install
116
-
117
- - name : Cache deps & vendor (Deno)
118
- if : ${{ env.PACKAGE_MANAGER == 'deno' }}
107
+ - name : Install
119
108
shell : bash
120
109
working-directory : ${{ inputs.path }}
121
- run : deno task ${{ inputs.deno-setup-task }} || echo "No deno ${{ inputs.deno-setup-task }} task defined - skipping"
110
+ run : |
111
+ if [ "$PACKAGE_MANAGER" = "deno" ]; then
112
+ # For Deno projects with deno.json, cache dependencies
113
+ if [ -f "deno.json" ] || [ -f "deno.jsonc" ]; then
114
+ echo "Caching Deno dependencies..."
115
+ deno cache --lock=deno.lock --lock-write **/*.ts **/*.tsx 2>/dev/null || true
116
+ fi
117
+ # For hybrid projects with package.json, install npm dependencies
118
+ if [ -f "package.json" ]; then
119
+ echo "Installing npm dependencies with Deno..."
120
+ deno install --allow-scripts
121
+ fi
122
+ else
123
+ # Standard package manager install
124
+ $PACKAGE_MANAGER install
125
+ fi
122
126
123
127
- name : Build (npm/yarn/pnpm/bun)
124
128
if : ${{ env.PACKAGE_MANAGER != 'deno' }}
0 commit comments