Skip to content

Commit 8527f3e

Browse files
frozenbananamahiariraniretrevorRon Trevorgithub-actions[bot]
authored
Release 1.0.4: Multiple PRs for NC32 compatibility, frontend modernization, and storage enhancements (#171)
* Frontend Upgrades (#165) * feat(build): migrate frontend pipeline to vite and pnpm - replace webpack entrypoints with @nextcloud/vite-config and Vue 3 bootstrap - switch lockfile and package manager metadata to pnpm with updated dependencies - move source styles to styles/ and ignore generated /css and /js artifacts * chore(tooling): replace legacy lint and format configs - add oxlint and biome configuration files and update VS Code recommendations - remove old eslint, prettier, stylelint, babel, and phpactor config files - keep workspace support files aligned with the new formatting baseline * fix(files-ui): restore dialogs and action compatibility - load SVG icons as raw markup and harden SvgHelper decoding paths - update file action compatibility wrappers for modern Nextcloud action signatures - switch feedback and settings flows to current Nextcloud auth, router, and dialog APIs * chore(ci): align workflows with pnpm and biome - run frontend CI checks with pnpm, oxlint, and biome format validation - switch release workflow node setup to pnpm-based dependency management - keep php-cs-fixer in check mode instead of auto-committing fixes * chore(deploy): update build automation for pnpm assets - migrate Makefile install, build, and lint targets from npm scripts to pnpm - update packaging excludes for new config files and styles source directory - refresh staging deploy script to bootstrap pnpm and rebuild generated css/js assets * chore(deploy): makefile cleanup * fix(ci): setup pnpm before node cache in lint workflow - install pnpm before actions/setup-node cache=pnpm to avoid missing executable errors - rename php lint job to backend-lint for clearer check naming * chore(ci): cleanup * fix(ci): align pnpm action version with packageManager - use pnpm/action-setup version 10.28.2 to match packageManager field - prevent setup failure from mixed pnpm version declarations in workflows * feat(frontend): strengthen TypeScript safety and tooling - remove oxlint and standardize lint/format workflows on Biome with check/fix script pairs - add vue-tsc type checking and integrate @nextcloud/typings for NC33-oriented global type coverage - migrate frontend source modules from JavaScript to TypeScript and update Vite entrypoints/config - update Makefile and CI lint pipeline to run pnpm + biome + typecheck consistently * feat(ci): stage deployment * fix(staging): upload latest deploy script via ssh payload (#166) - replace flaky scp step with base64 payload transfer in the ssh deploy step - always write latest scripts/stage/deploy.sh to /tmp/deploy.sh before execution - keep deployment flow explicit: copy script first, then chmod and run * feat: add confirmation feature to access on gateway (#164) * feat: add confirmation of access on gateway * chore: fix code style * fix(dialogs): handle cancel flows without false action failures - treat FilePicker close events as user cancels and return safely from move/restore flows - guard dialog .show() promises so cancel/close does not surface fake error toasts - apply the same safe-cancel pattern to Move, Export, and Swarm Reference dialogs * chore(tooling): enforce pre-commit quality checks - add simple-git-hooks pre-commit hook to run format, lint, and typecheck - introduce pnpm check script as the unified dry-run gate for local commits - keep :fix variants available for developers to apply formatting/lint fixes --------- Co-authored-by: mahiarirani <10583381+mahiarirani@users.noreply.github.com> * feat: Create API for new storage folder (#168) * First version, wip * feat(#1989): create api for new Swarm storage folder. - add: conforms to OCS OpenAPI standard - add: add composer packages for OCS extractor * feat(#1989): create api for new Swarm storage folder. - reverse previous commit * feat(#1989): create api for new Swarm storage folder. - reverse previous commit * feat(#1989): create api for new Swarm storage folder. - reverse previous commit * chore: precommit setup and lint fixes * feat(#1989): add ConfigurationController for storage creation - add: new ConfigurationController with create endpoint with redirect to NC URL. - add: corresponding route in routes.php * chore(#1989): Run php-cs-fixer on committed files * refactor: use const for the key on key * chore: code style * feat: reuse URL validation * chore: code style * feat: error and creation handling * feat: lint-stage and precommit rules * fix: lint ci * chore: apply automated formatting --------- Co-authored-by: Ron Trevor <ecoron@proton.me> Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * fix: NC 32 compatibilty for external storage folder name detection (#169) * feat: add host url to curl calls (#170) * Release 1.0.4: PR #164, #166, #168, #169, #170 --------- Co-authored-by: Mahyar Iranibazaz <mahiarirani@pm.me> Co-authored-by: mahiarirani <10583381+mahiarirani@users.noreply.github.com> Co-authored-by: retrevor <75954541+retrevor@users.noreply.github.com> Co-authored-by: Ron Trevor <ecoron@proton.me> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent 2b0102b commit 8527f3e

64 files changed

Lines changed: 10673 additions & 18430 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.eslintrc.js

Lines changed: 0 additions & 14 deletions
This file was deleted.

.github/workflows/lint.yml

Lines changed: 65 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
name: Lint
22

3+
permissions:
4+
contents: write
5+
36
on:
47
pull_request:
58
branches:
@@ -10,15 +13,16 @@ on:
1013
- reopened
1114

1215
jobs:
13-
php-cs-fixer:
16+
format-sync:
17+
name: Format Sync
1418
runs-on: ubuntu-latest
1519

16-
strategy:
17-
fail-fast: true
18-
1920
steps:
2021
- name: Checkout code
2122
uses: actions/checkout@v4
23+
with:
24+
ref: ${{ github.head_ref }}
25+
fetch-depth: 0
2226

2327
- name: Setup PHP
2428
uses: shivammathur/setup-php@v2
@@ -27,15 +31,66 @@ jobs:
2731
tools: composer
2832

2933
- name: Install php-cs-fixer
30-
run: composer require --dev friendsofphp/php-cs-fixer
34+
run: composer require --dev friendsofphp/php-cs-fixer nextcloud/coding-standard --no-interaction --no-progress --no-scripts
3135

32-
- name: Run php-cs-fixer
36+
- name: Apply php-cs-fixer
3337
run: vendor/bin/php-cs-fixer fix
3438

35-
- name: Commit changes
39+
- name: Setup pnpm
40+
uses: pnpm/action-setup@v4
41+
with:
42+
version: 10.28.2
43+
run_install: false
44+
45+
- name: Setup Node.js
46+
uses: actions/setup-node@v4
47+
with:
48+
node-version: "24"
49+
cache: "pnpm"
50+
51+
- name: Install JS dependencies
52+
run: pnpm install --frozen-lockfile
53+
54+
- name: Apply Biome format
55+
run: pnpm run format:fix
56+
57+
- name: Commit format changes
3658
uses: stefanzweifel/git-auto-commit-action@v5
3759
with:
38-
commit_message: "chore: fix code style"
39-
commit_options: "--no-verify"
40-
commit_user_name: "GitHub Actions"
60+
commit_message: "chore: apply automated formatting"
61+
commit_user_name: "github-actions[bot]"
4162
commit_user_email: "github-actions[bot]@users.noreply.github.com"
63+
commit_author: "github-actions[bot] <github-actions[bot]@users.noreply.github.com>"
64+
65+
frontend-lint:
66+
name: Frontend Lint
67+
runs-on: ubuntu-latest
68+
needs: format-sync
69+
70+
steps:
71+
- name: Checkout code
72+
uses: actions/checkout@v4
73+
with:
74+
ref: ${{ github.head_ref }}
75+
fetch-depth: 0
76+
77+
- name: Setup pnpm
78+
uses: pnpm/action-setup@v4
79+
with:
80+
version: 10.28.2
81+
run_install: false
82+
83+
- name: Setup Node.js
84+
uses: actions/setup-node@v4
85+
with:
86+
node-version: "24"
87+
cache: "pnpm"
88+
89+
- name: Install dependencies
90+
run: pnpm install --frozen-lockfile
91+
92+
- name: Run Biome lint
93+
run: pnpm run lint
94+
95+
- name: Run TypeScript type check
96+
run: pnpm run typecheck

.github/workflows/release.yml

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,21 +37,17 @@ jobs:
3737
with:
3838
path: ${{ env.APP_NAME }}
3939

40-
- name: Read package.json node and npm engines version
41-
uses: skjnldsv/read-package-engines-version-actions@v1.2
42-
id: versions
40+
- name: Set up node
41+
uses: actions/setup-node@v4
4342
with:
44-
path: ./${{ env.APP_NAME }}/
45-
fallbackNode: "^14"
46-
fallbackNpm: "^7"
43+
node-version: "24"
44+
cache: "pnpm"
45+
cache-dependency-path: ./${{ env.APP_NAME }}/pnpm-lock.yaml
4746

48-
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
49-
uses: actions/setup-node@v3
47+
- name: Set up pnpm
48+
uses: pnpm/action-setup@v4
5049
with:
51-
node-version: ${{ steps.versions.outputs.nodeVersion }}
52-
53-
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
54-
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
50+
version: 10.28.2
5551

5652
- name: Run build
5753
run: |

.github/workflows/staging.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ jobs:
1313
- name: Checkout
1414
uses: actions/checkout@v4
1515

16+
- name: Prepare staging deploy script payload
17+
id: deploy_script
18+
run: |
19+
SCRIPT_B64="$(base64 < scripts/stage/deploy.sh | tr -d '\n')"
20+
echo "script_b64=$SCRIPT_B64" >> "$GITHUB_OUTPUT"
21+
1622
- name: Deploy
1723
uses: appleboy/ssh-action@master
1824
with:
@@ -22,4 +28,9 @@ jobs:
2228
proxy_host: ${{ vars.STAGING_PROXY_HOST }}
2329
proxy_username: ${{ vars.STAGING_PROXY_USER }}
2430
proxy_key: ${{ secrets.STAGING_PROXY_SSH_PRIVATE_KEY }}
25-
script: bash deploy
31+
script: |
32+
set -e
33+
SCRIPT_PATH="/tmp/deploy.sh"
34+
printf '%s' '${{ steps.deploy_script.outputs.script_b64 }}' | base64 -d > "$SCRIPT_PATH"
35+
chmod +x "$SCRIPT_PATH"
36+
bash "$SCRIPT_PATH"

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
.env
33
/build
44
/dev-environment
5-
js/nextcloud-swarm-plugin*.*
5+
/css
6+
/js
67
/.php-cs-fixer.cache
78

89
# Package Manages

.php-cs-fixer.dist.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ public function getRules(array $rules = []): array
3030
->ignoreVCSIgnored(true)
3131
->notPath('dev-environment')
3232
->notPath('build')
33+
->notPath('css')
34+
->notPath('js')
3335
->notPath('l10n')
3436
->notPath('src')
3537
->notPath('vendor')

.phpactor.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

.prettierignore

Lines changed: 0 additions & 8 deletions
This file was deleted.

.prettierrc.json

Lines changed: 0 additions & 15 deletions
This file was deleted.

.vscode/extensions.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"junstyle.php-cs-fixer",
99
"xdebug.php-debug",
1010
"bmewburn.vscode-intelephense-client",
11-
"esbenp.prettier-vscode"
11+
"biomejs.biome"
1212
],
1313
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
1414
"unwantedRecommendations": []

0 commit comments

Comments
 (0)