diff --git a/.github/workflows/command-l10n-update.yml b/.github/workflows/command-l10n-update.yml index c244e61937..8557b5bdfe 100644 --- a/.github/workflows/command-l10n-update.yml +++ b/.github/workflows/command-l10n-update.yml @@ -78,6 +78,11 @@ jobs: - name: Install dependencies & build l10n run: | + # Replace locally linked npm packages with the original ones + # to ensure the workflow works with the same versions as in the server repository. + # https://github.com/nextcloud-libraries/nextcloud-vue/blob/main/package.json + npm install @mdi/svg@^7.4.47 @mdi/js@^7.4.47 vue-material-design-icons@5.3.1 --save-dev + npm ci npm run l10n:extract --if-present diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index a15468aacf..b0024b28bb 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -47,6 +47,13 @@ jobs: - name: Set up npm ${{ steps.versions.outputs.npmVersion }} run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" + - name: Install linked dependencies + run: | + # Replace locally linked npm packages with the original ones + # to ensure the workflow works with the same versions as in the server repository. + # https://github.com/nextcloud-libraries/nextcloud-vue/blob/main/package.json + npm install @mdi/svg@^7.4.47 @mdi/js@^7.4.47 vue-material-design-icons@5.3.1 --save-dev + - name: Install dependencies run: | npm ci diff --git a/.github/workflows/l10n.yml b/.github/workflows/l10n.yml index 4830354567..f7b23a91df 100644 --- a/.github/workflows/l10n.yml +++ b/.github/workflows/l10n.yml @@ -33,6 +33,13 @@ jobs: - name: Set up npm ${{ steps.versions.outputs.npmVersion }} run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" + - name: Install linked dependencies + run: | + # Replace locally linked npm packages with the original ones + # to ensure the workflow works with the same versions as in the server repository. + # https://github.com/nextcloud-libraries/nextcloud-vue/blob/main/package.json + npm install @mdi/svg@^7.4.47 @mdi/js@^7.4.47 vue-material-design-icons@5.3.1 --save-dev + - name: Install dependencies run: npm ci diff --git a/.github/workflows/lint-eslint.yml b/.github/workflows/lint-eslint.yml index 7f27d108e1..8084ed6ad3 100644 --- a/.github/workflows/lint-eslint.yml +++ b/.github/workflows/lint-eslint.yml @@ -75,6 +75,13 @@ jobs: - name: Set up npm ${{ steps.versions.outputs.npmVersion }} run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}' + - name: Install linked dependencies + run: | + # Replace locally linked npm packages with the original ones + # to ensure the workflow works with the same versions as in the server repository. + # https://github.com/nextcloud-libraries/nextcloud-vue/blob/main/package.json + npm install @mdi/svg@^7.4.47 @mdi/js@^7.4.47 vue-material-design-icons@5.3.1 --save-dev + - name: Install dependencies env: CYPRESS_INSTALL_BINARY: 0 diff --git a/.github/workflows/lint-stylelint.yml b/.github/workflows/lint-stylelint.yml index 9601a972fd..f0d364d4aa 100644 --- a/.github/workflows/lint-stylelint.yml +++ b/.github/workflows/lint-stylelint.yml @@ -44,6 +44,13 @@ jobs: - name: Set up npm ${{ steps.versions.outputs.npmVersion }} run: npm i -g 'npm@${{ steps.versions.outputs.npmVersion }}' + - name: Install linked dependencies + run: | + # Replace locally linked npm packages with the original ones + # to ensure the workflow works with the same versions as in the server repository. + # https://github.com/nextcloud-libraries/nextcloud-vue/blob/main/package.json + npm install @mdi/svg@^7.4.47 @mdi/js@^7.4.47 vue-material-design-icons@5.3.1 --save-dev + - name: Install dependencies env: CYPRESS_INSTALL_BINARY: 0 diff --git a/.github/workflows/node-test.yml b/.github/workflows/node-test.yml index 511003ca7d..99ef4f0a0c 100644 --- a/.github/workflows/node-test.yml +++ b/.github/workflows/node-test.yml @@ -83,7 +83,13 @@ jobs: env: CYPRESS_INSTALL_BINARY: 0 run: | + # Replace locally linked npm packages with the original ones + # to ensure the workflow works with the same versions as in the server repository. + # https://github.com/nextcloud-libraries/nextcloud-vue/blob/main/package.json + npm install @mdi/svg@^7.4.47 @mdi/js@^7.4.47 vue-material-design-icons@5.3.1 --save-dev + npm ci + npm run build --if-present - name: Test diff --git a/.github/workflows/npm-audit-fix.yml b/.github/workflows/npm-audit-fix.yml index 1c7e07cb43..efdc3bb1c3 100644 --- a/.github/workflows/npm-audit-fix.yml +++ b/.github/workflows/npm-audit-fix.yml @@ -61,7 +61,13 @@ jobs: env: CYPRESS_INSTALL_BINARY: 0 run: | + # Replace locally linked npm packages with the original ones + # to ensure the workflow works with the same versions as in the server repository. + # https://github.com/nextcloud-libraries/nextcloud-vue/blob/main/package.json + npm install @mdi/svg@^7.4.47 @mdi/js@^7.4.47 vue-material-design-icons@5.3.1 --save-dev + npm ci + npm run build --if-present - name: Create Pull Request diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 4c3849051a..2702a234a7 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -55,7 +55,13 @@ jobs: env: CYPRESS_INSTALL_BINARY: 0 run: | + # Replace locally linked npm packages with the original ones + # to ensure the workflow works with the same versions as in the server repository. + # https://github.com/nextcloud-libraries/nextcloud-vue/blob/main/package.json + npm install @mdi/svg@^7.4.47 @mdi/js@^7.4.47 vue-material-design-icons@5.3.1 --save-dev + npm ci + npm run build --if-present - name: Publish diff --git a/package-lock.json b/package-lock.json index 68b62432b7..51d4f99ca9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -62,8 +62,8 @@ "@cypress/vue2": "^2.0.1", "@fontsource/roboto": "^5.2.5", "@jest/globals": "^29.7.0", - "@mdi/js": "^7.4.47", - "@mdi/svg": "^7.4.47", + "@mdi/js": "file:../nc-mdi-js", + "@mdi/svg": "file:../nc-mdi-svg/dist", "@nextcloud/babel-config": "^1.2.0", "@nextcloud/browserslist-config": "^3.0.1", "@nextcloud/eslint-config": "^8.4.2", @@ -101,7 +101,7 @@ "url-loader": "^4.1.1", "vite": "^6.2.4", "vue-eslint-parser": "^10.1.1", - "vue-material-design-icons": "^5.2.0", + "vue-material-design-icons": "file:../nc-vue-material-design-icons/dist", "vue-styleguidist": "~4.72.0", "vue-template-compiler": "^2.7.16", "webpack": "^5.98.0", @@ -112,6 +112,50 @@ "npm": "^10.0.0" } }, + "../nc-mdi-js": { + "name": "@mdi/js", + "version": "7.4.47", + "dev": true, + "license": "Apache-2.0", + "devDependencies": { + "@mdi/svg": "file:../nc-mdi-svg/dist", + "@mdi/util": "^0.3.2", + "typescript": "^5.6.3" + } + }, + "../nc-mdi-js/node_modules/@mdi/svg": { + "resolved": "../nc-mdi-svg/dist", + "link": true + }, + "../nc-mdi-js/node_modules/@mdi/util": { + "version": "0.3.2", + "dev": true, + "license": "MIT" + }, + "../nc-mdi-js/node_modules/typescript": { + "version": "5.6.3", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "../nc-mdi-svg/dist": { + "name": "@mdi/svg", + "version": "7.4.47", + "dev": true, + "license": "Apache-2.0" + }, + "../nc-vue-material-design-icons/dist": { + "name": "vue-material-design-icons", + "version": "3.2.0", + "dev": true, + "license": "MIT" + }, "node_modules/@aashutoshrathi/word-wrap": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", @@ -3947,16 +3991,12 @@ } }, "node_modules/@mdi/js": { - "version": "7.4.47", - "resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.4.47.tgz", - "integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==", - "dev": true + "resolved": "../nc-mdi-js", + "link": true }, "node_modules/@mdi/svg": { - "version": "7.4.47", - "resolved": "https://registry.npmjs.org/@mdi/svg/-/svg-7.4.47.tgz", - "integrity": "sha512-WQ2gDll12T9WD34fdRFgQVgO8bag3gavrAgJ0frN4phlwdJARpE6gO1YvLEMJR0KKgoc+/Ea/A0Pp11I00xBvw==", - "dev": true + "resolved": "../nc-mdi-svg/dist", + "link": true }, "node_modules/@microsoft/api-extractor": { "version": "7.52.1", @@ -30498,10 +30538,8 @@ } }, "node_modules/vue-material-design-icons": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/vue-material-design-icons/-/vue-material-design-icons-5.3.1.tgz", - "integrity": "sha512-6UNEyhlTzlCeT8ZeX5WbpUGFTTPSbOoTQeoASTv7X4Ylh0pe8vltj+36VMK56KM0gG8EQVoMK/Qw/6evalg8lA==", - "dev": true + "resolved": "../nc-vue-material-design-icons/dist", + "link": true }, "node_modules/vue-resize": { "version": "1.0.1", diff --git a/package.json b/package.json index 1fe8b620f0..790588e2cb 100644 --- a/package.json +++ b/package.json @@ -138,8 +138,8 @@ "@cypress/vue2": "^2.0.1", "@fontsource/roboto": "^5.2.5", "@jest/globals": "^29.7.0", - "@mdi/js": "^7.4.47", - "@mdi/svg": "^7.4.47", + "@mdi/js": "file:../nc-mdi-js", + "@mdi/svg": "file:../nc-mdi-svg/dist", "@nextcloud/babel-config": "^1.2.0", "@nextcloud/browserslist-config": "^3.0.1", "@nextcloud/eslint-config": "^8.4.2", @@ -177,7 +177,7 @@ "url-loader": "^4.1.1", "vite": "^6.2.4", "vue-eslint-parser": "^10.1.1", - "vue-material-design-icons": "^5.2.0", + "vue-material-design-icons": "file:../nc-vue-material-design-icons/dist", "vue-styleguidist": "~4.72.0", "vue-template-compiler": "^2.7.16", "webpack": "^5.98.0",