Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module.exports = {
extends: ["@turbo/eslint-config/library"],
};
};
24 changes: 21 additions & 3 deletions packages/turbo-types/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,28 @@
"bugs": {
"url": "https://github.com/vercel/turborepo/issues"
},
"main": "src/index.ts",
"types": "src/index.ts",
"type": "module",
"main": "dist/cjs/index.js",
"module": "dist/esm/index.js",
"types": "dist/types/index.d.ts",
"exports": {
".": {
"types": "./dist/types/index.d.ts",
"import": "./dist/esm/index.js",
"require": "./dist/cjs/index.js",
"default": "./dist/esm/index.js"
},
"./src/json/frameworks.json": {
"import": "./src/json/frameworks.json",
"default": "./src/json/frameworks.json"
}
},
"scripts": {
"build": "tsc && pnpm generate-schema",
"build": "pnpm build:esm && pnpm build:cjs && pnpm build:types && pnpm post-build && pnpm generate-schema",
"post-build": "echo '{ \"type\": \"commonjs\" }' > dist/cjs/package.json",
"build:esm": "tsc -p tsconfig.json",
"build:cjs": "tsc -p tsconfig.cjs.json",
"build:types": "tsc -p tsconfig.types.json",
"lint": "eslint src/",
"lint:prettier": "prettier -c . --cache",
"generate-schema": "tsx scripts/generate-schema.ts",
Expand Down
11 changes: 6 additions & 5 deletions packages/turbo-types/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import type { Framework as FW } from "./types/frameworks";
import type { Framework as FW } from "./types/frameworks.js";
// @ts-ignore - JSON imports work differently in ESM vs CJS
import frameworksJson from "./json/frameworks.json";

export const frameworks = frameworksJson as Array<Framework>;
export type Framework = FW;
export type { FrameworkStrategy } from "./types/frameworks";
export type { FrameworkStrategy } from "./types/frameworks.js";

export {
type BaseSchema,
Expand All @@ -25,7 +26,7 @@ export {
type WorkspaceSchema as WorkspaceSchemaV2,
isRootSchemaV2,
isWorkspaceSchemaV2,
} from "./types/config-v2";
} from "./types/config-v2.js";

export {
type BaseSchemaV1,
Expand All @@ -38,6 +39,6 @@ export {
type WorkspaceSchemaV1,
isRootSchemaV1,
isWorkspaceSchemaV1,
} from "./types/config-v1";
} from "./types/config-v1.js";

export type { DryRun } from "./types/dry";
export type { DryRun } from "./types/dry.js";
18 changes: 18 additions & 0 deletions packages/turbo-types/tsconfig.cjs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"extends": "@turbo/tsconfig/library.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "dist/cjs",
"module": "CommonJS",
"moduleResolution": "node",
"target": "ES2020",
"lib": ["ES2020"],
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"resolveJsonModule": true
},
"include": ["src/**/*"],
"ts-node": {
"esm": false
}
}
8 changes: 6 additions & 2 deletions packages/turbo-types/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
{
"extends": "@turbo/tsconfig/library.json",
"compilerOptions": {
"rootDir": ".",
"rootDir": "src",
"outDir": "dist/esm",
"module": "ESNext",
"moduleResolution": "bundler",
"target": "ESNext",
"lib": ["ESNext"]
}
},
"include": ["src/**/*"]
}
14 changes: 14 additions & 0 deletions packages/turbo-types/tsconfig.types.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"extends": "@turbo/tsconfig/library.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "dist/types",
"declaration": true,
"emitDeclarationOnly": true,
"module": "ESNext",
"moduleResolution": "bundler",
"target": "ESNext",
"lib": ["ESNext"]
},
"include": ["src/**/*"]
}
Loading