From 6830180b7cf427dfe31ea726b74522ad5877216d Mon Sep 17 00:00:00 2001 From: Jackson Morgan Date: Fri, 16 May 2025 15:55:58 -0400 Subject: [PATCH] esm for cli and ldo --- packages/cli/jest.config.js | 7 ++++--- packages/cli/package.json | 1 - packages/ldo/jest.config.cjs | 14 ++++++++++++++ packages/ldo/jest.config.js | 6 ------ packages/ldo/package.json | 20 ++++++++++++++++---- packages/ldo/src/index.ts | 3 ++- packages/ldo/test/LdoDataset.test.ts | 8 +++++++- packages/ldo/tsconfig.build.json | 7 ------- packages/ldo/tsconfig.cjs.json | 10 ++++++++++ packages/ldo/tsconfig.esm.json | 11 +++++++++++ 10 files changed, 64 insertions(+), 23 deletions(-) create mode 100644 packages/ldo/jest.config.cjs delete mode 100644 packages/ldo/jest.config.js delete mode 100644 packages/ldo/tsconfig.build.json create mode 100644 packages/ldo/tsconfig.cjs.json create mode 100644 packages/ldo/tsconfig.esm.json diff --git a/packages/cli/jest.config.js b/packages/cli/jest.config.js index b28362a..c651e3b 100644 --- a/packages/cli/jest.config.js +++ b/packages/cli/jest.config.js @@ -1,5 +1,6 @@ -const sharedConfig = require('../../jest.config.js'); +/* eslint-disable @typescript-eslint/no-var-requires */ +const sharedConfig = require("../../jest.config.js"); module.exports = { ...sharedConfig, - 'rootDir': './', -} \ No newline at end of file + rootDir: "./", +}; diff --git a/packages/cli/package.json b/packages/cli/package.json index 3382149..da88368 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -29,7 +29,6 @@ }, "homepage": "https://github.com/o-development/ldo/tree/main/packages/cli#readme", "devDependencies": { - "@ldo/cli": "^0.0.1-alpha.28", "@types/child-process-promise": "^2.2.2", "@types/ejs": "^3.1.1", "@types/fs-extra": "^9.0.13", diff --git a/packages/ldo/jest.config.cjs b/packages/ldo/jest.config.cjs new file mode 100644 index 0000000..3ad2cee --- /dev/null +++ b/packages/ldo/jest.config.cjs @@ -0,0 +1,14 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +// packages/dataset/jest.config.cjs +const sharedConfig = require("../../jest.config.js"); + +module.exports = { + ...sharedConfig, + rootDir: "./", // Sets context for this package + collectCoverageFrom: [ + "src/**/*.ts", + "!src/**/*.d.ts", + // "!src/index.ts", // Optional, if index.ts only re-exports + ], + modulePathIgnorePatterns: ["/dist/"], +}; diff --git a/packages/ldo/jest.config.js b/packages/ldo/jest.config.js deleted file mode 100644 index bad5f64..0000000 --- a/packages/ldo/jest.config.js +++ /dev/null @@ -1,6 +0,0 @@ -// eslint-disable-next-line @typescript-eslint/no-var-requires -const sharedConfig = require("../../jest.config.js"); -module.exports = { - ...sharedConfig, - rootDir: "./", -}; diff --git a/packages/ldo/package.json b/packages/ldo/package.json index b4bf983..8221a96 100644 --- a/packages/ldo/package.json +++ b/packages/ldo/package.json @@ -2,12 +2,24 @@ "name": "@ldo/ldo", "version": "1.0.0-alpha.9", "description": "", - "main": "dist/index.js", + "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" + }, + "./package.json": "./package.json" + }, "scripts": { - "example": "ts-node ./example/example.ts", - "build": "tsc --project tsconfig.build.json", + "build": "rimraf dist && npm run build:cjs && npm run build:esm", + "build:cjs": "tsc --project tsconfig.cjs.json", + "build:esm": "tsc --project tsconfig.esm.json", "test": "jest --coverage", - "test:watch": "jest --watch --coverage", + "example": "ts-node ./example/example.ts", "prepublishOnly": "npm run test && npm run build", "lint": "eslint src/** --fix --no-error-on-unmatched-pattern", "docs": "typedoc --plugin typedoc-plugin-markdown" diff --git a/packages/ldo/src/index.ts b/packages/ldo/src/index.ts index a90f9f3..83ede90 100644 --- a/packages/ldo/src/index.ts +++ b/packages/ldo/src/index.ts @@ -8,4 +8,5 @@ export * from "./createLdoDataset.js"; import type { LdoBase as LdoBaseImport } from "./util.js"; export type LdoBase = LdoBaseImport; export * from "./types.js"; -export { LdSet, LdoJsonldContext, set } from "@ldo/jsonld-dataset-proxy"; +export type { LdSet, LdoJsonldContext } from "@ldo/jsonld-dataset-proxy"; +export { set } from "@ldo/jsonld-dataset-proxy"; diff --git a/packages/ldo/test/LdoDataset.test.ts b/packages/ldo/test/LdoDataset.test.ts index a2bae47..16d8011 100644 --- a/packages/ldo/test/LdoDataset.test.ts +++ b/packages/ldo/test/LdoDataset.test.ts @@ -3,7 +3,13 @@ import { createDataset } from "@ldo/dataset"; import type { SolidProfileShape } from "./profileData.js"; import { ProfileShapeType } from "./profileData.js"; import type { LdoBuilder, LdoDataset } from "../src/index.js"; -import { createLdoDataset, graphOf, parseRdf, toTurtle, set } from "../src/index.js"; +import { + createLdoDataset, + graphOf, + parseRdf, + toTurtle, + set, +} from "../src/index.js"; import { sampleJsonld, sampleTurtle } from "./sampleData.js"; import type { SubjectProxy } from "@ldo/jsonld-dataset-proxy"; import { _proxyContext } from "@ldo/jsonld-dataset-proxy"; diff --git a/packages/ldo/tsconfig.build.json b/packages/ldo/tsconfig.build.json deleted file mode 100644 index ce7be9c..0000000 --- a/packages/ldo/tsconfig.build.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "outDir": "./dist" - }, - "include": ["./src"] -} \ No newline at end of file diff --git a/packages/ldo/tsconfig.cjs.json b/packages/ldo/tsconfig.cjs.json new file mode 100644 index 0000000..affce40 --- /dev/null +++ b/packages/ldo/tsconfig.cjs.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.cjs.json", + "compilerOptions": { + "outDir": "./dist/cjs", + "rootDir": "./src" + }, + "include": [ + "src" + ] +} \ No newline at end of file diff --git a/packages/ldo/tsconfig.esm.json b/packages/ldo/tsconfig.esm.json new file mode 100644 index 0000000..09f99c2 --- /dev/null +++ b/packages/ldo/tsconfig.esm.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.esm.json", + "compilerOptions": { + "outDir": "./dist/esm", + "rootDir": "./src", + "declarationDir": "./dist/types" + }, + "include": [ + "src" + ] +} \ No newline at end of file