From fdbdf8207a808f11e8fac140bf2cba39cdd932ac Mon Sep 17 00:00:00 2001 From: victorvhs017 <115753265+victorvhs017@users.noreply.github.com> Date: Thu, 24 Apr 2025 03:08:31 +0700 Subject: [PATCH] chore: add js-core to SonarQube check (#5466) --- .../SingleResponseCard/util.test.ts | 3 - packages/js-core/.eslintrc.cjs | 1 + packages/js-core/package.json | 2 +- packages/js-core/vite.config.ts | 81 +++++++++---------- sonar-project.properties | 8 +- 5 files changed, 46 insertions(+), 49 deletions(-) diff --git a/apps/web/modules/analysis/components/SingleResponseCard/util.test.ts b/apps/web/modules/analysis/components/SingleResponseCard/util.test.ts index da6f4f2ee6..ebfc8f5530 100644 --- a/apps/web/modules/analysis/components/SingleResponseCard/util.test.ts +++ b/apps/web/modules/analysis/components/SingleResponseCard/util.test.ts @@ -47,8 +47,5 @@ describe("isSubmissionTimeMoreThan5Minutes", () => { const currentTime = new Date(); const recentTime = new Date(currentTime.getTime() - 4 * 60 * 1000); // 4 minutes ago expect(isSubmissionTimeMoreThan5Minutes(recentTime)).toBe(false); - - const exact5Minutes = new Date(currentTime.getTime() - 5 * 60 * 1000); // exactly 5 minutes ago - expect(isSubmissionTimeMoreThan5Minutes(exact5Minutes)).toBe(false); }); }); diff --git a/packages/js-core/.eslintrc.cjs b/packages/js-core/.eslintrc.cjs index 6459e6fb42..abd200a880 100644 --- a/packages/js-core/.eslintrc.cjs +++ b/packages/js-core/.eslintrc.cjs @@ -1,4 +1,5 @@ module.exports = { + ignorePatterns: ["coverage/"], extends: ["@formbricks/eslint-config/library.js"], parserOptions: { project: "tsconfig.json", diff --git a/packages/js-core/package.json b/packages/js-core/package.json index ab90d4ea2a..e3fdf3e623 100644 --- a/packages/js-core/package.json +++ b/packages/js-core/package.json @@ -39,7 +39,7 @@ "lint": "eslint . --ext .ts,.js,.tsx,.jsx", "clean": "rimraf .turbo node_modules dist coverage", "test": "vitest", - "coverage": "vitest run --coverage" + "test:coverage": "vitest run --coverage" }, "author": "Formbricks ", "devDependencies": { diff --git a/packages/js-core/vite.config.ts b/packages/js-core/vite.config.ts index fa0c26a30e..3377d43880 100644 --- a/packages/js-core/vite.config.ts +++ b/packages/js-core/vite.config.ts @@ -4,48 +4,47 @@ import dts from "vite-plugin-dts"; import webPackageJson from "../../apps/web/package.json"; import { copyCompiledAssetsPlugin } from "../vite-plugins/copy-compiled-assets"; -const config = () => { - return defineConfig({ - resolve: { - alias: { - "@": resolve(__dirname, "src"), - }, +export default defineConfig({ + resolve: { + alias: { + "@": resolve(__dirname, "src"), }, - define: { - "import.meta.env.VERSION": JSON.stringify(webPackageJson.version), + }, + define: { + "import.meta.env.VERSION": JSON.stringify(webPackageJson.version), + }, + build: { + rollupOptions: { + output: { inlineDynamicImports: true }, }, - build: { - rollupOptions: { - output: { inlineDynamicImports: true }, - }, - emptyOutDir: false, // keep the dist folder to avoid errors with pnpm go when folder is empty during build - minify: "terser", - lib: { - entry: resolve(__dirname, "src/index.ts"), - name: "formbricks", - formats: ["umd"], - fileName: "index", - }, + emptyOutDir: false, // keep the dist folder to avoid errors with pnpm go when folder is empty during build + minify: "terser", + lib: { + entry: resolve(__dirname, "src/index.ts"), + name: "formbricks", + formats: ["umd"], + fileName: "index", }, - plugins: [ - dts({ - rollupTypes: true, - }), - copyCompiledAssetsPlugin({ - filename: "formbricks", - distDir: resolve(__dirname, "dist"), - skipDirectoryCheck: true, // Skip checking for subdirectories that might not exist - }), - ], - test: { - setupFiles: ["./vitest.setup.ts"], - coverage: { - provider: "v8", - reporter: ["text", "json", "html"], - include: ["src/lib/**/*.ts"], - }, + }, + plugins: [ + dts({ + rollupTypes: true, + }), + copyCompiledAssetsPlugin({ + filename: "formbricks", + distDir: resolve(__dirname, "dist"), + skipDirectoryCheck: true, // Skip checking for subdirectories that might not exist + }), + ], + test: { + environment: "node", + setupFiles: ["./vitest.setup.ts"], + coverage: { + provider: "v8", + reporter: ["text", "json", "html", "lcov"], + reportsDirectory: "./coverage", + include: ["src/lib/**/*.ts"], + exclude: ["src/lib/**/*.mock.ts"], }, - }); -}; - -export default config; + }, +}); diff --git a/sonar-project.properties b/sonar-project.properties index 9404716582..62805c4f0c 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -2,16 +2,16 @@ sonar.projectKey=formbricks_formbricks sonar.organization=formbricks # Sources -sonar.sources=apps/web,packages/surveys +sonar.sources=apps/web,packages/surveys,packages/js-core sonar.exclusions=**/node_modules/**,**/.next/**,**/dist/**,**/build/**,**/*.test.*,**/*.spec.*,**/__mocks__/** # Tests -sonar.tests=apps/web,packages/surveys +sonar.tests=apps/web,packages/surveys,packages/js-core sonar.test.inclusions=**/*.test.*,**/*.spec.* -sonar.javascript.lcov.reportPaths=apps/web/coverage/lcov.info,packages/surveys/coverage/lcov.info +sonar.javascript.lcov.reportPaths=apps/web/coverage/lcov.info,packages/surveys/coverage/lcov.info,packages/js-core/coverage/lcov.info # TypeScript configuration -sonar.typescript.tsconfigPath=apps/web/tsconfig.json,packages/surveys/tsconfig.json +sonar.typescript.tsconfigPath=apps/web/tsconfig.json,packages/surveys/tsconfig.json,packages/js-core/tsconfig.json # SCM sonar.scm.provider=git