diff --git a/commitlint.config.js b/commitlint.config.js index 84dcb122a..bf74d2518 100644 --- a/commitlint.config.js +++ b/commitlint.config.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + module.exports = { extends: ['@commitlint/config-conventional'], }; diff --git a/cypress.config.js b/cypress.config.js index 52b6317b6..264a93c39 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + const { defineConfig } = require('cypress'); module.exports = defineConfig({ diff --git a/cypress/e2e/autoApproved.cy.js b/cypress/e2e/autoApproved.cy.js index 41a8cf4b9..c95946b00 100644 --- a/cypress/e2e/autoApproved.cy.js +++ b/cypress/e2e/autoApproved.cy.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import moment from 'moment'; describe('Auto-Approved Push Test', () => { diff --git a/cypress/e2e/login.cy.js b/cypress/e2e/login.cy.js index 418109b5b..42d408bd7 100644 --- a/cypress/e2e/login.cy.js +++ b/cypress/e2e/login.cy.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + describe('Login page', () => { beforeEach(() => { cy.visit('/login'); diff --git a/cypress/e2e/repo.cy.js b/cypress/e2e/repo.cy.js index 5eca98737..08432c547 100644 --- a/cypress/e2e/repo.cy.js +++ b/cypress/e2e/repo.cy.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + describe('Repo', () => { let cookies; let repoName; diff --git a/cypress/support/commands.js b/cypress/support/commands.js index 5117d6cfc..1624d8ad6 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // *********************************************** // This example commands.js shows you how to // create various custom commands and overwrite diff --git a/cypress/support/e2e.js b/cypress/support/e2e.js index 5df9c0186..0606927de 100644 --- a/cypress/support/e2e.js +++ b/cypress/support/e2e.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // *********************************************************** // This example support/e2e.js is processed and // loaded automatically before your test files. diff --git a/eslint.config.mjs b/eslint.config.mjs index 38c953971..b074b622f 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // @ts-check import { fileURLToPath } from 'node:url'; import { includeIgnoreFile } from '@eslint/compat'; @@ -9,6 +25,7 @@ import react from 'eslint-plugin-react'; import json from '@eslint/json'; import cypress from 'eslint-plugin-cypress'; import prettierConfig from 'eslint-config-prettier/flat'; +import licenseHeader from 'eslint-plugin-license-header'; // paths shouldn't start with ./ @@ -20,6 +37,13 @@ const gitignorePath = fileURLToPath( ), ); +const licenseHeaderPath = fileURLToPath( + new URL( + 'licenseHeader.js', + import.meta.url, + ), +); + export default defineConfig( includeIgnoreFile(gitignorePath, 'Imported .gitignore patterns'), { @@ -164,6 +188,16 @@ export default defineConfig( }, }, + { + name: 'license-header', + files: ['**/*.{js,jsx,mjs,cjs,ts,tsx}'], + plugins: { 'license-header': licenseHeader }, + rules: { + 'license-header/header': ['error', licenseHeaderPath], + }, + ignores: ['**/licenseHeader.js'], + }, + // disables rules which prettier controls // https://prettier.io/docs/integrating-with-linters prettierConfig, diff --git a/experimental/li-cli/jest.config.ts b/experimental/li-cli/jest.config.ts index 182c6457f..cd65b5bd3 100644 --- a/experimental/li-cli/jest.config.ts +++ b/experimental/li-cli/jest.config.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { pathsToModuleNameMapper } from 'ts-jest'; import { compilerOptions } from './tsconfig.json'; import type { JestConfigWithTsJest } from 'ts-jest'; diff --git a/experimental/li-cli/src/cli.integration.test.ts b/experimental/li-cli/src/cli.integration.test.ts index 338ad5949..130db3634 100644 --- a/experimental/li-cli/src/cli.integration.test.ts +++ b/experimental/li-cli/src/cli.integration.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect } from '@jest/globals'; import { execFile } from 'node:child_process'; import path from 'node:path'; diff --git a/experimental/li-cli/src/cli.ts b/experimental/li-cli/src/cli.ts index 4dadc608d..1561b8e6c 100644 --- a/experimental/li-cli/src/cli.ts +++ b/experimental/li-cli/src/cli.ts @@ -1,5 +1,21 @@ #!/usr/bin/env node +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import yargs from 'yargs'; import { hideBin } from 'yargs/helpers'; import addLicenseCMD from '@/cmds/add-license'; diff --git a/experimental/li-cli/src/cmds/add-license.ts b/experimental/li-cli/src/cmds/add-license.ts index 5216e16ec..7dc81a2ab 100644 --- a/experimental/li-cli/src/cmds/add-license.ts +++ b/experimental/li-cli/src/cmds/add-license.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { setTimeout } from 'node:timers/promises'; import { search } from '@inquirer/prompts'; import { getLicenseList, LicensesMap } from '@/lib/spdx'; diff --git a/experimental/li-cli/src/lib/chooseALicense.ts b/experimental/li-cli/src/lib/chooseALicense.ts index 09bd0cb50..32ff9e6ba 100644 --- a/experimental/li-cli/src/lib/chooseALicense.ts +++ b/experimental/li-cli/src/lib/chooseALicense.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import YAML from 'yaml'; import z from 'zod'; import { CalInfo } from './inventory'; diff --git a/experimental/li-cli/src/lib/inventory.ts b/experimental/li-cli/src/lib/inventory.ts index d3637dc5a..4c2d339c5 100644 --- a/experimental/li-cli/src/lib/inventory.ts +++ b/experimental/li-cli/src/lib/inventory.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { z } from 'zod'; export type CalInfo = { diff --git a/experimental/li-cli/src/lib/spdx.ts b/experimental/li-cli/src/lib/spdx.ts index be24b13e7..7bc7f07e1 100644 --- a/experimental/li-cli/src/lib/spdx.ts +++ b/experimental/li-cli/src/lib/spdx.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import z from 'zod'; import localSPDX from './licenses.json'; diff --git a/index.ts b/index.ts index 433e8cd0a..5352e6bf0 100755 --- a/index.ts +++ b/index.ts @@ -1,5 +1,21 @@ #!/usr/bin/env tsx +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import path from 'path'; import yargs from 'yargs'; import { hideBin } from 'yargs/helpers'; diff --git a/licenseHeader.js b/licenseHeader.js new file mode 100644 index 000000000..108984ed1 --- /dev/null +++ b/licenseHeader.js @@ -0,0 +1,15 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ diff --git a/nyc.config.js b/nyc.config.js index 4f165dfea..ab56c065f 100644 --- a/nyc.config.js +++ b/nyc.config.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + const opts = { checkCoverage: true, lines: 80, diff --git a/package-lock.json b/package-lock.json index bb098c111..7473fd2a1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -92,6 +92,7 @@ "eslint": "^9.39.2", "eslint-config-prettier": "^10.1.8", "eslint-plugin-cypress": "^5.2.1", + "eslint-plugin-license-header": "^0.9.0", "eslint-plugin-react": "^7.37.5", "fast-check": "^4.5.3", "globals": "^16.5.0", @@ -1034,6 +1035,7 @@ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -4345,6 +4347,7 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.8.tgz", "integrity": "sha512-ebO/Yl+EAvVe8DnMfi+iaAyIqYdK0q/q0y0rw82INWEKJOBe6b/P3YWE8NW7oOlF/nXFNrHwhARrN/hdgDkraA==", "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -4399,6 +4402,7 @@ "node_modules/@types/react": { "version": "17.0.74", "license": "MIT", + "peer": true, "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -4584,6 +4588,7 @@ "integrity": "sha512-IgSWvLobTDOjnaxAfDTIHaECbkNlAlKv2j5SjpB2v7QHKv1FIfjwMy8FsDbVfDX/KjmCmYICcw7uGaXLhtsLNg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.56.0", "@typescript-eslint/types": "8.56.0", @@ -5161,6 +5166,7 @@ "version": "8.15.0", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -5781,6 +5787,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001726", "electron-to-chromium": "^1.5.173", @@ -6972,6 +6979,7 @@ "version": "2.4.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" @@ -7259,6 +7267,7 @@ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -7340,6 +7349,19 @@ "eslint": ">=9" } }, + "node_modules/eslint-plugin-license-header": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-license-header/-/eslint-plugin-license-header-0.9.0.tgz", + "integrity": "sha512-Qd7cCljVC0h+uJjcIuYjpRFrdzwqBBDCi5U0ocr6Bt/5t3zuBkZSa1Igc4lBLEVBDoUUqIcok/UUNAAu6CtwmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "requireindex": "^1.2.0" + }, + "peerDependencies": { + "eslint": "^9 || ^10" + } + }, "node_modules/eslint-plugin-react": { "version": "7.37.5", "dev": true, @@ -7678,6 +7700,7 @@ "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.19.0.tgz", "integrity": "sha512-0csaMkGq+vaiZTmSMMGkfdCOabYv192VbytFypcvI0MANrp+4i/7yEkJ0sbAEhycQjntaKGzYfjfXQyVb7BHMA==", "license": "MIT", + "peer": true, "dependencies": { "cookie": "~0.7.2", "cookie-signature": "~1.0.7", @@ -10759,6 +10782,7 @@ "node_modules/mongodb": { "version": "5.9.2", "license": "Apache-2.0", + "peer": true, "dependencies": { "bson": "^5.5.0", "mongodb-connection-string-url": "^2.6.0", @@ -12056,6 +12080,7 @@ "node_modules/react": { "version": "16.14.0", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -12068,6 +12093,7 @@ "node_modules/react-dom": { "version": "16.14.0", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -12261,6 +12287,16 @@ "dev": true, "license": "ISC" }, + "node_modules/requireindex": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", + "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.5" + } + }, "node_modules/resolve": { "version": "2.0.0-next.5", "dev": true, @@ -13439,6 +13475,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -13821,6 +13858,7 @@ "version": "5.9.3", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -14087,6 +14125,7 @@ "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", @@ -14221,6 +14260,7 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -14234,6 +14274,7 @@ "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/chai": "^5.2.2", "@vitest/expect": "3.2.4", diff --git a/package.json b/package.json index 1bb1e00dd..ae40c5192 100644 --- a/package.json +++ b/package.json @@ -161,6 +161,7 @@ "eslint": "^9.39.2", "eslint-config-prettier": "^10.1.8", "eslint-plugin-cypress": "^5.2.1", + "eslint-plugin-license-header": "^0.9.0", "eslint-plugin-react": "^7.37.5", "fast-check": "^4.5.3", "globals": "^16.5.0", diff --git a/packages/git-proxy-cli/index.ts b/packages/git-proxy-cli/index.ts index 31ebc8a4c..008c6a1cf 100644 --- a/packages/git-proxy-cli/index.ts +++ b/packages/git-proxy-cli/index.ts @@ -1,4 +1,21 @@ #!/usr/bin/env node + +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import axios from 'axios'; import yargs from 'yargs/yargs'; import { hideBin } from 'yargs/helpers'; diff --git a/packages/git-proxy-cli/test/testCli.test.ts b/packages/git-proxy-cli/test/testCli.test.ts index 3e5545d1f..a9297cd88 100644 --- a/packages/git-proxy-cli/test/testCli.test.ts +++ b/packages/git-proxy-cli/test/testCli.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import * as helper from './testCliUtils'; import path from 'path'; import { describe, it, beforeAll, afterAll } from 'vitest'; diff --git a/packages/git-proxy-cli/test/testCliUtils.ts b/packages/git-proxy-cli/test/testCliUtils.ts index a0b19ceb0..d9acff255 100644 --- a/packages/git-proxy-cli/test/testCliUtils.ts +++ b/packages/git-proxy-cli/test/testCliUtils.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import fs from 'fs'; import util from 'util'; import { exec } from 'child_process'; diff --git a/plugins/git-proxy-plugin-samples/example.cjs b/plugins/git-proxy-plugin-samples/example.cjs index 581984cad..8478caf2a 100644 --- a/plugins/git-proxy-plugin-samples/example.cjs +++ b/plugins/git-proxy-plugin-samples/example.cjs @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /** * This is a sample plugin that logs a message when the pull action is called. It is written using * CommonJS modules to demonstrate the use of CommonJS in plugins. diff --git a/plugins/git-proxy-plugin-samples/index.js b/plugins/git-proxy-plugin-samples/index.js index 47f36658b..63b7aea21 100644 --- a/plugins/git-proxy-plugin-samples/index.js +++ b/plugins/git-proxy-plugin-samples/index.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /** * This is a sample plugin that logs a message when the pull action is called. It is written using * ES modules to demonstrate the use of ESM in plugins. diff --git a/scripts/add-banner.ts b/scripts/add-banner.ts index f4c54688f..301190662 100644 --- a/scripts/add-banner.ts +++ b/scripts/add-banner.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import * as fs from 'fs'; import * as path from 'path'; diff --git a/scripts/doc-schema.js b/scripts/doc-schema.js index 5da889f6e..4e2e04438 100644 --- a/scripts/doc-schema.js +++ b/scripts/doc-schema.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + const { execFileSync } = require('child_process'); const { writeFileSync, readFileSync, mkdtempSync } = require('fs'); const { tmpdir } = require('os'); diff --git a/scripts/fix-shebang.js b/scripts/fix-shebang.js index 06cd5b8e6..f19e839ec 100644 --- a/scripts/fix-shebang.js +++ b/scripts/fix-shebang.js @@ -1,5 +1,21 @@ #!/usr/bin/env node +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + const fs = require('fs'); const path = require('path'); diff --git a/scripts/prepare.js b/scripts/prepare.js index 66ab0320c..044a96bb8 100644 --- a/scripts/prepare.js +++ b/scripts/prepare.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // ======= // Import. // ======= diff --git a/src/config/ConfigLoader.ts b/src/config/ConfigLoader.ts index 9c4d70625..6f8bd5bd0 100644 --- a/src/config/ConfigLoader.ts +++ b/src/config/ConfigLoader.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import * as fs from 'fs'; import * as path from 'path'; import axios from 'axios'; diff --git a/src/config/env.ts b/src/config/env.ts index 14b63a7f6..1534dad96 100644 --- a/src/config/env.ts +++ b/src/config/env.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { ServerConfig } from './types'; const { diff --git a/src/config/file.ts b/src/config/file.ts index 658553b6e..9d6b2bd79 100644 --- a/src/config/file.ts +++ b/src/config/file.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { readFileSync } from 'fs'; import { join } from 'path'; import { Convert } from './generated/config'; diff --git a/src/config/index.ts b/src/config/index.ts index 133750dbb..be99a562f 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { existsSync, readFileSync } from 'fs'; import defaultSettings from '../../proxy.config.json'; diff --git a/src/config/types.ts b/src/config/types.ts index 49c7f811b..300deb4cf 100644 --- a/src/config/types.ts +++ b/src/config/types.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { GitProxyConfig } from './generated/config'; export type ServerConfig = { diff --git a/src/config/validators.ts b/src/config/validators.ts index 17da0617b..53fd958c5 100644 --- a/src/config/validators.ts +++ b/src/config/validators.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Convert, GitProxyConfig } from './generated/config'; const validationChain = [validateCommitConfig]; diff --git a/src/constants/languageColors.ts b/src/constants/languageColors.ts index f2038c89f..a472274fe 100644 --- a/src/constants/languageColors.ts +++ b/src/constants/languageColors.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export const languageColors: Record = { '1C Enterprise': '#814CCC', '2-Dimensional Array': '#38761D', diff --git a/src/db/file/helper.ts b/src/db/file/helper.ts index 24537acff..039b7304e 100644 --- a/src/db/file/helper.ts +++ b/src/db/file/helper.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { existsSync, mkdirSync } from 'fs'; export const getSessionStore = (): undefined => undefined; diff --git a/src/db/file/index.ts b/src/db/file/index.ts index 3f746dcff..dc9588cd5 100644 --- a/src/db/file/index.ts +++ b/src/db/file/index.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import * as users from './users'; import * as repo from './repo'; import * as pushes from './pushes'; diff --git a/src/db/file/pushes.ts b/src/db/file/pushes.ts index 8fccfa276..f3345db71 100644 --- a/src/db/file/pushes.ts +++ b/src/db/file/pushes.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import _ from 'lodash'; import Datastore from '@seald-io/nedb'; import { Action } from '../../proxy/actions/Action'; diff --git a/src/db/file/repo.ts b/src/db/file/repo.ts index fed991578..5da868fe4 100644 --- a/src/db/file/repo.ts +++ b/src/db/file/repo.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import Datastore from '@seald-io/nedb'; import _ from 'lodash'; diff --git a/src/db/file/users.ts b/src/db/file/users.ts index a39b5b170..c311568f0 100644 --- a/src/db/file/users.ts +++ b/src/db/file/users.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import fs from 'fs'; import Datastore from '@seald-io/nedb'; diff --git a/src/db/helper.ts b/src/db/helper.ts index 9d415c6e6..35ef81180 100644 --- a/src/db/helper.ts +++ b/src/db/helper.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export const toClass = function (obj: T, proto: U): U { const out = JSON.parse(JSON.stringify(obj)); out.__proto__ = proto; diff --git a/src/db/index.ts b/src/db/index.ts index 50d877922..a9e65f977 100644 --- a/src/db/index.ts +++ b/src/db/index.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { AuthorisedRepo } from '../config/generated/config'; import { PushQuery, Repo, RepoQuery, Sink, User, UserQuery } from './types'; import * as bcrypt from 'bcryptjs'; diff --git a/src/db/mongo/helper.ts b/src/db/mongo/helper.ts index 13c8f627e..6abc33d21 100644 --- a/src/db/mongo/helper.ts +++ b/src/db/mongo/helper.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { MongoClient, Db, Collection, Filter, Document, FindOptions } from 'mongodb'; import { getDatabase } from '../../config'; import MongoDBStore from 'connect-mongo'; diff --git a/src/db/mongo/index.ts b/src/db/mongo/index.ts index 0c62e8fea..d4626e577 100644 --- a/src/db/mongo/index.ts +++ b/src/db/mongo/index.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import * as helper from './helper'; import * as pushes from './pushes'; import * as repo from './repo'; diff --git a/src/db/mongo/pushes.ts b/src/db/mongo/pushes.ts index 33a038e38..688b92026 100644 --- a/src/db/mongo/pushes.ts +++ b/src/db/mongo/pushes.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { connect, findDocuments, findOneDocument } from './helper'; import { Action } from '../../proxy/actions'; import { toClass } from '../helper'; diff --git a/src/db/mongo/repo.ts b/src/db/mongo/repo.ts index 655ef40b1..d96e6b1ce 100644 --- a/src/db/mongo/repo.ts +++ b/src/db/mongo/repo.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import _ from 'lodash'; import { Repo } from '../types'; import { connect } from './helper'; diff --git a/src/db/mongo/users.ts b/src/db/mongo/users.ts index f4300c39e..af659a830 100644 --- a/src/db/mongo/users.ts +++ b/src/db/mongo/users.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { OptionalId, Document, ObjectId } from 'mongodb'; import { toClass } from '../helper'; import { User } from '../types'; diff --git a/src/db/types.ts b/src/db/types.ts index e43aff295..bc809da9e 100644 --- a/src/db/types.ts +++ b/src/db/types.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action } from '../proxy/actions/Action'; import MongoDBStore from 'connect-mongo'; diff --git a/src/index.tsx b/src/index.tsx index 9fa99cf7c..d162503de 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import ReactDOM from 'react-dom'; import { BrowserRouter as Router, Route, Routes, Navigate } from 'react-router-dom'; diff --git a/src/plugin.ts b/src/plugin.ts index 92fb9a99c..e1a466c3e 100644 --- a/src/plugin.ts +++ b/src/plugin.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action } from './proxy/actions'; const lpModule = import('load-plugin'); diff --git a/src/proxy/actions/Action.ts b/src/proxy/actions/Action.ts index 94d3af4f2..350239e94 100644 --- a/src/proxy/actions/Action.ts +++ b/src/proxy/actions/Action.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { processGitURLForNameAndOrg, processUrlPath } from '../routes/helper'; import { Step } from './Step'; import { Attestation, CommitData, Rejection } from '../processors/types'; diff --git a/src/proxy/actions/Step.ts b/src/proxy/actions/Step.ts index e0db4d5b3..e4d361f37 100644 --- a/src/proxy/actions/Step.ts +++ b/src/proxy/actions/Step.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { v4 as uuidv4 } from 'uuid'; export interface StepData { diff --git a/src/proxy/actions/autoActions.ts b/src/proxy/actions/autoActions.ts index 450c97d80..75ad0af21 100644 --- a/src/proxy/actions/autoActions.ts +++ b/src/proxy/actions/autoActions.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { authorise, reject } from '../../db'; import { Action } from './Action'; diff --git a/src/proxy/actions/index.ts b/src/proxy/actions/index.ts index 13f35276c..0851e5a76 100644 --- a/src/proxy/actions/index.ts +++ b/src/proxy/actions/index.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action } from './Action'; import { Step } from './Step'; diff --git a/src/proxy/chain.ts b/src/proxy/chain.ts index b6c1b7609..4e787af23 100644 --- a/src/proxy/chain.ts +++ b/src/proxy/chain.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { PluginLoader } from '../plugin'; import { Action } from './actions'; import * as proc from './processors'; diff --git a/src/proxy/index.ts b/src/proxy/index.ts index 9f24e284f..a15a594fb 100644 --- a/src/proxy/index.ts +++ b/src/proxy/index.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import express, { Express } from 'express'; import http from 'http'; import https from 'https'; diff --git a/src/proxy/processors/constants.ts b/src/proxy/processors/constants.ts index 3ad5784b4..6447b594f 100644 --- a/src/proxy/processors/constants.ts +++ b/src/proxy/processors/constants.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export const BRANCH_PREFIX = 'refs/heads/'; export const EMPTY_COMMIT_HASH = '0000000000000000000000000000000000000000'; export const FLUSH_PACKET = '0000'; diff --git a/src/proxy/processors/index.ts b/src/proxy/processors/index.ts index 3bac1fab7..446c2bd08 100644 --- a/src/proxy/processors/index.ts +++ b/src/proxy/processors/index.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import * as pre from './pre-processor'; import * as push from './push-action'; import * as post from './post-processor'; diff --git a/src/proxy/processors/post-processor/audit.ts b/src/proxy/processors/post-processor/audit.ts index 32e556fb7..fd908fa39 100644 --- a/src/proxy/processors/post-processor/audit.ts +++ b/src/proxy/processors/post-processor/audit.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { writeAudit } from '../../../db'; import { Action } from '../../actions'; diff --git a/src/proxy/processors/post-processor/clearBareClone.ts b/src/proxy/processors/post-processor/clearBareClone.ts index 2277a3d82..a9ef11613 100644 --- a/src/proxy/processors/post-processor/clearBareClone.ts +++ b/src/proxy/processors/post-processor/clearBareClone.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action, Step } from '../../actions'; import fs from 'fs'; diff --git a/src/proxy/processors/post-processor/index.ts b/src/proxy/processors/post-processor/index.ts index 10220d4dd..1ce6038bd 100644 --- a/src/proxy/processors/post-processor/index.ts +++ b/src/proxy/processors/post-processor/index.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { exec as audit } from '../post-processor/audit'; import { exec as clearBareClone } from '../post-processor/clearBareClone'; diff --git a/src/proxy/processors/pre-processor/index.ts b/src/proxy/processors/pre-processor/index.ts index 469c71efc..f2516a1d4 100644 --- a/src/proxy/processors/pre-processor/index.ts +++ b/src/proxy/processors/pre-processor/index.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { exec } from './parseAction'; export const parseAction = exec; diff --git a/src/proxy/processors/pre-processor/parseAction.ts b/src/proxy/processors/pre-processor/parseAction.ts index 619deea93..9be786a3f 100644 --- a/src/proxy/processors/pre-processor/parseAction.ts +++ b/src/proxy/processors/pre-processor/parseAction.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action } from '../../actions'; import { processUrlPath } from '../../routes/helper'; import * as db from '../../../db'; diff --git a/src/proxy/processors/push-action/blockForAuth.ts b/src/proxy/processors/push-action/blockForAuth.ts index 4fde08e0d..5501d743a 100644 --- a/src/proxy/processors/push-action/blockForAuth.ts +++ b/src/proxy/processors/push-action/blockForAuth.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action, Step } from '../../actions'; import { getServiceUIURL } from '../../../service/urls'; diff --git a/src/proxy/processors/push-action/checkAuthorEmails.ts b/src/proxy/processors/push-action/checkAuthorEmails.ts index e8d51f09d..33bc83be2 100644 --- a/src/proxy/processors/push-action/checkAuthorEmails.ts +++ b/src/proxy/processors/push-action/checkAuthorEmails.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action, Step } from '../../actions'; import { getCommitConfig } from '../../../config'; import { CommitData } from '../types'; diff --git a/src/proxy/processors/push-action/checkCommitMessages.ts b/src/proxy/processors/push-action/checkCommitMessages.ts index 7eb9f6cad..e999a67ec 100644 --- a/src/proxy/processors/push-action/checkCommitMessages.ts +++ b/src/proxy/processors/push-action/checkCommitMessages.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action, Step } from '../../actions'; import { getCommitConfig } from '../../../config'; diff --git a/src/proxy/processors/push-action/checkEmptyBranch.ts b/src/proxy/processors/push-action/checkEmptyBranch.ts index 86f6b5138..116d77617 100644 --- a/src/proxy/processors/push-action/checkEmptyBranch.ts +++ b/src/proxy/processors/push-action/checkEmptyBranch.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action, Step } from '../../actions'; import simpleGit from 'simple-git'; import { EMPTY_COMMIT_HASH } from '../constants'; diff --git a/src/proxy/processors/push-action/checkHiddenCommits.ts b/src/proxy/processors/push-action/checkHiddenCommits.ts index 852328287..0f55ffa30 100644 --- a/src/proxy/processors/push-action/checkHiddenCommits.ts +++ b/src/proxy/processors/push-action/checkHiddenCommits.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import path from 'path'; import { Action, Step } from '../../actions'; import { spawnSync } from 'child_process'; diff --git a/src/proxy/processors/push-action/checkIfWaitingAuth.ts b/src/proxy/processors/push-action/checkIfWaitingAuth.ts index baedb0df3..fcef378f5 100644 --- a/src/proxy/processors/push-action/checkIfWaitingAuth.ts +++ b/src/proxy/processors/push-action/checkIfWaitingAuth.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action, Step } from '../../actions'; import { getPush } from '../../../db'; diff --git a/src/proxy/processors/push-action/checkRepoInAuthorisedList.ts b/src/proxy/processors/push-action/checkRepoInAuthorisedList.ts index d34e52d48..bca97dedd 100644 --- a/src/proxy/processors/push-action/checkRepoInAuthorisedList.ts +++ b/src/proxy/processors/push-action/checkRepoInAuthorisedList.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action, Step } from '../../actions'; import { getRepoByUrl } from '../../../db'; diff --git a/src/proxy/processors/push-action/checkUserPushPermission.ts b/src/proxy/processors/push-action/checkUserPushPermission.ts index 83f16c968..1564098c0 100644 --- a/src/proxy/processors/push-action/checkUserPushPermission.ts +++ b/src/proxy/processors/push-action/checkUserPushPermission.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action, Step } from '../../actions'; import { getUsers, isUserPushAllowed } from '../../../db'; diff --git a/src/proxy/processors/push-action/getDiff.ts b/src/proxy/processors/push-action/getDiff.ts index dbdc4e4e9..588856d7e 100644 --- a/src/proxy/processors/push-action/getDiff.ts +++ b/src/proxy/processors/push-action/getDiff.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action, Step } from '../../actions'; import simpleGit from 'simple-git'; diff --git a/src/proxy/processors/push-action/gitleaks.ts b/src/proxy/processors/push-action/gitleaks.ts index 1cf5b2236..171f81093 100644 --- a/src/proxy/processors/push-action/gitleaks.ts +++ b/src/proxy/processors/push-action/gitleaks.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action, Step } from '../../actions'; import { getAPIs } from '../../../config'; import { spawn } from 'node:child_process'; diff --git a/src/proxy/processors/push-action/index.ts b/src/proxy/processors/push-action/index.ts index f7f1fbb21..5bcb0d0f3 100644 --- a/src/proxy/processors/push-action/index.ts +++ b/src/proxy/processors/push-action/index.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { exec as parsePush } from './parsePush'; import { exec as preReceive } from './preReceive'; import { exec as checkRepoInAuthorisedList } from './checkRepoInAuthorisedList'; diff --git a/src/proxy/processors/push-action/parsePush.ts b/src/proxy/processors/push-action/parsePush.ts index 307fe6286..f27b736ca 100644 --- a/src/proxy/processors/push-action/parsePush.ts +++ b/src/proxy/processors/push-action/parsePush.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action, Step } from '../../actions'; import fs from 'fs'; import lod from 'lodash'; diff --git a/src/proxy/processors/push-action/preReceive.ts b/src/proxy/processors/push-action/preReceive.ts index 9c3ad1116..ab7c15130 100644 --- a/src/proxy/processors/push-action/preReceive.ts +++ b/src/proxy/processors/push-action/preReceive.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import fs from 'fs'; import path from 'path'; import { Action, Step } from '../../actions'; diff --git a/src/proxy/processors/push-action/pullRemote.ts b/src/proxy/processors/push-action/pullRemote.ts index 4583cfdc7..4156b7608 100644 --- a/src/proxy/processors/push-action/pullRemote.ts +++ b/src/proxy/processors/push-action/pullRemote.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action, Step } from '../../actions'; import fs from 'fs'; import git from 'isomorphic-git'; diff --git a/src/proxy/processors/push-action/scanDiff.ts b/src/proxy/processors/push-action/scanDiff.ts index 56f3ddc11..530c86c8b 100644 --- a/src/proxy/processors/push-action/scanDiff.ts +++ b/src/proxy/processors/push-action/scanDiff.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action, Step } from '../../actions'; import { getCommitConfig, getPrivateOrganizations } from '../../../config'; import parseDiff, { File } from 'parse-diff'; diff --git a/src/proxy/processors/push-action/writePack.ts b/src/proxy/processors/push-action/writePack.ts index 2e9f5792d..a770e84a8 100644 --- a/src/proxy/processors/push-action/writePack.ts +++ b/src/proxy/processors/push-action/writePack.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import path from 'path'; import { Action, Step } from '../../actions'; import { spawnSync } from 'child_process'; diff --git a/src/proxy/processors/types.ts b/src/proxy/processors/types.ts index aa5c23fea..ae81524ef 100644 --- a/src/proxy/processors/types.ts +++ b/src/proxy/processors/types.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Question } from '../../config/generated/config'; import { Action } from '../actions'; diff --git a/src/proxy/routes/helper.ts b/src/proxy/routes/helper.ts index 54d72edca..ca607624c 100644 --- a/src/proxy/routes/helper.ts +++ b/src/proxy/routes/helper.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /** Regex used to analyze un-proxied Git URLs */ const GIT_URL_REGEX = /(.+:\/\/)([^/]+)(\/.+\.git)(\/.+)*/; diff --git a/src/proxy/routes/index.ts b/src/proxy/routes/index.ts index ac53f0d2d..6a47201f7 100644 --- a/src/proxy/routes/index.ts +++ b/src/proxy/routes/index.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Router, Request, Response, NextFunction, RequestHandler } from 'express'; import proxy from 'express-http-proxy'; import { PassThrough } from 'stream'; diff --git a/src/routes.tsx b/src/routes.tsx index 99e4f5482..47ce3e44e 100644 --- a/src/routes.tsx +++ b/src/routes.tsx @@ -1,20 +1,18 @@ -/* ! - -========================================================= -* Material Dashboard React - v1.9.0 -========================================================= - -* Product Page: https://www.creative-tim.com/product/material-dashboard-react -* Copyright 2020 Creative Tim (https://www.creative-tim.com) -* Licensed under MIT (https://github.com/creativetimofficial/material-dashboard-react/blob/master/LICENSE.md) - -* Coded by Creative Tim - -========================================================= - -* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -*/ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ import React from 'react'; import RouteGuard from './ui/components/RouteGuard/RouteGuard'; diff --git a/src/service/index.ts b/src/service/index.ts index b353b9231..b8ee756b8 100644 --- a/src/service/index.ts +++ b/src/service/index.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import express, { Express } from 'express'; import session from 'express-session'; import http from 'http'; diff --git a/src/service/passport/activeDirectory.ts b/src/service/passport/activeDirectory.ts index 6814bcacc..9b003d5bf 100644 --- a/src/service/passport/activeDirectory.ts +++ b/src/service/passport/activeDirectory.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import ActiveDirectoryStrategy from 'passport-activedirectory'; import { PassportStatic } from 'passport'; import ActiveDirectory from 'activedirectory2'; diff --git a/src/service/passport/index.ts b/src/service/passport/index.ts index f5caeda8c..1bfeca6d7 100644 --- a/src/service/passport/index.ts +++ b/src/service/passport/index.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import passport, { type PassportStatic } from 'passport'; import * as local from './local'; import * as activeDirectory from './activeDirectory'; diff --git a/src/service/passport/jwtAuthHandler.ts b/src/service/passport/jwtAuthHandler.ts index 8960f2b6f..d03fe5555 100644 --- a/src/service/passport/jwtAuthHandler.ts +++ b/src/service/passport/jwtAuthHandler.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { assignRoles, validateJwt } from './jwtUtils'; import type { Request, Response, NextFunction } from 'express'; import { getAPIAuthMethods } from '../../config'; diff --git a/src/service/passport/jwtUtils.ts b/src/service/passport/jwtUtils.ts index eefe262cd..d87cbcae0 100644 --- a/src/service/passport/jwtUtils.ts +++ b/src/service/passport/jwtUtils.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import axios from 'axios'; import { createPublicKey } from 'crypto'; import jwt, { type JwtPayload } from 'jsonwebtoken'; diff --git a/src/service/passport/ldaphelper.ts b/src/service/passport/ldaphelper.ts index f75de2ba2..918caf441 100644 --- a/src/service/passport/ldaphelper.ts +++ b/src/service/passport/ldaphelper.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import axios from 'axios'; import type { Request } from 'express'; import ActiveDirectory from 'activedirectory2'; diff --git a/src/service/passport/local.ts b/src/service/passport/local.ts index fe9b2d89d..94cc33c81 100644 --- a/src/service/passport/local.ts +++ b/src/service/passport/local.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import bcrypt from 'bcryptjs'; import { Strategy as LocalStrategy } from 'passport-local'; import type { PassportStatic } from 'passport'; diff --git a/src/service/passport/oidc.ts b/src/service/passport/oidc.ts index ebab568ce..0f9f4f359 100644 --- a/src/service/passport/oidc.ts +++ b/src/service/passport/oidc.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import * as db from '../../db'; import { PassportStatic } from 'passport'; import { getAuthMethods } from '../../config'; diff --git a/src/service/passport/types.ts b/src/service/passport/types.ts index 59b02deca..6adb86a21 100644 --- a/src/service/passport/types.ts +++ b/src/service/passport/types.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { JwtPayload } from 'jsonwebtoken'; export type JwkKey = { diff --git a/src/service/routes/auth.ts b/src/service/routes/auth.ts index a80d91e87..5fb326fc7 100644 --- a/src/service/routes/auth.ts +++ b/src/service/routes/auth.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import express, { Request, Response, NextFunction } from 'express'; import { getPassport, authStrategies } from '../passport'; import { getAuthMethods } from '../../config'; diff --git a/src/service/routes/config.ts b/src/service/routes/config.ts index 0d8796fde..ad61ab422 100644 --- a/src/service/routes/config.ts +++ b/src/service/routes/config.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import express, { Request, Response } from 'express'; import * as config from '../../config'; diff --git a/src/service/routes/healthcheck.ts b/src/service/routes/healthcheck.ts index 5a93bf0c9..bdc79aa2e 100644 --- a/src/service/routes/healthcheck.ts +++ b/src/service/routes/healthcheck.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import express, { Request, Response } from 'express'; const router = express.Router(); diff --git a/src/service/routes/home.ts b/src/service/routes/home.ts index d0504bd7e..bfab99c46 100644 --- a/src/service/routes/home.ts +++ b/src/service/routes/home.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import express, { Request, Response } from 'express'; const router = express.Router(); diff --git a/src/service/routes/index.ts b/src/service/routes/index.ts index 23b63b02a..5cd405935 100644 --- a/src/service/routes/index.ts +++ b/src/service/routes/index.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import express from 'express'; import auth from './auth'; import push from './push'; diff --git a/src/service/routes/push.ts b/src/service/routes/push.ts index 665b5d108..623e87aca 100644 --- a/src/service/routes/push.ts +++ b/src/service/routes/push.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import express, { Request, Response } from 'express'; import * as db from '../../db'; import { PushQuery } from '../../db/types'; diff --git a/src/service/routes/repo.ts b/src/service/routes/repo.ts index 511b5628e..03a8cb3ea 100644 --- a/src/service/routes/repo.ts +++ b/src/service/routes/repo.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import express, { Request, Response } from 'express'; import * as db from '../../db'; diff --git a/src/service/routes/users.ts b/src/service/routes/users.ts index 8732fac0f..7a20307e9 100644 --- a/src/service/routes/users.ts +++ b/src/service/routes/users.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import express, { Request, Response } from 'express'; const router = express.Router(); diff --git a/src/service/routes/utils.ts b/src/service/routes/utils.ts index 694732a5d..83e548408 100644 --- a/src/service/routes/utils.ts +++ b/src/service/routes/utils.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { PublicUser, User as DbUser } from '../../db/types'; interface User extends Express.User { diff --git a/src/service/urls.ts b/src/service/urls.ts index ca92953c7..6e5163d25 100644 --- a/src/service/urls.ts +++ b/src/service/urls.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Request } from 'express'; import { serverConfig } from '../config/env'; diff --git a/src/types/images.d.ts b/src/types/images.d.ts index faeb9d477..fa183d8d2 100644 --- a/src/types/images.d.ts +++ b/src/types/images.d.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + declare module '*.png' { const url: string; export default url; diff --git a/src/types/passport-activedirectory.d.ts b/src/types/passport-activedirectory.d.ts index 1578409ae..979bf971a 100644 --- a/src/types/passport-activedirectory.d.ts +++ b/src/types/passport-activedirectory.d.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + declare module 'passport-activedirectory' { import { Strategy as PassportStrategy } from 'passport'; class Strategy extends PassportStrategy { diff --git a/src/ui/assets/jss/material-dashboard-react.js b/src/ui/assets/jss/material-dashboard-react.js index c66e68c74..fe70b80dc 100644 --- a/src/ui/assets/jss/material-dashboard-react.js +++ b/src/ui/assets/jss/material-dashboard-react.js @@ -1,17 +1,17 @@ -/* ! - - ========================================================= - * Material Dashboard React - v1.9.0 based on Material Dashboard - v1.2.0 - ========================================================= - - * Product Page: http://www.creative-tim.com/product/material-dashboard-react - * Copyright 2020 Creative Tim (http://www.creative-tim.com) - * Licensed under MIT (https://github.com/creativetimofficial/material-dashboard-react/blob/master/LICENSE.md) - - ========================================================= - - * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ // ############################## diff --git a/src/ui/assets/jss/material-dashboard-react/cardImagesStyles.js b/src/ui/assets/jss/material-dashboard-react/cardImagesStyles.js index b7fc0bc68..d4b3cd86c 100644 --- a/src/ui/assets/jss/material-dashboard-react/cardImagesStyles.js +++ b/src/ui/assets/jss/material-dashboard-react/cardImagesStyles.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + const cardImagesStyles = { cardImgTop: { width: '100%', diff --git a/src/ui/assets/jss/material-dashboard-react/checkboxAdnRadioStyle.js b/src/ui/assets/jss/material-dashboard-react/checkboxAdnRadioStyle.js index e60719708..cd3212bf5 100644 --- a/src/ui/assets/jss/material-dashboard-react/checkboxAdnRadioStyle.js +++ b/src/ui/assets/jss/material-dashboard-react/checkboxAdnRadioStyle.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { primaryColor, blackColor, hexToRgb } from '../material-dashboard-react.js'; const checkboxAdnRadioStyle = { diff --git a/src/ui/assets/jss/material-dashboard-react/components/buttonStyle.ts b/src/ui/assets/jss/material-dashboard-react/components/buttonStyle.ts index 4cb4c2ca2..dd2d27b61 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/buttonStyle.ts +++ b/src/ui/assets/jss/material-dashboard-react/components/buttonStyle.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { createStyles, Theme } from '@material-ui/core/styles'; import { grayColor, diff --git a/src/ui/assets/jss/material-dashboard-react/components/cardAvatarStyle.js b/src/ui/assets/jss/material-dashboard-react/components/cardAvatarStyle.js index 5b9a4a923..0f63ecff4 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/cardAvatarStyle.js +++ b/src/ui/assets/jss/material-dashboard-react/components/cardAvatarStyle.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { hexToRgb, blackColor } from '../../material-dashboard-react.js'; const cardAvatarStyle = { diff --git a/src/ui/assets/jss/material-dashboard-react/components/cardBodyStyle.ts b/src/ui/assets/jss/material-dashboard-react/components/cardBodyStyle.ts index 0667c856a..4adecb754 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/cardBodyStyle.ts +++ b/src/ui/assets/jss/material-dashboard-react/components/cardBodyStyle.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { createStyles } from '@material-ui/core/styles'; const cardBodyStyle = createStyles({ diff --git a/src/ui/assets/jss/material-dashboard-react/components/cardFooterStyle.js b/src/ui/assets/jss/material-dashboard-react/components/cardFooterStyle.js index 14878d726..142103bea 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/cardFooterStyle.js +++ b/src/ui/assets/jss/material-dashboard-react/components/cardFooterStyle.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { grayColor } from '../../material-dashboard-react.js'; const cardFooterStyle = { diff --git a/src/ui/assets/jss/material-dashboard-react/components/cardHeaderStyle.ts b/src/ui/assets/jss/material-dashboard-react/components/cardHeaderStyle.ts index d2de0546e..2c436fdff 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/cardHeaderStyle.ts +++ b/src/ui/assets/jss/material-dashboard-react/components/cardHeaderStyle.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { createStyles, Theme } from '@material-ui/core/styles'; import { warningCardHeader, diff --git a/src/ui/assets/jss/material-dashboard-react/components/cardIconStyle.js b/src/ui/assets/jss/material-dashboard-react/components/cardIconStyle.js index 363eae65a..fa12f1522 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/cardIconStyle.js +++ b/src/ui/assets/jss/material-dashboard-react/components/cardIconStyle.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { warningCardHeader, successCardHeader, diff --git a/src/ui/assets/jss/material-dashboard-react/components/cardStyle.ts b/src/ui/assets/jss/material-dashboard-react/components/cardStyle.ts index 9be81407c..82a8f1ed8 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/cardStyle.ts +++ b/src/ui/assets/jss/material-dashboard-react/components/cardStyle.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { createStyles } from '@material-ui/core/styles'; import { blackColor, whiteColor, hexToRgb } from '../../material-dashboard-react'; diff --git a/src/ui/assets/jss/material-dashboard-react/components/customInputStyle.js b/src/ui/assets/jss/material-dashboard-react/components/customInputStyle.js index 31a405202..91974a964 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/customInputStyle.js +++ b/src/ui/assets/jss/material-dashboard-react/components/customInputStyle.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { primaryColor, dangerColor, diff --git a/src/ui/assets/jss/material-dashboard-react/components/customTabsStyle.ts b/src/ui/assets/jss/material-dashboard-react/components/customTabsStyle.ts index 9d633574d..d3da4d657 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/customTabsStyle.ts +++ b/src/ui/assets/jss/material-dashboard-react/components/customTabsStyle.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { hexToRgb, whiteColor } from '../../material-dashboard-react'; interface CustomTabsStyle { diff --git a/src/ui/assets/jss/material-dashboard-react/components/footerStyle.ts b/src/ui/assets/jss/material-dashboard-react/components/footerStyle.ts index 7abbe3144..5318cc122 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/footerStyle.ts +++ b/src/ui/assets/jss/material-dashboard-react/components/footerStyle.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Theme } from '@material-ui/core/styles'; import { createStyles } from '@material-ui/styles'; import { defaultFont, container, primaryColor, grayColor } from '../../material-dashboard-react'; diff --git a/src/ui/assets/jss/material-dashboard-react/components/headerLinksStyle.ts b/src/ui/assets/jss/material-dashboard-react/components/headerLinksStyle.ts index 49687a1ce..b70b8fbf3 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/headerLinksStyle.ts +++ b/src/ui/assets/jss/material-dashboard-react/components/headerLinksStyle.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Theme } from '@material-ui/core/styles'; import { defaultFont, dangerColor, whiteColor } from '../../material-dashboard-react'; import dropdownStyle from '../dropdownStyle'; diff --git a/src/ui/assets/jss/material-dashboard-react/components/headerStyle.ts b/src/ui/assets/jss/material-dashboard-react/components/headerStyle.ts index c11387e9a..bcb029b74 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/headerStyle.ts +++ b/src/ui/assets/jss/material-dashboard-react/components/headerStyle.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { container, defaultFont, diff --git a/src/ui/assets/jss/material-dashboard-react/components/rtlHeaderLinksStyle.js b/src/ui/assets/jss/material-dashboard-react/components/rtlHeaderLinksStyle.js index 8301e5c53..08fda40ef 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/rtlHeaderLinksStyle.js +++ b/src/ui/assets/jss/material-dashboard-react/components/rtlHeaderLinksStyle.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { defaultFont, dangerColor, whiteColor } from '../../material-dashboard-react.js'; import dropdownStyle from '../dropdownStyle.js'; diff --git a/src/ui/assets/jss/material-dashboard-react/components/sidebarStyle.ts b/src/ui/assets/jss/material-dashboard-react/components/sidebarStyle.ts index e0b2bae7e..cc0a29eb1 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/sidebarStyle.ts +++ b/src/ui/assets/jss/material-dashboard-react/components/sidebarStyle.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Theme, createStyles } from '@material-ui/core/styles'; import { drawerWidth, diff --git a/src/ui/assets/jss/material-dashboard-react/components/snackbarContentStyle.ts b/src/ui/assets/jss/material-dashboard-react/components/snackbarContentStyle.ts index 812191688..cec361fe1 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/snackbarContentStyle.ts +++ b/src/ui/assets/jss/material-dashboard-react/components/snackbarContentStyle.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { createStyles, Theme } from '@material-ui/core/styles'; import { defaultFont, diff --git a/src/ui/assets/jss/material-dashboard-react/components/tableStyle.js b/src/ui/assets/jss/material-dashboard-react/components/tableStyle.js index 68fd6fad0..9ebda280f 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/tableStyle.js +++ b/src/ui/assets/jss/material-dashboard-react/components/tableStyle.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { warningColor, primaryColor, diff --git a/src/ui/assets/jss/material-dashboard-react/components/tasksStyle.js b/src/ui/assets/jss/material-dashboard-react/components/tasksStyle.js index 2efdea8c4..52968a41e 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/tasksStyle.js +++ b/src/ui/assets/jss/material-dashboard-react/components/tasksStyle.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { defaultFont, primaryColor, diff --git a/src/ui/assets/jss/material-dashboard-react/components/typographyStyle.js b/src/ui/assets/jss/material-dashboard-react/components/typographyStyle.js index e9369936c..c4e5cc94c 100644 --- a/src/ui/assets/jss/material-dashboard-react/components/typographyStyle.js +++ b/src/ui/assets/jss/material-dashboard-react/components/typographyStyle.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { defaultFont, primaryColor, diff --git a/src/ui/assets/jss/material-dashboard-react/dropdownStyle.js b/src/ui/assets/jss/material-dashboard-react/dropdownStyle.js index f6e3ffc58..7e0432589 100644 --- a/src/ui/assets/jss/material-dashboard-react/dropdownStyle.js +++ b/src/ui/assets/jss/material-dashboard-react/dropdownStyle.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { primaryColor, whiteColor, diff --git a/src/ui/assets/jss/material-dashboard-react/layouts/dashboardStyle.ts b/src/ui/assets/jss/material-dashboard-react/layouts/dashboardStyle.ts index 411803438..6e9ae3785 100644 --- a/src/ui/assets/jss/material-dashboard-react/layouts/dashboardStyle.ts +++ b/src/ui/assets/jss/material-dashboard-react/layouts/dashboardStyle.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Theme } from '@material-ui/core/styles/createTheme'; import { drawerWidth, transition, container } from '../../material-dashboard-react'; diff --git a/src/ui/assets/jss/material-dashboard-react/layouts/rtlStyle.js b/src/ui/assets/jss/material-dashboard-react/layouts/rtlStyle.js index fcd43bbf8..6fe63a6a1 100644 --- a/src/ui/assets/jss/material-dashboard-react/layouts/rtlStyle.js +++ b/src/ui/assets/jss/material-dashboard-react/layouts/rtlStyle.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { drawerWidth, transition, container } from '../../jss/material-dashboard-react.js'; const appStyle = (theme) => ({ diff --git a/src/ui/assets/jss/material-dashboard-react/tooltipStyle.js b/src/ui/assets/jss/material-dashboard-react/tooltipStyle.js index 4552aaabc..5979c13f6 100644 --- a/src/ui/assets/jss/material-dashboard-react/tooltipStyle.js +++ b/src/ui/assets/jss/material-dashboard-react/tooltipStyle.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { blackColor, hexToRgb } from '../material-dashboard-react.js'; const tooltipStyle = { diff --git a/src/ui/assets/jss/material-dashboard-react/views/dashboardStyle.js b/src/ui/assets/jss/material-dashboard-react/views/dashboardStyle.js index e8af4a7ee..de2de5237 100644 --- a/src/ui/assets/jss/material-dashboard-react/views/dashboardStyle.js +++ b/src/ui/assets/jss/material-dashboard-react/views/dashboardStyle.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { successColor, whiteColor, grayColor, hexToRgb } from '../../material-dashboard-react.js'; const dashboardStyle = { diff --git a/src/ui/assets/jss/material-dashboard-react/views/iconsStyle.js b/src/ui/assets/jss/material-dashboard-react/views/iconsStyle.js index 88de4458a..c75444af3 100644 --- a/src/ui/assets/jss/material-dashboard-react/views/iconsStyle.js +++ b/src/ui/assets/jss/material-dashboard-react/views/iconsStyle.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { boxShadow, whiteColor, grayColor, hexToRgb } from '../../jss/material-dashboard-react.js'; const iconsStyle = { diff --git a/src/ui/assets/jss/material-dashboard-react/views/rtlStyle.js b/src/ui/assets/jss/material-dashboard-react/views/rtlStyle.js index 21527e710..11cd7f6ae 100644 --- a/src/ui/assets/jss/material-dashboard-react/views/rtlStyle.js +++ b/src/ui/assets/jss/material-dashboard-react/views/rtlStyle.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { successColor, whiteColor, grayColor, hexToRgb } from '../../material-dashboard-react.js'; const rtlStyle = { diff --git a/src/ui/auth/AuthProvider.tsx b/src/ui/auth/AuthProvider.tsx index 57e6913c0..5d9788b91 100644 --- a/src/ui/auth/AuthProvider.tsx +++ b/src/ui/auth/AuthProvider.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useContext, useState, useEffect } from 'react'; import { getUserInfo } from '../services/auth'; import { PublicUser } from '../../db/types'; diff --git a/src/ui/components/Card/Card.tsx b/src/ui/components/Card/Card.tsx index 9c24c137f..f33ed533c 100644 --- a/src/ui/components/Card/Card.tsx +++ b/src/ui/components/Card/Card.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import clsx from 'clsx'; import { makeStyles } from '@material-ui/core/styles'; diff --git a/src/ui/components/Card/CardAvatar.tsx b/src/ui/components/Card/CardAvatar.tsx index c23554d3d..bffa933f1 100644 --- a/src/ui/components/Card/CardAvatar.tsx +++ b/src/ui/components/Card/CardAvatar.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import clsx from 'clsx'; import { makeStyles } from '@material-ui/core/styles'; diff --git a/src/ui/components/Card/CardBody.tsx b/src/ui/components/Card/CardBody.tsx index 911af3951..48e7fac86 100644 --- a/src/ui/components/Card/CardBody.tsx +++ b/src/ui/components/Card/CardBody.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import clsx from 'clsx'; import { makeStyles } from '@material-ui/core/styles'; diff --git a/src/ui/components/Card/CardFooter.tsx b/src/ui/components/Card/CardFooter.tsx index 635beabfc..89d1af3e1 100644 --- a/src/ui/components/Card/CardFooter.tsx +++ b/src/ui/components/Card/CardFooter.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import clsx from 'clsx'; import { makeStyles } from '@material-ui/core/styles'; diff --git a/src/ui/components/Card/CardHeader.tsx b/src/ui/components/Card/CardHeader.tsx index a808a262f..61e2a65f5 100644 --- a/src/ui/components/Card/CardHeader.tsx +++ b/src/ui/components/Card/CardHeader.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import clsx from 'clsx'; import { makeStyles } from '@material-ui/core/styles'; diff --git a/src/ui/components/Card/CardIcon.tsx b/src/ui/components/Card/CardIcon.tsx index c9a6544de..6dda34e9d 100644 --- a/src/ui/components/Card/CardIcon.tsx +++ b/src/ui/components/Card/CardIcon.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import clsx from 'clsx'; import { makeStyles } from '@material-ui/core/styles'; diff --git a/src/ui/components/CustomButtons/Button.tsx b/src/ui/components/CustomButtons/Button.tsx index e6eea281a..da1ae0220 100644 --- a/src/ui/components/CustomButtons/Button.tsx +++ b/src/ui/components/CustomButtons/Button.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import clsx from 'clsx'; import { makeStyles } from '@material-ui/core/styles'; diff --git a/src/ui/components/CustomButtons/CodeActionButton.tsx b/src/ui/components/CustomButtons/CodeActionButton.tsx index 5fb9d6588..a88505a21 100644 --- a/src/ui/components/CustomButtons/CodeActionButton.tsx +++ b/src/ui/components/CustomButtons/CodeActionButton.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import Popper from '@material-ui/core/Popper'; import Paper from '@material-ui/core/Paper'; import ClickAwayListener from '@material-ui/core/ClickAwayListener'; diff --git a/src/ui/components/CustomTabs/CustomTabs.tsx b/src/ui/components/CustomTabs/CustomTabs.tsx index f811139bd..39639710a 100644 --- a/src/ui/components/CustomTabs/CustomTabs.tsx +++ b/src/ui/components/CustomTabs/CustomTabs.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useState } from 'react'; import clsx from 'clsx'; import { makeStyles } from '@material-ui/core/styles'; diff --git a/src/ui/components/ErrorBoundary/ErrorBoundary.tsx b/src/ui/components/ErrorBoundary/ErrorBoundary.tsx index d13b05821..922884b57 100644 --- a/src/ui/components/ErrorBoundary/ErrorBoundary.tsx +++ b/src/ui/components/ErrorBoundary/ErrorBoundary.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { Component, ErrorInfo, PropsWithChildren, ReactNode, useState } from 'react'; import Paper from '@material-ui/core/Paper'; import Typography from '@material-ui/core/Typography'; diff --git a/src/ui/components/Filtering/Filtering.tsx b/src/ui/components/Filtering/Filtering.tsx index 0466c665e..83be90848 100644 --- a/src/ui/components/Filtering/Filtering.tsx +++ b/src/ui/components/Filtering/Filtering.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useState } from 'react'; import './Filtering.css'; diff --git a/src/ui/components/Footer/Footer.tsx b/src/ui/components/Footer/Footer.tsx index 9fdac5e0d..8518f0d47 100644 --- a/src/ui/components/Footer/Footer.tsx +++ b/src/ui/components/Footer/Footer.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import { makeStyles } from '@material-ui/core/styles'; import ListItem from '@material-ui/core/ListItem'; diff --git a/src/ui/components/Grid/GridContainer.tsx b/src/ui/components/Grid/GridContainer.tsx index 0c2df67ec..b3e55e3f5 100644 --- a/src/ui/components/Grid/GridContainer.tsx +++ b/src/ui/components/Grid/GridContainer.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import { makeStyles } from '@material-ui/core/styles'; import Grid from '@material-ui/core/Grid'; diff --git a/src/ui/components/Grid/GridItem.tsx b/src/ui/components/Grid/GridItem.tsx index 4670d1649..f93f88ff5 100644 --- a/src/ui/components/Grid/GridItem.tsx +++ b/src/ui/components/Grid/GridItem.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { ReactNode } from 'react'; import { makeStyles, Theme } from '@material-ui/core/styles'; import Grid, { GridProps } from '@material-ui/core/Grid'; diff --git a/src/ui/components/Navbars/DashboardNavbarLinks.tsx b/src/ui/components/Navbars/DashboardNavbarLinks.tsx index e1166c339..182aa933c 100644 --- a/src/ui/components/Navbars/DashboardNavbarLinks.tsx +++ b/src/ui/components/Navbars/DashboardNavbarLinks.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useEffect, useState } from 'react'; import clsx from 'clsx'; import { makeStyles } from '@material-ui/core/styles'; diff --git a/src/ui/components/Navbars/Navbar.tsx b/src/ui/components/Navbars/Navbar.tsx index 859b01a50..887af01e7 100644 --- a/src/ui/components/Navbars/Navbar.tsx +++ b/src/ui/components/Navbars/Navbar.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import clsx from 'clsx'; import { makeStyles } from '@material-ui/core/styles'; diff --git a/src/ui/components/Pagination/Pagination.tsx b/src/ui/components/Pagination/Pagination.tsx index cde49af64..884f712b2 100644 --- a/src/ui/components/Pagination/Pagination.tsx +++ b/src/ui/components/Pagination/Pagination.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import './Pagination.css'; diff --git a/src/ui/components/RouteGuard/RouteGuard.tsx b/src/ui/components/RouteGuard/RouteGuard.tsx index a975ce2fb..11c6b11a6 100644 --- a/src/ui/components/RouteGuard/RouteGuard.tsx +++ b/src/ui/components/RouteGuard/RouteGuard.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useEffect, useState } from 'react'; import { Navigate } from 'react-router-dom'; import { useAuth } from '../../auth/AuthProvider'; diff --git a/src/ui/components/Search/Search.tsx b/src/ui/components/Search/Search.tsx index 1e30abf24..68c920104 100644 --- a/src/ui/components/Search/Search.tsx +++ b/src/ui/components/Search/Search.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import { TextField } from '@material-ui/core'; import './Search.css'; diff --git a/src/ui/components/Sidebar/Sidebar.tsx b/src/ui/components/Sidebar/Sidebar.tsx index ad698f0b2..b15b8c653 100644 --- a/src/ui/components/Sidebar/Sidebar.tsx +++ b/src/ui/components/Sidebar/Sidebar.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import clsx from 'clsx'; import { NavLink } from 'react-router-dom'; diff --git a/src/ui/components/Snackbar/Snackbar.tsx b/src/ui/components/Snackbar/Snackbar.tsx index df3134a64..d374bfda0 100644 --- a/src/ui/components/Snackbar/Snackbar.tsx +++ b/src/ui/components/Snackbar/Snackbar.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import clsx from 'clsx'; import { makeStyles } from '@material-ui/core/styles'; diff --git a/src/ui/components/Snackbar/SnackbarContent.tsx b/src/ui/components/Snackbar/SnackbarContent.tsx index 30f4a4e18..c59744b6d 100644 --- a/src/ui/components/Snackbar/SnackbarContent.tsx +++ b/src/ui/components/Snackbar/SnackbarContent.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import clsx from 'clsx'; import { makeStyles } from '@material-ui/core/styles'; diff --git a/src/ui/components/Typography/Danger.tsx b/src/ui/components/Typography/Danger.tsx index 18a47c05c..4cc41deb4 100644 --- a/src/ui/components/Typography/Danger.tsx +++ b/src/ui/components/Typography/Danger.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import clsx from 'clsx'; import { makeStyles } from '@material-ui/core/styles'; diff --git a/src/ui/components/UserLink/UserLink.tsx b/src/ui/components/UserLink/UserLink.tsx index 5a4a355f4..4f5fa27f1 100644 --- a/src/ui/components/UserLink/UserLink.tsx +++ b/src/ui/components/UserLink/UserLink.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import { Link } from 'react-router-dom'; diff --git a/src/ui/context.ts b/src/ui/context.ts index fcf7a7da5..ff4c3eafe 100644 --- a/src/ui/context.ts +++ b/src/ui/context.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { createContext } from 'react'; import { PublicUser } from '../db/types'; diff --git a/src/ui/layouts/Dashboard.tsx b/src/ui/layouts/Dashboard.tsx index 96a28ad66..771bb4188 100644 --- a/src/ui/layouts/Dashboard.tsx +++ b/src/ui/layouts/Dashboard.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useState, useEffect, useRef } from 'react'; import { Routes, Route, Navigate, useParams } from 'react-router-dom'; import PerfectScrollbar from 'perfect-scrollbar'; diff --git a/src/ui/services/apiConfig.ts b/src/ui/services/apiConfig.ts index 5014b31b1..031733b1b 100644 --- a/src/ui/services/apiConfig.ts +++ b/src/ui/services/apiConfig.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /** * API Configuration Service * Provides centralized access to API base URLs with caching diff --git a/src/ui/services/auth.ts b/src/ui/services/auth.ts index 1111d920b..e6a982464 100644 --- a/src/ui/services/auth.ts +++ b/src/ui/services/auth.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { getCookie } from '../utils'; import { PublicUser } from '../../db/types'; import { AxiosError } from 'axios'; diff --git a/src/ui/services/config.ts b/src/ui/services/config.ts index 152e538f1..3548fc513 100644 --- a/src/ui/services/config.ts +++ b/src/ui/services/config.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import axios from 'axios'; import { QuestionFormData } from '../types'; import { UIRouteAuth } from '../../config/generated/config'; diff --git a/src/ui/services/errors.ts b/src/ui/services/errors.ts index 19bddb562..d393be980 100644 --- a/src/ui/services/errors.ts +++ b/src/ui/services/errors.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + export interface ServiceResult { success: boolean; status?: number; diff --git a/src/ui/services/git-push.ts b/src/ui/services/git-push.ts index ae08592d7..f59a78746 100644 --- a/src/ui/services/git-push.ts +++ b/src/ui/services/git-push.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import axios from 'axios'; import { getAxiosConfig } from './auth'; import { getApiV1BaseUrl } from './apiConfig'; diff --git a/src/ui/services/repo.ts b/src/ui/services/repo.ts index 98a2ecb5c..c9fb36989 100644 --- a/src/ui/services/repo.ts +++ b/src/ui/services/repo.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import axios from 'axios'; import { getAxiosConfig } from './auth.js'; import { Repo } from '../../db/types'; diff --git a/src/ui/services/runtime-config.ts b/src/ui/services/runtime-config.ts index cd11e7272..77e204376 100644 --- a/src/ui/services/runtime-config.ts +++ b/src/ui/services/runtime-config.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /** * Runtime configuration service * Fetches configuration that can be set at deployment time diff --git a/src/ui/services/user.ts b/src/ui/services/user.ts index 39b066f2c..9c28d4d97 100644 --- a/src/ui/services/user.ts +++ b/src/ui/services/user.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import axios, { AxiosError, AxiosResponse } from 'axios'; import { getAxiosConfig, processAuthError } from './auth'; import { PublicUser } from '../../db/types'; diff --git a/src/ui/types.ts b/src/ui/types.ts index 2ccde6877..665dbc646 100644 --- a/src/ui/types.ts +++ b/src/ui/types.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Action } from '../proxy/actions'; import { Step } from '../proxy/actions/Step'; import { Repo } from '../db/types'; diff --git a/src/ui/utils.tsx b/src/ui/utils.tsx index 6a8abfc17..90b9abf08 100644 --- a/src/ui/utils.tsx +++ b/src/ui/utils.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import axios from 'axios'; import React from 'react'; import { GitHubRepositoryMetadata, GitLabRepositoryMetadata, SCMRepositoryMetadata } from './types'; diff --git a/src/ui/views/Extras/NotAuthorized.tsx b/src/ui/views/Extras/NotAuthorized.tsx index f08c478b1..6d7a50606 100644 --- a/src/ui/views/Extras/NotAuthorized.tsx +++ b/src/ui/views/Extras/NotAuthorized.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import { useNavigate } from 'react-router-dom'; import Card from '../../components/Card/Card'; diff --git a/src/ui/views/Extras/NotFound.tsx b/src/ui/views/Extras/NotFound.tsx index d548200de..1171fce90 100644 --- a/src/ui/views/Extras/NotFound.tsx +++ b/src/ui/views/Extras/NotFound.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import { useNavigate } from 'react-router-dom'; import Card from '../../components/Card/Card'; diff --git a/src/ui/views/Login/Login.tsx b/src/ui/views/Login/Login.tsx index f7b58752f..d4e2c308a 100644 --- a/src/ui/views/Login/Login.tsx +++ b/src/ui/views/Login/Login.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useState, FormEvent, useEffect } from 'react'; import { useNavigate, Navigate } from 'react-router-dom'; import FormControl from '@material-ui/core/FormControl'; diff --git a/src/ui/views/PushDetails/PushDetails.tsx b/src/ui/views/PushDetails/PushDetails.tsx index 05392958d..6f1441687 100644 --- a/src/ui/views/PushDetails/PushDetails.tsx +++ b/src/ui/views/PushDetails/PushDetails.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useState, useEffect } from 'react'; import moment from 'moment'; import { useNavigate, useParams } from 'react-router-dom'; diff --git a/src/ui/views/PushDetails/components/Attestation.tsx b/src/ui/views/PushDetails/components/Attestation.tsx index c405eb2cf..ff72b0201 100644 --- a/src/ui/views/PushDetails/components/Attestation.tsx +++ b/src/ui/views/PushDetails/components/Attestation.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useEffect, useState } from 'react'; import Dialog from '@material-ui/core/Dialog'; import DialogContent from '@material-ui/core/DialogContent'; diff --git a/src/ui/views/PushDetails/components/AttestationForm.tsx b/src/ui/views/PushDetails/components/AttestationForm.tsx index 162e34fa9..a41608bc7 100644 --- a/src/ui/views/PushDetails/components/AttestationForm.tsx +++ b/src/ui/views/PushDetails/components/AttestationForm.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import { withStyles } from '@material-ui/core/styles'; import { green } from '@material-ui/core/colors'; diff --git a/src/ui/views/PushDetails/components/AttestationInfo.tsx b/src/ui/views/PushDetails/components/AttestationInfo.tsx index 5314be72f..82450cdb8 100644 --- a/src/ui/views/PushDetails/components/AttestationInfo.tsx +++ b/src/ui/views/PushDetails/components/AttestationInfo.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import moment from 'moment'; import { CheckCircle } from '@material-ui/icons'; diff --git a/src/ui/views/PushDetails/components/AttestationView.tsx b/src/ui/views/PushDetails/components/AttestationView.tsx index c322573f9..aed458d79 100644 --- a/src/ui/views/PushDetails/components/AttestationView.tsx +++ b/src/ui/views/PushDetails/components/AttestationView.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useEffect } from 'react'; import Dialog from '@material-ui/core/Dialog'; import DialogContent from '@material-ui/core/DialogContent'; diff --git a/src/ui/views/PushDetails/components/Diff.tsx b/src/ui/views/PushDetails/components/Diff.tsx index e9a0daeb3..5cdfb3ff8 100644 --- a/src/ui/views/PushDetails/components/Diff.tsx +++ b/src/ui/views/PushDetails/components/Diff.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import * as Diff2Html from 'diff2html'; import reactHtmlParser from 'react-html-parser'; // Renamed to follow function naming conventions import React from 'react'; diff --git a/src/ui/views/PushDetails/components/Reject.tsx b/src/ui/views/PushDetails/components/Reject.tsx index 5025b4443..e58240593 100644 --- a/src/ui/views/PushDetails/components/Reject.tsx +++ b/src/ui/views/PushDetails/components/Reject.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useState } from 'react'; import Dialog from '@material-ui/core/Dialog'; import DialogContent from '@material-ui/core/DialogContent'; diff --git a/src/ui/views/PushDetails/components/RejectionInfo.tsx b/src/ui/views/PushDetails/components/RejectionInfo.tsx index 6af798c9d..7ebf7d01b 100644 --- a/src/ui/views/PushDetails/components/RejectionInfo.tsx +++ b/src/ui/views/PushDetails/components/RejectionInfo.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import moment from 'moment'; import { Block } from '@material-ui/icons'; diff --git a/src/ui/views/PushRequests/PushRequests.tsx b/src/ui/views/PushRequests/PushRequests.tsx index 78638ddc6..7be955cb5 100644 --- a/src/ui/views/PushRequests/PushRequests.tsx +++ b/src/ui/views/PushRequests/PushRequests.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useState } from 'react'; import GridItem from '../../components/Grid/GridItem'; import GridContainer from '../../components/Grid/GridContainer'; diff --git a/src/ui/views/PushRequests/components/PushesTable.tsx b/src/ui/views/PushRequests/components/PushesTable.tsx index b1d62eac9..b32e263e6 100644 --- a/src/ui/views/PushRequests/components/PushesTable.tsx +++ b/src/ui/views/PushRequests/components/PushesTable.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useState, useEffect } from 'react'; import { makeStyles } from '@material-ui/core/styles'; import moment from 'moment'; diff --git a/src/ui/views/RepoDetails/Components/AddUser.tsx b/src/ui/views/RepoDetails/Components/AddUser.tsx index bc2d5743f..38968d471 100644 --- a/src/ui/views/RepoDetails/Components/AddUser.tsx +++ b/src/ui/views/RepoDetails/Components/AddUser.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useState, useEffect } from 'react'; import InputLabel from '@material-ui/core/InputLabel'; import FormControl from '@material-ui/core/FormControl'; diff --git a/src/ui/views/RepoDetails/Components/DeleteRepoDialog.tsx b/src/ui/views/RepoDetails/Components/DeleteRepoDialog.tsx index e54353a2d..618ac0e32 100644 --- a/src/ui/views/RepoDetails/Components/DeleteRepoDialog.tsx +++ b/src/ui/views/RepoDetails/Components/DeleteRepoDialog.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useState } from 'react'; import Dialog from '@material-ui/core/Dialog'; import DialogTitle from '@material-ui/core/DialogTitle'; diff --git a/src/ui/views/RepoDetails/RepoDetails.tsx b/src/ui/views/RepoDetails/RepoDetails.tsx index 0b5250030..408a4a67b 100644 --- a/src/ui/views/RepoDetails/RepoDetails.tsx +++ b/src/ui/views/RepoDetails/RepoDetails.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useState, useEffect, useContext } from 'react'; import GridItem from '../../components/Grid/GridItem'; import GridContainer from '../../components/Grid/GridContainer'; diff --git a/src/ui/views/RepoList/Components/NewRepo.tsx b/src/ui/views/RepoList/Components/NewRepo.tsx index f5f8ef4dc..11aa714a6 100644 --- a/src/ui/views/RepoList/Components/NewRepo.tsx +++ b/src/ui/views/RepoList/Components/NewRepo.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useState } from 'react'; import InputLabel from '@material-ui/core/InputLabel'; import Input from '@material-ui/core/Input'; diff --git a/src/ui/views/RepoList/Components/RepoOverview.tsx b/src/ui/views/RepoList/Components/RepoOverview.tsx index 4c647fb8a..16feb12cc 100644 --- a/src/ui/views/RepoList/Components/RepoOverview.tsx +++ b/src/ui/views/RepoList/Components/RepoOverview.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useEffect } from 'react'; import { Snackbar, TableCell, TableRow } from '@material-ui/core'; import GridContainer from '../../../components/Grid/GridContainer'; diff --git a/src/ui/views/RepoList/Components/Repositories.tsx b/src/ui/views/RepoList/Components/Repositories.tsx index 7922229ec..8ccfeed00 100644 --- a/src/ui/views/RepoList/Components/Repositories.tsx +++ b/src/ui/views/RepoList/Components/Repositories.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useState, useEffect, useContext } from 'react'; import { makeStyles } from '@material-ui/core/styles'; import { useNavigate } from 'react-router-dom'; diff --git a/src/ui/views/RepoList/Components/TabList.tsx b/src/ui/views/RepoList/Components/TabList.tsx index 4ad74257f..ada038b95 100644 --- a/src/ui/views/RepoList/Components/TabList.tsx +++ b/src/ui/views/RepoList/Components/TabList.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import GridItem from '../../../components/Grid/GridItem'; import GridContainer from '../../../components/Grid/GridContainer'; diff --git a/src/ui/views/RepoList/RepoList.tsx b/src/ui/views/RepoList/RepoList.tsx index 5c5f13140..27c7e77c6 100644 --- a/src/ui/views/RepoList/RepoList.tsx +++ b/src/ui/views/RepoList/RepoList.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import GridItem from '../../components/Grid/GridItem'; import GridContainer from '../../components/Grid/GridContainer'; diff --git a/src/ui/views/Settings/Settings.tsx b/src/ui/views/Settings/Settings.tsx index f5ac24fdd..ac67172e7 100644 --- a/src/ui/views/Settings/Settings.tsx +++ b/src/ui/views/Settings/Settings.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useState, useEffect, ChangeEvent } from 'react'; import { TextField, diff --git a/src/ui/views/User/UserProfile.tsx b/src/ui/views/User/UserProfile.tsx index bfd54286e..558ecbcc3 100644 --- a/src/ui/views/User/UserProfile.tsx +++ b/src/ui/views/User/UserProfile.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useState, useEffect, useContext } from 'react'; import { Navigate, useNavigate, useParams } from 'react-router-dom'; import GridItem from '../../components/Grid/GridItem'; diff --git a/src/ui/views/UserList/Components/TabList.tsx b/src/ui/views/UserList/Components/TabList.tsx index 638e8b1fe..301f18573 100644 --- a/src/ui/views/UserList/Components/TabList.tsx +++ b/src/ui/views/UserList/Components/TabList.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import GridItem from '../../../components/Grid/GridItem'; import GridContainer from '../../../components/Grid/GridContainer'; diff --git a/src/ui/views/UserList/Components/UserList.tsx b/src/ui/views/UserList/Components/UserList.tsx index 36083714b..4e62c8ec1 100644 --- a/src/ui/views/UserList/Components/UserList.tsx +++ b/src/ui/views/UserList/Components/UserList.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useState, useEffect } from 'react'; import { makeStyles } from '@material-ui/core/styles'; import GridItem from '../../../components/Grid/GridItem'; diff --git a/src/ui/views/UserList/UserList.tsx b/src/ui/views/UserList/UserList.tsx index 5676ea526..8822a3e6a 100644 --- a/src/ui/views/UserList/UserList.tsx +++ b/src/ui/views/UserList/UserList.tsx @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import GridItem from '../../components/Grid/GridItem'; import GridContainer from '../../components/Grid/GridContainer'; diff --git a/test/1.test.ts b/test/1.test.ts index 28f9d12f3..2c400978c 100644 --- a/test/1.test.ts +++ b/test/1.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /* Template test file. Demonstrates how to: - Initialize the server diff --git a/test/ConfigLoader.test.ts b/test/ConfigLoader.test.ts index 6fea3b27c..8a262668f 100644 --- a/test/ConfigLoader.test.ts +++ b/test/ConfigLoader.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, beforeEach, afterEach, afterAll, expect, vi } from 'vitest'; import fs from 'fs'; import path from 'path'; diff --git a/test/chain.test.ts b/test/chain.test.ts index 8ef00c6f5..12c4551f8 100644 --- a/test/chain.test.ts +++ b/test/chain.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, beforeEach, afterEach, expect, vi } from 'vitest'; import { PluginLoader } from '../src/plugin'; import { Action } from '../src/proxy/actions'; diff --git a/test/checkHiddenCommit.test.ts b/test/checkHiddenCommit.test.ts index 3d07946f4..75bb50e10 100644 --- a/test/checkHiddenCommit.test.ts +++ b/test/checkHiddenCommit.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, beforeEach, afterEach, expect, vi } from 'vitest'; import { exec as checkHidden } from '../src/proxy/processors/push-action/checkHiddenCommits'; import { Action } from '../src/proxy/actions'; diff --git a/test/configValidators.test.ts b/test/configValidators.test.ts index 326196882..55083acb0 100644 --- a/test/configValidators.test.ts +++ b/test/configValidators.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; import { validateConfig } from '../src/config/validators'; import { GitProxyConfig } from '../src/config/generated/config'; diff --git a/test/db-helper.test.ts b/test/db-helper.test.ts index ed2bede3a..9ab64f72d 100644 --- a/test/db-helper.test.ts +++ b/test/db-helper.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect } from 'vitest'; import { trimPrefixRefsHeads, trimTrailingDotGit } from '../src/db/helper'; diff --git a/test/db/db.test.ts b/test/db/db.test.ts index bea72d574..f1ea3b916 100644 --- a/test/db/db.test.ts +++ b/test/db/db.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, afterEach, vi, beforeEach } from 'vitest'; vi.mock('../../src/db/mongo', () => ({ diff --git a/test/db/file/pushes.test.ts b/test/db/file/pushes.test.ts index 5c23a36c2..1d1f215a3 100644 --- a/test/db/file/pushes.test.ts +++ b/test/db/file/pushes.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import * as pushesModule from '../../../src/db/file/pushes'; diff --git a/test/db/file/repo.test.ts b/test/db/file/repo.test.ts index 1a583bc5a..30d38c3cb 100644 --- a/test/db/file/repo.test.ts +++ b/test/db/file/repo.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import * as repoModule from '../../../src/db/file/repo'; import { Repo } from '../../../src/db/types'; diff --git a/test/db/mongo/helper.test.ts b/test/db/mongo/helper.test.ts index f8e15d6e3..62c2c544c 100644 --- a/test/db/mongo/helper.test.ts +++ b/test/db/mongo/helper.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, afterEach, vi, beforeEach } from 'vitest'; import { MongoClient } from 'mongodb'; diff --git a/test/db/mongo/push.test.ts b/test/db/mongo/push.test.ts index 116516cc0..ecc1c831a 100644 --- a/test/db/mongo/push.test.ts +++ b/test/db/mongo/push.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, afterEach, vi, beforeEach } from 'vitest'; import { Action } from '../../../src/proxy/actions'; diff --git a/test/db/mongo/pushes.integration.test.ts b/test/db/mongo/pushes.integration.test.ts index 2c5f46fea..415ef729b 100644 --- a/test/db/mongo/pushes.integration.test.ts +++ b/test/db/mongo/pushes.integration.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeEach } from 'vitest'; import { writeAudit, diff --git a/test/db/mongo/pushes.test.ts b/test/db/mongo/pushes.test.ts index 7cce7446b..33eab5ace 100644 --- a/test/db/mongo/pushes.test.ts +++ b/test/db/mongo/pushes.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, afterEach, vi, beforeEach } from 'vitest'; const mockFindOneDocument = vi.fn(); diff --git a/test/db/mongo/repo.integration.test.ts b/test/db/mongo/repo.integration.test.ts index 1406e91d2..5652d2d38 100644 --- a/test/db/mongo/repo.integration.test.ts +++ b/test/db/mongo/repo.integration.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeEach } from 'vitest'; import { createRepo, diff --git a/test/db/mongo/repo.test.ts b/test/db/mongo/repo.test.ts index b9ad05a55..61e9d882c 100644 --- a/test/db/mongo/repo.test.ts +++ b/test/db/mongo/repo.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, afterEach, vi, beforeEach } from 'vitest'; import { Repo } from '../../../src/db/types'; import { ObjectId } from 'mongodb'; diff --git a/test/db/mongo/user.test.ts b/test/db/mongo/user.test.ts index d53ca2854..b6a35c7b8 100644 --- a/test/db/mongo/user.test.ts +++ b/test/db/mongo/user.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, afterEach, vi, beforeEach } from 'vitest'; import { User } from '../../../src/db/types'; import { ObjectId } from 'mongodb'; diff --git a/test/db/mongo/users.integration.test.ts b/test/db/mongo/users.integration.test.ts index 0d0bbc6b8..ec07f458a 100644 --- a/test/db/mongo/users.integration.test.ts +++ b/test/db/mongo/users.integration.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect } from 'vitest'; import { createUser, diff --git a/test/extractRawBody.test.ts b/test/extractRawBody.test.ts index 1430cf7a9..a2681b385 100644 --- a/test/extractRawBody.test.ts +++ b/test/extractRawBody.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, beforeEach, expect, vi, Mock } from 'vitest'; import { PassThrough } from 'stream'; diff --git a/test/fixtures/baz.js b/test/fixtures/baz.js index a1c32ac78..4cde277ba 100644 --- a/test/fixtures/baz.js +++ b/test/fixtures/baz.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + module.exports = { foo: 'bar', baz: {}, diff --git a/test/fixtures/test-package/default-export.js b/test/fixtures/test-package/default-export.js index 2acf8938f..60c588c75 100644 --- a/test/fixtures/test-package/default-export.js +++ b/test/fixtures/test-package/default-export.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + const { PushActionPlugin } = require('@finos/git-proxy/plugin'); // test default export diff --git a/test/fixtures/test-package/esm-export.js b/test/fixtures/test-package/esm-export.js index 4da61e98d..6b46a27ed 100644 --- a/test/fixtures/test-package/esm-export.js +++ b/test/fixtures/test-package/esm-export.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { PushActionPlugin } from '@finos/git-proxy/plugin'; // test default export (ESM syntax) diff --git a/test/fixtures/test-package/esm-multiple-export.js b/test/fixtures/test-package/esm-multiple-export.js index fb9c290bc..2656b3c75 100644 --- a/test/fixtures/test-package/esm-multiple-export.js +++ b/test/fixtures/test-package/esm-multiple-export.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { PushActionPlugin, PullActionPlugin } from '@finos/git-proxy/plugin'; // test multiple exports (ESM syntax) diff --git a/test/fixtures/test-package/esm-subclass.js b/test/fixtures/test-package/esm-subclass.js index 164419d01..0d24dde36 100644 --- a/test/fixtures/test-package/esm-subclass.js +++ b/test/fixtures/test-package/esm-subclass.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { PushActionPlugin } from '@finos/git-proxy/plugin'; class DummyPlugin extends PushActionPlugin { diff --git a/test/fixtures/test-package/multiple-export.js b/test/fixtures/test-package/multiple-export.js index 672ffde28..942ec84a7 100644 --- a/test/fixtures/test-package/multiple-export.js +++ b/test/fixtures/test-package/multiple-export.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + const { PushActionPlugin, PullActionPlugin } = require('@finos/git-proxy/plugin'); module.exports = { diff --git a/test/fixtures/test-package/subclass.js b/test/fixtures/test-package/subclass.js index 8401299b9..d3cec7643 100644 --- a/test/fixtures/test-package/subclass.js +++ b/test/fixtures/test-package/subclass.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + const { PushActionPlugin } = require('@finos/git-proxy/plugin'); class DummyPlugin extends PushActionPlugin { diff --git a/test/generated-config.test.ts b/test/generated-config.test.ts index cd6c77990..827b19238 100644 --- a/test/generated-config.test.ts +++ b/test/generated-config.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, assert } from 'vitest'; import { Convert, GitProxyConfig } from '../src/config/generated/config'; import defaultSettings from '../proxy.config.json'; diff --git a/test/integration/forcePush.integration.test.ts b/test/integration/forcePush.integration.test.ts index 1cbc2ade3..2372112ef 100644 --- a/test/integration/forcePush.integration.test.ts +++ b/test/integration/forcePush.integration.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import path from 'path'; import simpleGit, { SimpleGit } from 'simple-git'; import fs from 'fs/promises'; diff --git a/test/plugin/plugin.test.ts b/test/plugin/plugin.test.ts index f8e60d4a6..2bbbd0027 100644 --- a/test/plugin/plugin.test.ts +++ b/test/plugin/plugin.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeAll, afterAll } from 'vitest'; import { spawnSync } from 'child_process'; import { rmSync } from 'fs'; diff --git a/test/preReceive/preReceive.test.ts b/test/preReceive/preReceive.test.ts index 7286ce100..fa9094242 100644 --- a/test/preReceive/preReceive.test.ts +++ b/test/preReceive/preReceive.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import path from 'path'; import * as fs from 'fs'; diff --git a/test/processors/blockForAuth.test.ts b/test/processors/blockForAuth.test.ts index dc97d0059..87cabd57b 100644 --- a/test/processors/blockForAuth.test.ts +++ b/test/processors/blockForAuth.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; import fc from 'fast-check'; diff --git a/test/processors/checkAuthorEmails.test.ts b/test/processors/checkAuthorEmails.test.ts index 6e928005e..0d821700e 100644 --- a/test/processors/checkAuthorEmails.test.ts +++ b/test/processors/checkAuthorEmails.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; import { exec } from '../../src/proxy/processors/push-action/checkAuthorEmails'; import { Action } from '../../src/proxy/actions'; diff --git a/test/processors/checkCommitMessages.test.ts b/test/processors/checkCommitMessages.test.ts index c1fff3c02..9d73514e4 100644 --- a/test/processors/checkCommitMessages.test.ts +++ b/test/processors/checkCommitMessages.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; import { exec } from '../../src/proxy/processors/push-action/checkCommitMessages'; import { Action } from '../../src/proxy/actions'; diff --git a/test/processors/checkEmptyBranch.test.ts b/test/processors/checkEmptyBranch.test.ts index 1b5e182c4..e1d8dc294 100644 --- a/test/processors/checkEmptyBranch.test.ts +++ b/test/processors/checkEmptyBranch.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import { Action } from '../../src/proxy/actions'; import { EMPTY_COMMIT_HASH } from '../../src/proxy/processors/constants'; diff --git a/test/processors/checkIfWaitingAuth.test.ts b/test/processors/checkIfWaitingAuth.test.ts index fe68bab4a..481927b6e 100644 --- a/test/processors/checkIfWaitingAuth.test.ts +++ b/test/processors/checkIfWaitingAuth.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import { Action } from '../../src/proxy/actions'; import * as checkIfWaitingAuthModule from '../../src/proxy/processors/push-action/checkIfWaitingAuth'; diff --git a/test/processors/checkUserPushPermission.test.ts b/test/processors/checkUserPushPermission.test.ts index 6e029a321..3dba27c5d 100644 --- a/test/processors/checkUserPushPermission.test.ts +++ b/test/processors/checkUserPushPermission.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import fc from 'fast-check'; import { Action, Step } from '../../src/proxy/actions'; diff --git a/test/processors/clearBareClone.test.ts b/test/processors/clearBareClone.test.ts index ab56d0703..3d209db3a 100644 --- a/test/processors/clearBareClone.test.ts +++ b/test/processors/clearBareClone.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, afterAll, beforeAll } from 'vitest'; import fs from 'fs'; import { exec as clearBareClone } from '../../src/proxy/processors/post-processor/clearBareClone'; diff --git a/test/processors/getDiff.test.ts b/test/processors/getDiff.test.ts index 67233642a..398984c33 100644 --- a/test/processors/getDiff.test.ts +++ b/test/processors/getDiff.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import path from 'path'; import simpleGit, { SimpleGit } from 'simple-git'; import fs from 'fs/promises'; diff --git a/test/processors/gitLeaks.test.ts b/test/processors/gitLeaks.test.ts index 3e9d9234a..3676bfc69 100644 --- a/test/processors/gitLeaks.test.ts +++ b/test/processors/gitLeaks.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import { Action, Step } from '../../src/proxy/actions'; diff --git a/test/processors/scanDiff.emptyDiff.test.ts b/test/processors/scanDiff.emptyDiff.test.ts index f5a362238..86ae546b3 100644 --- a/test/processors/scanDiff.emptyDiff.test.ts +++ b/test/processors/scanDiff.emptyDiff.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect } from 'vitest'; import { Action, Step } from '../../src/proxy/actions'; import { exec } from '../../src/proxy/processors/push-action/scanDiff'; diff --git a/test/processors/scanDiff.test.ts b/test/processors/scanDiff.test.ts index 13c4d54c3..a5d0e740c 100644 --- a/test/processors/scanDiff.test.ts +++ b/test/processors/scanDiff.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeAll, afterAll, vi } from 'vitest'; import crypto from 'crypto'; import * as processor from '../../src/proxy/processors/push-action/scanDiff'; diff --git a/test/processors/testCheckRepoInAuthList.test.ts b/test/processors/testCheckRepoInAuthList.test.ts index a4915a92c..fa3136331 100644 --- a/test/processors/testCheckRepoInAuthList.test.ts +++ b/test/processors/testCheckRepoInAuthList.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, afterEach, vi } from 'vitest'; import fc from 'fast-check'; import { Action } from '../../src/proxy/actions/Action'; diff --git a/test/processors/writePack.test.ts b/test/processors/writePack.test.ts index 494ef504d..2df2127bf 100644 --- a/test/processors/writePack.test.ts +++ b/test/processors/writePack.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import path from 'path'; import { Action, Step } from '../../src/proxy/actions'; diff --git a/test/proxy.test.ts b/test/proxy.test.ts index d839981ca..663b512d8 100644 --- a/test/proxy.test.ts +++ b/test/proxy.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import http from 'http'; import https from 'https'; import { describe, it, beforeEach, afterEach, expect, vi } from 'vitest'; diff --git a/test/proxyURL.test.ts b/test/proxyURL.test.ts index 8e865addd..b24db6530 100644 --- a/test/proxyURL.test.ts +++ b/test/proxyURL.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, afterEach, expect, vi } from 'vitest'; import request from 'supertest'; import express from 'express'; diff --git a/test/services/passport/ldaphelper.test.ts b/test/services/passport/ldaphelper.test.ts index 2b465f1f1..ba3ee7399 100644 --- a/test/services/passport/ldaphelper.test.ts +++ b/test/services/passport/ldaphelper.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, beforeEach, expect, vi, type Mock, afterEach } from 'vitest'; import type ActiveDirectory from 'activedirectory2'; diff --git a/test/services/passport/testActiveDirectoryAuth.test.ts b/test/services/passport/testActiveDirectoryAuth.test.ts index 9843c7ca3..73a6eb248 100644 --- a/test/services/passport/testActiveDirectoryAuth.test.ts +++ b/test/services/passport/testActiveDirectoryAuth.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, beforeEach, expect, vi, type Mock, afterEach } from 'vitest'; let ldapStub: { isUserInAdGroup: Mock }; diff --git a/test/services/routes/auth.test.ts b/test/services/routes/auth.test.ts index d095b4f47..944024cb0 100644 --- a/test/services/routes/auth.test.ts +++ b/test/services/routes/auth.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, afterEach, beforeEach, vi } from 'vitest'; import request from 'supertest'; import express, { Express } from 'express'; diff --git a/test/services/routes/config.test.ts b/test/services/routes/config.test.ts index 87376d70c..4caa53758 100644 --- a/test/services/routes/config.test.ts +++ b/test/services/routes/config.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import express, { Express } from 'express'; import request from 'supertest'; diff --git a/test/services/routes/healthCheck.test.ts b/test/services/routes/healthCheck.test.ts index 4713101df..122203210 100644 --- a/test/services/routes/healthCheck.test.ts +++ b/test/services/routes/healthCheck.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeEach } from 'vitest'; import express, { Express } from 'express'; import request from 'supertest'; diff --git a/test/services/routes/users.test.ts b/test/services/routes/users.test.ts index b0fe17127..ce3964f5b 100644 --- a/test/services/routes/users.test.ts +++ b/test/services/routes/users.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import express, { Express } from 'express'; import request from 'supertest'; diff --git a/test/setup-integration.ts b/test/setup-integration.ts index 8db43845b..4b61a5222 100644 --- a/test/setup-integration.ts +++ b/test/setup-integration.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { beforeAll, afterAll, afterEach } from 'vitest'; import { MongoClient } from 'mongodb'; import { resetConnection } from '../src/db/mongo/helper'; diff --git a/test/testAuthMethods.test.ts b/test/testAuthMethods.test.ts index e05409f9f..d795c7a31 100644 --- a/test/testAuthMethods.test.ts +++ b/test/testAuthMethods.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, vi, beforeEach } from 'vitest'; describe('auth methods', () => { diff --git a/test/testCheckUserPushPermission.test.ts b/test/testCheckUserPushPermission.test.ts index 435e7c4d8..401be96b8 100644 --- a/test/testCheckUserPushPermission.test.ts +++ b/test/testCheckUserPushPermission.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, beforeAll, afterAll, expect } from 'vitest'; import * as processor from '../src/proxy/processors/push-action/checkUserPushPermission'; import { Action } from '../src/proxy/actions/Action'; diff --git a/test/testConfig.test.ts b/test/testConfig.test.ts index 972f5e8cb..a1afb463e 100644 --- a/test/testConfig.test.ts +++ b/test/testConfig.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeEach, afterEach, vi, MockInstance } from 'vitest'; import fs from 'fs'; import path from 'path'; diff --git a/test/testDb.test.ts b/test/testDb.test.ts index 48e926bc7..dc9f7e011 100644 --- a/test/testDb.test.ts +++ b/test/testDb.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeAll, beforeEach, afterAll } from 'vitest'; import * as db from '../src/db'; import { Repo, User } from '../src/db/types'; diff --git a/test/testJwtAuthHandler.test.ts b/test/testJwtAuthHandler.test.ts index e9dd38c6a..159927734 100644 --- a/test/testJwtAuthHandler.test.ts +++ b/test/testJwtAuthHandler.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, vi, beforeEach, afterEach, Mock } from 'vitest'; import axios from 'axios'; import jwt from 'jsonwebtoken'; diff --git a/test/testLogin.test.ts b/test/testLogin.test.ts index 2dcd8f783..cc60480ca 100644 --- a/test/testLogin.test.ts +++ b/test/testLogin.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import request from 'supertest'; import { beforeAll, afterAll, beforeEach, describe, it, expect } from 'vitest'; import * as db from '../src/db'; diff --git a/test/testOidc.test.ts b/test/testOidc.test.ts index 5561b7be8..ed360086a 100644 --- a/test/testOidc.test.ts +++ b/test/testOidc.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, beforeEach, afterEach, expect, vi, type Mock } from 'vitest'; import { diff --git a/test/testParseAction.test.ts b/test/testParseAction.test.ts index a1e424430..49f0d5d35 100644 --- a/test/testParseAction.test.ts +++ b/test/testParseAction.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeAll, afterAll } from 'vitest'; import * as preprocessor from '../src/proxy/processors/pre-processor/parseAction'; import * as db from '../src/db'; diff --git a/test/testParsePush.test.ts b/test/testParsePush.test.ts index e832fdfee..b7c3f0507 100644 --- a/test/testParsePush.test.ts +++ b/test/testParsePush.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { afterEach, describe, it, beforeEach, expect, vi, type Mock } from 'vitest'; import { deflateSync } from 'zlib'; import { createHash } from 'crypto'; diff --git a/test/testProxy.test.ts b/test/testProxy.test.ts index e8c48a57e..621bde1b3 100644 --- a/test/testProxy.test.ts +++ b/test/testProxy.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect, beforeEach, afterEach, vi, afterAll } from 'vitest'; vi.mock('http', async (importOriginal) => { diff --git a/test/testProxyRoute.test.ts b/test/testProxyRoute.test.ts index 29d50a20f..9e049824a 100644 --- a/test/testProxyRoute.test.ts +++ b/test/testProxyRoute.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import request from 'supertest'; import express, { Express, Request, Response } from 'express'; import { describe, it, beforeEach, afterEach, expect, vi, beforeAll, afterAll } from 'vitest'; diff --git a/test/testPush.test.ts b/test/testPush.test.ts index 84dc7e5a1..1276d272b 100644 --- a/test/testPush.test.ts +++ b/test/testPush.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import request from 'supertest'; import { describe, it, expect, beforeAll, afterAll, afterEach, vi } from 'vitest'; import * as db from '../src/db'; diff --git a/test/testRepoApi.test.ts b/test/testRepoApi.test.ts index a050c6b20..122559c6c 100644 --- a/test/testRepoApi.test.ts +++ b/test/testRepoApi.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import request from 'supertest'; import { describe, it, expect, beforeAll, afterAll } from 'vitest'; import * as db from '../src/db'; diff --git a/test/testRouteFilter.test.ts b/test/testRouteFilter.test.ts index 2b1b7cec1..159783ec9 100644 --- a/test/testRouteFilter.test.ts +++ b/test/testRouteFilter.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect } from 'vitest'; import { validGitRequest, diff --git a/test/ui/apiConfig.test.ts b/test/ui/apiConfig.test.ts index 79b1aa0bb..b983669c8 100644 --- a/test/ui/apiConfig.test.ts +++ b/test/ui/apiConfig.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, it, expect } from 'vitest'; describe('apiConfig functionality', () => { diff --git a/test/ui/errors.test.ts b/test/ui/errors.test.ts index f5a101721..30d5b89f0 100644 --- a/test/ui/errors.test.ts +++ b/test/ui/errors.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { describe, expect, it } from 'vitest'; import { getServiceError, diff --git a/test/ui/git-push.test.ts b/test/ui/git-push.test.ts index 51d558489..c4359feea 100644 --- a/test/ui/git-push.test.ts +++ b/test/ui/git-push.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { beforeEach, describe, expect, it, vi } from 'vitest'; import { getPush, diff --git a/test/ui/repo.test.ts b/test/ui/repo.test.ts index 9f176e54a..e4cd8fad6 100644 --- a/test/ui/repo.test.ts +++ b/test/ui/repo.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { beforeEach, describe, expect, it, vi } from 'vitest'; import { addUser, diff --git a/test/ui/user.test.ts b/test/ui/user.test.ts index 3cbb236c4..d706c9492 100644 --- a/test/ui/user.test.ts +++ b/test/ui/user.test.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { beforeEach, describe, expect, it, vi } from 'vitest'; import { getUser, getUsers, updateUser } from '../../src/ui/services/user'; diff --git a/tests/e2e/fetch.test.ts b/tests/e2e/fetch.test.ts index a6c6bb923..5fb946e03 100644 --- a/tests/e2e/fetch.test.ts +++ b/tests/e2e/fetch.test.ts @@ -1,21 +1,17 @@ /** - * @license - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ import { describe, it, expect, beforeAll, afterAll } from 'vitest'; diff --git a/tests/e2e/push.test.ts b/tests/e2e/push.test.ts index 76fb38989..a824af82a 100644 --- a/tests/e2e/push.test.ts +++ b/tests/e2e/push.test.ts @@ -1,21 +1,17 @@ /** - * @license - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ import { describe, it, expect, beforeAll, afterAll } from 'vitest'; diff --git a/tests/e2e/setup.ts b/tests/e2e/setup.ts index a3b699fdb..589b85dda 100644 --- a/tests/e2e/setup.ts +++ b/tests/e2e/setup.ts @@ -1,21 +1,17 @@ /** - * @license - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ import { beforeAll } from 'vitest'; diff --git a/vite.config.ts b/vite.config.ts index 1c9f38326..9ccfe3db1 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { defineConfig, loadEnv } from 'vite'; import react from '@vitejs/plugin-react'; diff --git a/vitest.config.e2e.ts b/vitest.config.e2e.ts index f4ceea459..a51e150cc 100644 --- a/vitest.config.e2e.ts +++ b/vitest.config.e2e.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { defineConfig } from 'vitest/config'; export default defineConfig({ diff --git a/vitest.config.integration.ts b/vitest.config.integration.ts index 8c793ed86..bbb4fa695 100644 --- a/vitest.config.integration.ts +++ b/vitest.config.integration.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import path from 'path'; import { defineConfig } from 'vitest/config'; diff --git a/vitest.config.ts b/vitest.config.ts index 3e8b1ac1c..b3bd70313 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { defineConfig } from 'vitest/config'; export default defineConfig({ diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index cb4169474..3cbc6bf55 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // Docs at https://v2.docusaurus.io/docs/configuration const projectName = 'GitProxy'; diff --git a/website/sidebars.js b/website/sidebars.js index 9653c0592..993e6859a 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + module.exports = { mainSidebar: [ 'index', diff --git a/website/src/components/avatar.js b/website/src/components/avatar.js index 852bff7c9..330da117c 100644 --- a/website/src/components/avatar.js +++ b/website/src/components/avatar.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import PropTypes from 'prop-types'; diff --git a/website/src/components/feature.js b/website/src/components/feature.js index 0e4b612ec..562519a78 100644 --- a/website/src/components/feature.js +++ b/website/src/components/feature.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import classnames from 'classnames'; import useBaseUrl from '@docusaurus/useBaseUrl'; diff --git a/website/src/pages/index.js b/website/src/pages/index.js index 67ae09ce1..f1d30072b 100644 --- a/website/src/pages/index.js +++ b/website/src/pages/index.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React, { useEffect } from 'react'; import Layout from '@theme/Layout'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; diff --git a/website/src/pages/testimonials.js b/website/src/pages/testimonials.js index 44c0230aa..f0ceaa192 100644 --- a/website/src/pages/testimonials.js +++ b/website/src/pages/testimonials.js @@ -1,3 +1,19 @@ +/** + * Copyright 2026 GitProxy Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import React from 'react'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import { LinkedInEmbed } from 'react-social-media-embed';