Skip to content

Commit a02fc56

Browse files
authored
build(driver-web-cache): use fluid-tsc (#19809)
Semi-automatic PR to switch to fluid-tsc
1 parent 31d80b7 commit a02fc56

15 files changed

+67
-58
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{
22
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3-
"extends": "../../../common/build/build-common/api-extractor-base-esm.json"
3+
"extends": "../../../common/build/build-common/api-extractor-base.cjs.primary.json",
4+
// CJS is actually secondary; so, no report.
5+
"apiReport": {
6+
"enabled": false
7+
}
48
}
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3-
"extends": "../../../common/build/build-common/api-extractor-lint.json"
3+
"extends": "../../../common/build/build-common/api-extractor-lint.esm.primary.json"
44
}
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3-
"extends": "../../../common/build/build-common/api-extractor-base.json"
3+
"extends": "../../../common/build/build-common/api-extractor-base.esm.primary.json"
44
}

packages/drivers/driver-web-cache/package.json

+20-29
Original file line numberDiff line numberDiff line change
@@ -11,72 +11,64 @@
1111
"license": "MIT",
1212
"author": "Microsoft and contributors",
1313
"sideEffects": false,
14+
"type": "module",
1415
"exports": {
1516
".": {
1617
"import": {
17-
"types": "./lib/index.d.mts",
18-
"default": "./lib/index.mjs"
18+
"types": "./lib/index.d.ts",
19+
"default": "./lib/index.js"
1920
},
2021
"require": {
2122
"types": "./dist/index.d.ts",
2223
"default": "./dist/index.js"
2324
}
2425
},
25-
"./alpha": {
26+
"./public": {
2627
"import": {
27-
"types": "./lib/driver-web-cache-alpha.d.mts",
28-
"default": "./lib/index.mjs"
28+
"types": "./lib/driver-web-cache-public.d.ts",
29+
"default": "./lib/index.js"
2930
},
3031
"require": {
31-
"types": "./dist/driver-web-cache-alpha.d.ts",
32+
"types": "./dist/driver-web-cache-public.d.ts",
3233
"default": "./dist/index.js"
3334
}
3435
},
35-
"./beta": {
36+
"./alpha": {
3637
"import": {
37-
"types": "./lib/driver-web-cache-beta.d.mts",
38-
"default": "./lib/index.mjs"
38+
"types": "./lib/driver-web-cache-alpha.d.ts",
39+
"default": "./lib/index.js"
3940
},
4041
"require": {
41-
"types": "./dist/driver-web-cache-beta.d.ts",
42+
"types": "./dist/driver-web-cache-alpha.d.ts",
4243
"default": "./dist/index.js"
4344
}
4445
},
4546
"./internal": {
4647
"import": {
47-
"types": "./lib/index.d.mts",
48-
"default": "./lib/index.mjs"
48+
"types": "./lib/index.d.ts",
49+
"default": "./lib/index.js"
4950
},
5051
"require": {
5152
"types": "./dist/index.d.ts",
5253
"default": "./dist/index.js"
5354
}
54-
},
55-
"./public": {
56-
"import": {
57-
"types": "./lib/driver-web-cache-public.d.mts",
58-
"default": "./lib/index.mjs"
59-
},
60-
"require": {
61-
"types": "./dist/driver-web-cache-public.d.ts",
62-
"default": "./dist/index.js"
63-
}
6455
}
6556
},
6657
"main": "dist/index.js",
67-
"module": "lib/index.mjs",
6858
"types": "dist/index.d.ts",
6959
"scripts": {
7060
"api": "fluid-build . --task api",
71-
"api-extractor:commonjs": "api-extractor run --local",
72-
"api-extractor:esnext": "api-extractor run --config ./api-extractor-esm.json",
61+
"api-extractor:commonjs": "api-extractor run --config ./api-extractor-cjs.json",
62+
"api-extractor:esnext": "api-extractor run --local",
7363
"build": "fluid-build . --task build",
7464
"build:commonjs": "fluid-build . --task commonjs",
7565
"build:compile": "fluid-build . --task compile",
7666
"build:docs": "fluid-build . --task api",
77-
"build:esnext": "tsc-multi --config ../../../common/build/build-common/tsc-multi.esm.json",
67+
"build:esnext": "tsc --project ./tsconfig.json",
7868
"build:genver": "gen-version",
79-
"build:test": "tsc --project ./src/test/tsconfig.json",
69+
"build:test": "npm run build:test:esm && npm run build:test:cjs",
70+
"build:test:cjs": "fluid-tsc commonjs --project ./src/test/tsconfig.cjs.json",
71+
"build:test:esm": "tsc --project ./src/test/tsconfig.json",
8072
"check:are-the-types-wrong": "attw --pack . --entrypoints .",
8173
"check:release-tags": "api-extractor run --local --config ./api-extractor-lint.json",
8274
"ci:build:docs": "api-extractor run",
@@ -90,7 +82,7 @@
9082
"prettier:fix": "prettier --write . --cache --ignore-path ../../../.prettierignore",
9183
"test": "npm run test:jest",
9284
"test:jest": "jest",
93-
"tsc": "tsc",
85+
"tsc": "fluid-tsc commonjs --project ./tsconfig.cjs.json && copyfiles -f ../../../common/build/build-common/src/cjs/package.json ./dist",
9486
"typetests:gen": "fluid-type-test-generator",
9587
"typetests:prepare": "flub typetests --dir . --reset --previous --normalize"
9688
},
@@ -117,7 +109,6 @@
117109
"jest": "^29.6.2",
118110
"prettier": "~3.0.3",
119111
"rimraf": "^4.4.0",
120-
"tsc-multi": "^1.1.0",
121112
"typescript": "~5.1.6"
122113
},
123114
"fluidBuild": {

packages/drivers/driver-web-cache/src/FluidCache.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@ import { assert } from "@fluidframework/core-utils";
88
import { IPersistedCache, ICacheEntry, IFileEntry } from "@fluidframework/odsp-driver-definitions";
99
import { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
1010
import { ITelemetryLoggerExt, createChildLogger } from "@fluidframework/telemetry-utils";
11-
import { scheduleIdleTask } from "./scheduleIdleTask";
11+
import { scheduleIdleTask } from "./scheduleIdleTask.js";
1212
import {
1313
getFluidCacheIndexedDbInstance,
1414
FluidCacheDBSchema,
1515
FluidDriverObjectStoreName,
1616
getKeyForCacheEntry,
17-
} from "./FluidCacheIndexedDb";
17+
} from "./FluidCacheIndexedDb.js";
1818
import {
1919
FluidCacheErrorEvent,
2020
FluidCacheEventSubCategories,
2121
FluidCacheGenericEvent,
22-
} from "./fluidCacheTelemetry";
23-
import { pkgVersion } from "./packageVersion";
22+
} from "./fluidCacheTelemetry.js";
23+
import { pkgVersion } from "./packageVersion.js";
2424

2525
// Some browsers have a usageDetails property that will tell you more detailed information
2626
// on how the storage is being used

packages/drivers/driver-web-cache/src/FluidCacheIndexedDb.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { openDB, DBSchema, DeleteDBCallbacks, IDBPDatabase, deleteDB } from "idb
77
import { ICacheEntry } from "@fluidframework/odsp-driver-definitions";
88
import { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
99
import { createChildLogger } from "@fluidframework/telemetry-utils";
10-
import { FluidCacheErrorEvent } from "./fluidCacheTelemetry";
10+
import { FluidCacheErrorEvent } from "./fluidCacheTelemetry.js";
1111

1212
// The name of the database that we use for caching Fluid info.
1313
export const FluidDriverCacheDBName = "fluidDriverCache";

packages/drivers/driver-web-cache/src/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
* Licensed under the MIT License.
44
*/
55

6-
export { FluidCache, FluidCacheConfig } from "./FluidCache";
7-
export { deleteFluidCacheIndexDbInstance } from "./FluidCacheIndexedDb";
6+
export { FluidCache, FluidCacheConfig } from "./FluidCache.js";
7+
export { deleteFluidCacheIndexDbInstance } from "./FluidCacheIndexedDb.js";

packages/drivers/driver-web-cache/src/test/FluidCache.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55

66
import { ICacheEntry } from "@fluidframework/odsp-driver-definitions";
77
import { openDB } from "idb";
8-
import { FluidCache } from "../FluidCache";
8+
import { FluidCache } from "../FluidCache.js";
99
import {
1010
getFluidCacheIndexedDbInstance,
1111
FluidDriverObjectStoreName,
1212
FluidDriverCacheDBName,
1313
getKeyForCacheEntry,
14-
} from "../FluidCacheIndexedDb";
14+
} from "../FluidCacheIndexedDb.js";
1515

1616
// eslint-disable-next-line import/no-unassigned-import, @typescript-eslint/no-require-imports, import/no-internal-modules
1717
require("fake-indexeddb/auto");

packages/drivers/driver-web-cache/src/test/FluidCacheIndexedDb.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import {
1010
FluidDriverCacheDBName,
1111
FluidDriverObjectStoreName,
1212
CurrentCacheVersion,
13-
} from "../FluidCacheIndexedDb";
14-
import { FluidCacheErrorEvent } from "../fluidCacheTelemetry";
13+
} from "../FluidCacheIndexedDb.js";
14+
import { FluidCacheErrorEvent } from "../fluidCacheTelemetry.js";
1515

