Skip to content

Commit dd8ddae

Browse files
committed
feat(core): add core package
1 parent c46046f commit dd8ddae

12 files changed

+170
-0
lines changed

packages/core/.eslintrc.json

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"extends": ["../../.eslintrc.json"],
3+
"ignorePatterns": ["!**/*"],
4+
"overrides": [
5+
{
6+
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
7+
"rules": {}
8+
},
9+
{
10+
"files": ["*.ts", "*.tsx"],
11+
"rules": {}
12+
},
13+
{
14+
"files": ["*.js", "*.jsx"],
15+
"rules": {}
16+
},
17+
{
18+
"files": ["*.json"],
19+
"parser": "jsonc-eslint-parser",
20+
"rules": {
21+
"@nx/dependency-checks": "error"
22+
}
23+
}
24+
]
25+
}

packages/core/README.md

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# core
2+
3+
This library was generated with [Nx](https://nx.dev).
4+
5+
## Building
6+
7+
Run `nx build core` to build the library.
8+
9+
## Running unit tests
10+
11+
Run `nx test core` to execute the unit tests via [Jest](https://jestjs.io).

packages/core/package.json

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"name": "@quality-metrics-cli/core",
3+
"version": "0.0.1",
4+
"dependencies": {},
5+
"type": "commonjs",
6+
"main": "./index.cjs"
7+
}

packages/core/project.json

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"name": "core",
3+
"$schema": "../../node_modules/nx/schemas/project-schema.json",
4+
"sourceRoot": "packages/core/src",
5+
"projectType": "library",
6+
"targets": {
7+
"build": {
8+
"executor": "@nx/esbuild:esbuild",
9+
"outputs": ["{options.outputPath}"],
10+
"options": {
11+
"outputPath": "dist/packages/core",
12+
"main": "packages/core/src/index.ts",
13+
"tsConfig": "packages/core/tsconfig.lib.json",
14+
"assets": ["packages/core/*.md"],
15+
"generatePackageJson": true,
16+
"format": ["cjs"]
17+
}
18+
},
19+
"lint": {
20+
"executor": "@nx/linter:eslint",
21+
"outputs": ["{options.outputFile}"],
22+
"options": {
23+
"lintFilePatterns": [
24+
"packages/core/**/*.ts",
25+
"packages/core/package.json"
26+
]
27+
}
28+
},
29+
"test": {
30+
"executor": "@nx/vite:test",
31+
"outputs": ["{options.reportsDirectory}"],
32+
"options": {
33+
"passWithNoTests": true,
34+
"reportsDirectory": "../../coverage/packages/core"
35+
}
36+
}
37+
},
38+
"tags": []
39+
}

packages/core/src/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './lib/core';

packages/core/src/lib/core.spec.ts

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { core } from './core';
2+
3+
describe('core', () => {
4+
it('should work', () => {
5+
expect(core()).toEqual('core');
6+
});
7+
});

packages/core/src/lib/core.ts

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export function core(): string {
2+
return 'core';
3+
}

packages/core/tsconfig.json

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"extends": "../../tsconfig.base.json",
3+
"compilerOptions": {
4+
"module": "commonjs",
5+
"forceConsistentCasingInFileNames": true,
6+
"strict": true,
7+
"noImplicitOverride": true,
8+
"noPropertyAccessFromIndexSignature": true,
9+
"noImplicitReturns": true,
10+
"noFallthroughCasesInSwitch": true,
11+
"types": ["vitest"]
12+
},
13+
"files": [],
14+
"include": [],
15+
"references": [
16+
{
17+
"path": "./tsconfig.lib.json"
18+
},
19+
{
20+
"path": "./tsconfig.spec.json"
21+
}
22+
]
23+
}

packages/core/tsconfig.lib.json

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"extends": "./tsconfig.json",
3+
"compilerOptions": {
4+
"outDir": "../../dist/out-tsc",
5+
"declaration": true,
6+
"types": ["node"]
7+
},
8+
"include": ["src/**/*.ts"],
9+
"exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"]
10+
}

packages/core/tsconfig.spec.json

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"extends": "./tsconfig.json",
3+
"compilerOptions": {
4+
"outDir": "../../dist/out-tsc",
5+
"types": ["vitest/globals", "vitest/importMeta", "vite/client", "node"]
6+
},
7+
"include": [
8+
"vite.config.ts",
9+
"src/**/*.test.ts",
10+
"src/**/*.spec.ts",
11+
"src/**/*.test.tsx",
12+
"src/**/*.spec.tsx",
13+
"src/**/*.test.js",
14+
"src/**/*.spec.js",
15+
"src/**/*.test.jsx",
16+
"src/**/*.spec.jsx",
17+
"src/**/*.d.ts"
18+
]
19+
}

packages/core/vite.config.ts

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/// <reference types="vitest" />
2+
import { defineConfig } from 'vite';
3+
4+
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
5+
6+
export default defineConfig({
7+
cacheDir: '../../node_modules/.vite/core',
8+
9+
plugins: [nxViteTsPaths()],
10+
11+
// Uncomment this if you are using workers.
12+
// worker: {
13+
// plugins: [ nxViteTsPaths() ],
14+
// },
15+
16+
test: {
17+
globals: true,
18+
cache: {
19+
dir: '../../node_modules/.vitest',
20+
},
21+
environment: 'node',
22+
include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
23+
},
24+
});

tsconfig.base.json

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"baseUrl": ".",
1919
"resolveJsonModule": true,
2020
"paths": {
21+
"@quality-metrics-cli/core": ["packages/core/src/index.ts"],
2122
"@quality-metrics-cli/nx-plugin": ["packages/nx-plugin/src/index.ts"],
2223
"@quality-metrics/cli": ["packages/cli/src/index.ts"],
2324
"@quality-metrics/eslint-plugin": ["packages/plugin-eslint/src/index.ts"],

0 commit comments

Comments
 (0)