From adc383df52cdb42eeeff00390c2c2c9efa6b04e2 Mon Sep 17 00:00:00 2001 From: riccardoperra Date: Fri, 3 Apr 2026 10:56:03 +0200 Subject: [PATCH] feat(angular): produce build th Vite --- packages/angular-table/package.json | 10 ++--- packages/angular-table/tsconfig.build.json | 18 ++++++++- packages/angular-table/tsconfig.json | 8 +++- packages/angular-table/vite.config.ts | 44 +++++++++++++--------- packages/angular-table/vitest.config.ts | 23 +++++++++++ 5 files changed, 77 insertions(+), 26 deletions(-) create mode 100644 packages/angular-table/vitest.config.ts diff --git a/packages/angular-table/package.json b/packages/angular-table/package.json index 1832d45a88..0577b0cd8e 100644 --- a/packages/angular-table/package.json +++ b/packages/angular-table/package.json @@ -21,12 +21,12 @@ "datagrid" ], "type": "module", - "module": "dist/fesm2022/tanstack-angular-table.mjs", - "types": "dist/types/tanstack-angular-table.d.ts", + "module": "dist/fesm2022/tanstack-angular-table.js", + "types": "dist/types/index.d.ts", "exports": { ".": { - "types": "./dist/types/tanstack-angular-table.d.ts", - "default": "./dist/fesm2022/tanstack-angular-table.mjs" + "types": "./dist/types/index.d.ts", + "default": "./dist/fesm2022/tanstack-angular-table.js" }, "./package.json": { "default": "./package.json" @@ -40,7 +40,7 @@ "src" ], "scripts": { - "build": "ng-packagr -p ng-package.json -c tsconfig.build.json && rimraf ./dist/package.json", + "build": "vite build", "build:types": "tsc --emitDeclarationOnly", "clean": "rimraf ./build && rimraf ./dist", "test:build": "publint --strict", diff --git a/packages/angular-table/tsconfig.build.json b/packages/angular-table/tsconfig.build.json index 266312b0e1..61b0e2d00b 100644 --- a/packages/angular-table/tsconfig.build.json +++ b/packages/angular-table/tsconfig.build.json @@ -6,7 +6,20 @@ "module": "ESNext", "moduleDetection": "force", "moduleResolution": "Bundler", - "stripInternal": true + "stripInternal": true, + "baseUrl": ".", + "target": "es2022", + "outDir": "dist", + "declaration": true, + "declarationDir": "types", + "sourceMap": true, + "inlineSourceMap": false, + "inlineSources": true, + "skipLibCheck": true, + "emitDecoratorMetadata": false, + "experimentalDecorators": true, + "importHelpers": true, + "lib": ["dom", "es2020"] }, "angularCompilerOptions": { "enableI18nLegacyMessageIdFormat": false, @@ -15,5 +28,6 @@ "strictTemplates": true, "compilationMode": "partial" }, - "include": ["src"] + "include": ["src"], + "exclude": ["node_modules", "dist", "**/*.shim.ts", "**/*.spec.ts"] } diff --git a/packages/angular-table/tsconfig.json b/packages/angular-table/tsconfig.json index 06630b2357..1e711f2c93 100644 --- a/packages/angular-table/tsconfig.json +++ b/packages/angular-table/tsconfig.json @@ -12,5 +12,11 @@ "experimentalDecorators": true, "importHelpers": true }, - "include": ["src", "tests", "eslint.config.js", "vite.config.ts"] + "include": [ + "src", + "tests", + "eslint.config.js", + "vite.config.ts", + "vitest.config.ts" + ] } diff --git a/packages/angular-table/vite.config.ts b/packages/angular-table/vite.config.ts index f1dc9d9158..4f119f0829 100644 --- a/packages/angular-table/vite.config.ts +++ b/packages/angular-table/vite.config.ts @@ -1,23 +1,31 @@ -import * as path from 'node:path' -import { defineConfig } from 'vitest/config' +import path from 'node:path' +import { defineConfig } from 'vite' import angular from '@analogjs/vite-plugin-angular' -import packageJson from './package.json' - -const tsconfigPath = path.join(import.meta.dirname, 'tsconfig.test.json') -const testDirPath = path.join(import.meta.dirname, 'tests') -const angularPlugin = angular({ tsconfig: tsconfigPath, jit: true }) export default defineConfig({ - plugins: [angularPlugin], - test: { - name: packageJson.name, - watch: false, - dir: testDirPath, - pool: 'threads', - environment: 'jsdom', - setupFiles: [path.join(testDirPath, 'test-setup.ts')], - globals: true, - reporters: 'default', - disableConsoleIntercept: true, + root: import.meta.dirname, + plugins: [ + angular({ + tsconfig: path.join(import.meta.dirname, 'tsconfig.build.json'), + }), + ], + resolve: { + mainFields: ['module'], + }, + build: { + target: ['esnext'], + sourcemap: true, + lib: { + entry: 'src/index.ts', + fileName: `fesm2022/tanstack-angular-table`, + formats: ['es'], + }, + rolldownOptions: { + external: [/^@angular\/.*/, /^@tanstack\/.*/, 'rxjs', 'rxjs/operators'], + output: { + preserveModules: false, + }, + }, + minify: false, }, }) diff --git a/packages/angular-table/vitest.config.ts b/packages/angular-table/vitest.config.ts new file mode 100644 index 0000000000..f1dc9d9158 --- /dev/null +++ b/packages/angular-table/vitest.config.ts @@ -0,0 +1,23 @@ +import * as path from 'node:path' +import { defineConfig } from 'vitest/config' +import angular from '@analogjs/vite-plugin-angular' +import packageJson from './package.json' + +const tsconfigPath = path.join(import.meta.dirname, 'tsconfig.test.json') +const testDirPath = path.join(import.meta.dirname, 'tests') +const angularPlugin = angular({ tsconfig: tsconfigPath, jit: true }) + +export default defineConfig({ + plugins: [angularPlugin], + test: { + name: packageJson.name, + watch: false, + dir: testDirPath, + pool: 'threads', + environment: 'jsdom', + setupFiles: [path.join(testDirPath, 'test-setup.ts')], + globals: true, + reporters: 'default', + disableConsoleIntercept: true, + }, +})