1616
// eslint-disable-next-line import/no-unassigned-import, @typescript-eslint/no-require-imports, import/no-internal-modules
1717
require("fake-indexeddb/auto");

packages/drivers/driver-web-cache/src/test/FluidCacheTimer.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import { openDB } from "idb";
99
import { ICacheEntry } from "@fluidframework/odsp-driver-definitions";
1010
import { MockLogger } from "@fluidframework/telemetry-utils";
1111
import { delay } from "@fluidframework/core-utils";
12-
import { FluidDriverCacheDBName } from "../FluidCacheIndexedDb";
13-
import { FluidCache } from "../FluidCache";
12+
import { FluidDriverCacheDBName } from "../FluidCacheIndexedDb.js";
13+
import { FluidCache } from "../FluidCache.js";
1414

1515
// eslint-disable-next-line import/no-unassigned-import, @typescript-eslint/no-require-imports, import/no-internal-modules
1616
require("fake-indexeddb/auto");
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
// This config must be used in a "type": "commonjs" environment. (Use fluid-tsc commonjs.)
3+
"extends": "./tsconfig.json",
4+
"compilerOptions": {
5+
"outDir": "../../dist/test",
6+
},
7+
"references": [
8+
{
9+
"path": "../../tsconfig.cjs.json",
10+
},
11+
],
12+
}
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
{
2-
"extends": ["../../../../../common/build/build-common/tsconfig.test.json"],
2+
"extends": "../../../../../common/build/build-common/tsconfig.test.node16.json",
3+
"compilerOptions": {
4+
"rootDir": "./",
5+
"outDir": "../../lib/test",
6+
"types": ["jest", "node"],
7+
},
38
"include": ["./**/*"],
49
"references": [
510
{
611
"path": "../..",
712
},
813
],
9-
"compilerOptions": {
10-
"rootDir": "./",
11-
"outDir": "../../dist/test",
12-
"types": ["jest", "node"],
13-
},
1414
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
// This config must be used in a "type": "commonjs" environment. (Use fluid-tsc commonjs.)
3+
"extends": "./tsconfig.json",
4+
"compilerOptions": {
5+
"outDir": "./dist",
6+
},
7+
}
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
{
2-
"extends": [
3-
"../../../common/build/build-common/tsconfig.base.json",
4-
"../../../common/build/build-common/tsconfig.cjs.json",
5-
],
2+
"extends": "../../../common/build/build-common/tsconfig.node16.json",
63
"include": ["src/**/*"],
74
"exclude": ["src/test/**/*"],
85
"compilerOptions": {
96
"rootDir": "./src",
10-
"outDir": "./dist",
7+
"outDir": "./lib",
118
"skipLibCheck": true,
129
},
1310
}

pnpm-lock.yaml

-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)