Skip to content

Commit

Permalink
feat(core): ship some types
Browse files Browse the repository at this point in the history
- Adds `type-fest` to core
- Adds `@types/json-stable-stringify` as dev dep
- Reorganize typescript config
  • Loading branch information
boneskull committed Oct 12, 2023
1 parent f10ac68 commit 328dc8e
Show file tree
Hide file tree
Showing 30 changed files with 727 additions and 110 deletions.
2 changes: 2 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ packages/*/examples/**/*
packages/*/test/**/fixtures/**/*
packages/*/test/projects/**/*
packages/core/lib/*.umd.js
packages/core/test/scenarios/**/*
packages/lavapack/bundle.js
packages/lavapack/src/runtime-cjs.js
packages/lavapack/src/runtime.js
Expand All @@ -13,3 +14,4 @@ packages/survey/mitm/**/*
packages/viz/dist/**/*
packages/viz/src/example-policies/**/*
packages/yarn-plugin-allow-scripts/bundles
packages/*/types/**/*
44 changes: 31 additions & 13 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,16 @@ module.exports = {
tsconfigRootDir: __dirname,
},
// this should be synced with the version of V8 used by the min supported node version
env: { es2020: true, node: true },
env: { es2021: true, node: true },
// the prettier config disables all eslint rules known to conflict with prettier
extends: ['eslint:recommended', 'plugin:n/recommended', 'prettier'],
rules: {
// base rules; none of these are in eslint/recommended
'no-empty': ['error', { allowEmptyCatch: true }],

// @typescript-eslint/no-unused-vars is more robust
'no-unused-vars': 'off',

// additional errors not in n/recommended
'n/callback-return': 'error',
'n/handle-callback-err': 'error',
Expand Down Expand Up @@ -70,19 +73,40 @@ module.exports = {
'n/no-missing-import': 'off',
},
},
/**
*
*/
{
files: ['packages/allow-scripts/src/**/*.js'],
files: ['packages/allow-scripts/src/**/*'],
parser: '@typescript-eslint/parser',
extends: ['plugin:@typescript-eslint/recommended'],
parserOptions: {
project: ['./packages/allow-scripts/tsconfig.json'],
},
},
{
files: ['packages/*/src/**/*.js'],
files: ['packages/aa/src/**/*'],
parser: '@typescript-eslint/parser',
extends: ['plugin:@typescript-eslint/recommended'],
parserOptions: {
project: ['./packages/aa/tsconfig.json'],
},
},
{
files: ['packages/core/src/**/*'],
parser: '@typescript-eslint/parser',
extends: ['plugin:@typescript-eslint/recommended'],
parserOptions: {
project: ['./packages/core/config/tsconfig.sources.json'],
},
},
{
files: ['packages/core/test/**/*'],
parser: '@typescript-eslint/parser',
extends: ['plugin:@typescript-eslint/recommended'],
parserOptions: {
project: ['./packages/core/config/tsconfig.test.json'],
},
},
{
files: ['packages/*/src/**/*.js', 'packages/*/test/**/*.js'],
rules: {
'@typescript-eslint/no-var-requires': 'off',
},
Expand All @@ -108,18 +132,12 @@ module.exports = {
browser: true,
},
rules: {
'no-unused-vars': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'no-undef': 'off',
'n/no-path-concat': 'off', // this should be removed and the issues fixed
'n/no-missing-require': 'off',
},
},
{
files: ['packages/core/lib/**/*.js'],
rules: {
'no-unused-vars': 'off',
},
},
{
files: ['packages/lavapack/src/*-template.js'],
globals: {
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -120,3 +120,5 @@ packages/aa/types

# VScode
.vscode

packages/*/types
7 changes: 0 additions & 7 deletions config/tsconfig.base.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@
{
"compilerOptions": {
"allowJs": true,
"allowSyntheticDefaultImports": true,
"checkJs": true,
"declaration": true,
"declarationMap": true,
"emitDeclarationOnly": true,
"composite": true,
"types": ["node"]
},
"extends": "@tsconfig/node16/tsconfig.json"
Expand Down
9 changes: 9 additions & 0 deletions config/tsconfig.emit-declarations.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"compilerOptions": {
"declaration": true,
"declarationMap": true,
"emitDeclarationOnly": true,
"noEmit": false
},
"extends": "./tsconfig.workspace.json"
}
11 changes: 11 additions & 0 deletions config/tsconfig.test.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"compilerOptions": {
"composite": true,
"allowSyntheticDefaultImports": true,
"allowJs": true,
"checkJs": true,
"emitDeclarationOnly": false,
"noEmit": true
},
"extends": "./tsconfig.base.json"
}
9 changes: 9 additions & 0 deletions config/tsconfig.workspace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"compilerOptions": {
"composite": true,
"allowSyntheticDefaultImports": true,
"allowJs": true,
"checkJs": true
},
"extends": "./tsconfig.base.json"
}
58 changes: 43 additions & 15 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/aa/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "../../config/tsconfig.base.json",
"extends": "../../config/tsconfig.emit-declarations.json",
"include": ["src"],
"compilerOptions": {
"rootDir": "src",
Expand Down
3 changes: 1 addition & 2 deletions packages/allow-scripts/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
{
"extends": "../../config/tsconfig.base.json",
"extends": "../../config/tsconfig.emit-declarations.json",
"include": ["src"],
"compilerOptions": {
"outDir": "types",
"rootDir": "src",
"skipLibCheck": false,
"paths": {
"@lavamoat/aa": ["../aa"]
}
Expand Down
2 changes: 2 additions & 0 deletions packages/core/.depcheckrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,5 @@ ignores:
- 'thisChecker'
- 'someClass'
- 'one'
# types
- '@types/json-stable-stringify'
9 changes: 9 additions & 0 deletions packages/core/config/tsconfig.sources.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"compilerOptions": {
"checkJs": false,
"outDir": "../types",
"rootDir": ".."
},
"extends": "../../../config/tsconfig.emit-declarations.json",
"include": ["../lib/transforms.umd.js", "../src"]
}
13 changes: 13 additions & 0 deletions packages/core/config/tsconfig.test.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"compilerOptions": {
"checkJs": false,
"rootDir": ".."
},
"extends": "../../../config/tsconfig.test.json",
"include": ["../test/**/*"],
"references": [
{
"path": "./tsconfig.sources.json"
}
]
}
14 changes: 12 additions & 2 deletions packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@
"dependencies": {
"json-stable-stringify": "^1.0.2",
"lavamoat-tofu": "^6.2.1",
"merge-deep": "^3.0.3"
"merge-deep": "^3.0.3",
"type-fest": "^4.3.3"
},
"devDependencies": {
"@types/json-stable-stringify": "^1.0.34",
"ses": "^0.18.8",
"tmp-promise": "^3.0.3"
},
Expand All @@ -35,5 +37,13 @@
"test/*.spec.js"
],
"timeout": "30s"
}
},
"types": "./types/src/types.d.ts",
"files": [
"lib",
"src",
"types",
"!*.tsbuildinfo",
"CHANGELOG.md"
]
}
Loading

0 comments on commit 328dc8e

Please sign in to comment.