diff --git a/packages/test/test-service-load/package.json b/packages/test/test-service-load/package.json index 3f19850c3308..9c8bba2bb763 100644 --- a/packages/test/test-service-load/package.json +++ b/packages/test/test-service-load/package.json @@ -11,16 +11,16 @@ "license": "MIT", "author": "Microsoft and contributors", "sideEffects": false, - "main": "dist/index.js", - "module": "lib/index.js", - "types": "dist/index.d.ts", + "type": "module", "scripts": { "build": "fluid-build . --task build", "build:commonjs": "fluid-build . --task commonjs", "build:compile": "fluid-build . --task compile", - "build:esnext": "tsc --project ./tsconfig.esnext.json", + "build:esnext": "tsc --project ./tsconfig.json", "build:genver": "gen-version", - "build:test": "tsc --project ./src/test/tsconfig.json", + "build:test": "npm run build:test:esm && npm run build:test:cjs", + "build:test:cjs": "fluid-tsc commonjs --project ./src/test/tsconfig.cjs.json", + "build:test:esm": "tsc --project ./src/test/tsconfig.json", "check:biome": "biome check .", "check:prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore", "clean": "rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" nyc", @@ -51,7 +51,7 @@ "test:stress:tinylicious": "cross-env fluid__test__driver=t9s start-server-and-test start:tinylicious:test 7070 test:stress:tinylicious:run", "test:stress:tinylicious:report": "npm run test:stress:tinylicious", "test:stress:tinylicious:run": "npm run test:stress:run", - "tsc": "tsc", + "tsc": "fluid-tsc commonjs --project ./tsconfig.cjs.json && copyfiles -f ../../../common/build/build-common/src/cjs/package.json ./dist", "typetests:gen": "fluid-type-test-generator", "typetests:prepare": "flub typetests --dir . --reset --previous --normalize", "usePrereleaseDeps": "node ./scripts/usePrereleaseDeps.js" @@ -115,6 +115,7 @@ "@types/mocha": "^9.1.1", "@types/node": "^18.19.0", "c8": "^8.0.1", + "copyfiles": "^2.4.1", "cross-env": "^7.0.3", "eslint": "~8.55.0", "mocha": "^10.2.0", diff --git a/packages/test/test-service-load/src/loadTestDataStore.ts b/packages/test/test-service-load/src/loadTestDataStore.ts index 76ce486870a4..d11fb30be132 100644 --- a/packages/test/test-service-load/src/loadTestDataStore.ts +++ b/packages/test/test-service-load/src/loadTestDataStore.ts @@ -25,7 +25,7 @@ import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions" import { IContainerRuntimeBase } from "@fluidframework/runtime-definitions"; import { ITaskManager, TaskManager } from "@fluidframework/task-manager"; import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils"; -import { ILoadTestConfig } from "./testConfigFile"; +import { ILoadTestConfig } from "./testConfigFile.js"; export interface IRunConfig { runId: number; diff --git a/packages/test/test-service-load/src/nodeStressTest.ts b/packages/test/test-service-load/src/nodeStressTest.ts index 0565e0ca5134..10737827cfa1 100644 --- a/packages/test/test-service-load/src/nodeStressTest.ts +++ b/packages/test/test-service-load/src/nodeStressTest.ts @@ -13,8 +13,8 @@ import { } from "@fluidframework/test-driver-definitions"; import commander from "commander"; import ps from "ps-node"; -import { ILoadTestConfig } from "./testConfigFile"; -import { createLogger, createTestDriver, getProfile, initialize, safeExit } from "./utils"; +import { ILoadTestConfig } from "./testConfigFile.js"; +import { createLogger, createTestDriver, getProfile, initialize, safeExit } from "./utils.js"; interface ITestUserConfig { /* Credentials' key/value description: diff --git a/packages/test/test-service-load/src/optionsMatrix.ts b/packages/test/test-service-load/src/optionsMatrix.ts index 8f6802142d5e..3337c2c31191 100644 --- a/packages/test/test-service-load/src/optionsMatrix.ts +++ b/packages/test/test-service-load/src/optionsMatrix.ts @@ -19,7 +19,7 @@ import { import { ConfigTypes } from "@fluidframework/core-interfaces"; import { LoggingError } from "@fluidframework/telemetry-utils"; import { TestDriverTypes } from "@fluidframework/test-driver-definitions"; -import { ILoadTestConfig, OptionOverride } from "./testConfigFile"; +import { ILoadTestConfig, OptionOverride } from "./testConfigFile.js"; const loaderOptionsMatrix: OptionsMatrix = { cache: booleanCases, diff --git a/packages/test/test-service-load/src/runner.ts b/packages/test/test-service-load/src/runner.ts index e0eb7166b5ca..8e2185eba702 100644 --- a/packages/test/test-service-load/src/runner.ts +++ b/packages/test/test-service-load/src/runner.ts @@ -19,14 +19,14 @@ import { TestDriverTypes, } from "@fluidframework/test-driver-definitions"; import commander from "commander"; -import { FaultInjectionDocumentServiceFactory } from "./faultInjectionDriver"; -import { ILoadTest, IRunConfig } from "./loadTestDataStore"; +import { FaultInjectionDocumentServiceFactory } from "./faultInjectionDriver.js"; +import { ILoadTest, IRunConfig } from "./loadTestDataStore.js"; import { generateConfigurations, generateLoaderOptions, generateRuntimeOptions, getOptionOverride, -} from "./optionsMatrix"; +} from "./optionsMatrix.js"; import { configProvider, createCodeLoader, @@ -35,7 +35,7 @@ import { getProfile, globalConfigurations, safeExit, -} from "./utils"; +} from "./utils.js"; function printStatus(runConfig: IRunConfig, message: string) { if (runConfig.verbose) { diff --git a/packages/test/test-service-load/src/test/tsconfig.cjs.json b/packages/test/test-service-load/src/test/tsconfig.cjs.json new file mode 100644 index 000000000000..f966e4a2484f --- /dev/null +++ b/packages/test/test-service-load/src/test/tsconfig.cjs.json @@ -0,0 +1,12 @@ +{ + // This config must be used in a "type": "commonjs" environment. (Use fluid-tsc commonjs.) + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/test", + }, + "references": [ + { + "path": "../../tsconfig.cjs.json", + }, + ], +} diff --git a/packages/test/test-service-load/src/test/tsconfig.json b/packages/test/test-service-load/src/test/tsconfig.json index b58e17f1917f..77c14e7f1f56 100644 --- a/packages/test/test-service-load/src/test/tsconfig.json +++ b/packages/test/test-service-load/src/test/tsconfig.json @@ -1,11 +1,9 @@ { - "extends": "@fluidframework/build-common/ts-common-config.json", + "extends": "../../../../../common/build/build-common/tsconfig.test.node16.json", "compilerOptions": { "rootDir": "./", - "outDir": "../../dist/test", - "types": ["node", "mocha"], - "declaration": false, - "declarationMap": false, + "outDir": "../../lib/test", + "types": ["mocha", "node"], }, "include": ["./**/*"], "references": [ diff --git a/packages/test/test-service-load/src/utils.ts b/packages/test/test-service-load/src/utils.ts index 6fd636b1d0ae..b808a01eee89 100644 --- a/packages/test/test-service-load/src/utils.ts +++ b/packages/test/test-service-load/src/utils.ts @@ -30,15 +30,15 @@ import { TestDriverTypes, } from "@fluidframework/test-driver-definitions"; import { LocalCodeLoader } from "@fluidframework/test-utils"; -import { ILoadTest, createFluidExport } from "./loadTestDataStore"; +import { ILoadTest, createFluidExport } from "./loadTestDataStore.js"; import { generateConfigurations, generateLoaderOptions, generateRuntimeOptions, getOptionOverride, -} from "./optionsMatrix"; -import { pkgName, pkgVersion } from "./packageVersion"; -import { ILoadTestConfig, ITestConfig } from "./testConfigFile"; +} from "./optionsMatrix.js"; +import { pkgName, pkgVersion } from "./packageVersion.js"; +import { ILoadTestConfig, ITestConfig } from "./testConfigFile.js"; const packageName = `${pkgName}@${pkgVersion}`; diff --git a/packages/test/test-service-load/tsconfig.cjs.json b/packages/test/test-service-load/tsconfig.cjs.json new file mode 100644 index 000000000000..773d0806da58 --- /dev/null +++ b/packages/test/test-service-load/tsconfig.cjs.json @@ -0,0 +1,7 @@ +{ + // This config must be used in a "type": "commonjs" environment. (Use fluid-tsc commonjs.) + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist", + }, +} diff --git a/packages/test/test-service-load/tsconfig.json b/packages/test/test-service-load/tsconfig.json index 6c1e0eade983..4085f38ef765 100644 --- a/packages/test/test-service-load/tsconfig.json +++ b/packages/test/test-service-load/tsconfig.json @@ -1,11 +1,10 @@ { - "extends": "@fluidframework/build-common/ts-common-config.json", + "extends": "../../../common/build/build-common/tsconfig.node16.json", "exclude": ["src/test/**/*"], "include": ["src/**/*"], "compilerOptions": { "rootDir": "./src", - "outDir": "./dist", + "outDir": "./lib", "types": ["node"], - "composite": true, }, } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f9187fd79d0f..dd27cebd5e3b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10141,6 +10141,7 @@ importers: '@types/node': ^18.19.0 c8: ^8.0.1 commander: ^5.1.0 + copyfiles: ^2.4.1 cross-env: ^7.0.3 eslint: ~8.55.0 mocha: ^10.2.0 @@ -10188,6 +10189,7 @@ importers: '@types/mocha': 9.1.1 '@types/node': 18.19.1 c8: 8.0.1 + copyfiles: 2.4.1 cross-env: 7.0.3 eslint: 8.55.0 mocha: 10.2.0