Skip to content

Commit dc9253b

Browse files
committed
chore: adds template and @aave/types skeleton
1 parent 7be01a7 commit dc9253b

File tree

15 files changed

+1716
-12
lines changed

15 files changed

+1716
-12
lines changed

package.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,13 @@
1212
"pnpm": ">=9.15.4"
1313
},
1414
"scripts": {
15+
"build": "turbo build",
16+
"dev": "turbo watch build",
17+
"clean": "rimraf .turbo packages/*/dist",
18+
"lint": "biome check",
19+
"lint:fix": "biome check --write",
20+
"new:package": "NODE_OPTIONS='--import tsx' plop --plopfile=plopfile.ts",
21+
"prepublish": "pnpm run build",
1522
"test": "echo \"Error: no test specified\" && exit 1"
1623
},
1724
"license": "MIT",
@@ -20,10 +27,13 @@
2027
"@changesets/cli": "^2.29.5",
2128
"@types/node": "^24.0.7",
2229
"jest-extended": "^6.0.0",
30+
"plop": "^4.0.1",
2331
"rimraf": "^6.0.1",
32+
"tsx": "^4.20.3",
2433
"turbo": "^2.5.4",
2534
"typescript": "^5.8.3",
2635
"vite": "^7.0.0",
2736
"vitest": "^3.2.4"
28-
}
37+
},
38+
"packageManager": "[email protected]"
2939
}

packages/types/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# `@aave/types`
2+
3+
Core types for the Aave SDK
4+
5+
---
6+
7+
**It is not intended to be used directly. Its interface will change without notice, use it at your own risk.**
8+

packages/types/package.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"name": "@aave/types",
3+
"version": "0.0.0",
4+
"description": "Core types for the Aave SDK",
5+
"repository": {
6+
"directory": "packages/types",
7+
"type": "git",
8+
"url": "git://github.com/aave/aave-sdk.git"
9+
},
10+
"type": "module",
11+
"main": "dist/index.cjs",
12+
"module": "dist/index.js",
13+
"types": "dist/index.d.ts",
14+
"exports": {
15+
".": {
16+
"import": "./dist/index.js",
17+
"require": "./dist/index.cjs"
18+
}
19+
},
20+
"typesVersions": {
21+
"*": {
22+
"import": ["./dist/index.d.ts"],
23+
"require": ["./dist/index.d.cts"]
24+
}
25+
},
26+
"files": ["dist"],
27+
"scripts": {
28+
"build": "tsup"
29+
},
30+
"dependencies": {},
31+
"devDependencies": {
32+
"tsup": "^8.5.0",
33+
"typescript": "^5.6.3"
34+
},
35+
"license": "MIT"
36+
}

packages/types/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export {};

packages/types/tsconfig.build.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"$schema": "https://json.schemastore.org/tsconfig",
3+
"extends": "../../tsconfig.base.json",
4+
"compilerOptions": {
5+
"outDir": "dist"
6+
},
7+
"include": ["./src/**/*.ts"],
8+
"exclude": ["node_modules", "dist"]
9+
}

packages/types/tsconfig.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"$schema": "https://json.schemastore.org/tsconfig",
3+
"extends": ["./tsconfig.build.json", "../../tsconfig.json"]
4+
}

packages/types/tsup.config.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/* eslint-disable import/no-default-export */
2+
import { defineConfig } from 'tsup';
3+
4+
export default defineConfig(() => ({
5+
entry: ['src/index.ts'],
6+
outDir: 'dist',
7+
splitting: false,
8+
sourcemap: true,
9+
treeshake: false,
10+
clean: true,
11+
tsconfig: 'tsconfig.build.json',
12+
bundle: true,
13+
minify: true,
14+
dts: true,
15+
platform: 'neutral',
16+
format: ['esm', 'cjs'],
17+
}));

plopfile.ts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import type { NodePlopAPI } from 'plop';
2+
3+
export default function (plop: NodePlopAPI) {
4+
plop.setGenerator('lib', {
5+
description: 'Generate a new package',
6+
prompts: [
7+
{
8+
type: 'list',
9+
name: 'template',
10+
message: 'Choose a template:',
11+
choices: [
12+
{ name: 'Library', value: { name: 'lib', dest: 'packages' } },
13+
{
14+
name: 'React Example',
15+
value: { name: 'example-react', dest: 'examples' },
16+
},
17+
],
18+
},
19+
{
20+
type: 'input',
21+
name: 'name',
22+
message: 'Package name (without scope):',
23+
},
24+
{
25+
type: 'input',
26+
name: 'description',
27+
message: 'Package description:',
28+
},
29+
],
30+
actions: [
31+
{
32+
type: 'addMany',
33+
destination: '{{template.dest}}/{{name}}',
34+
base: 'templates/{{template.name}}/',
35+
templateFiles: 'templates/{{template.name}}/**',
36+
},
37+
],
38+
});
39+
}

0 commit comments

Comments
 (0)