Skip to content

Commit 784266d

Browse files
nattb8claude
andcommitted
feat: scaffold @imtbl/audience-core package
Add the shared audience core package structure that the web SDK and pixel will both depend on. Source modules added in follow-up PRs (SDK-33, SDK-34). - packages/audience/core/ added to pnpm workspace - package.json, tsconfig, eslint, jest config matching SDK conventions - CODEOWNERS updated to @immutable/ped-stream-sdk-integrations-list - Lockfile updated Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 5532e38 commit 784266d

9 files changed

Lines changed: 115 additions & 1 deletion

File tree

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ package.json @immutable/blockchain-services
2121
/packages/blockchain-data @immutable/activation
2222
/packages/minting-backend @shineli1984
2323
/packages/webhook @shineli1984
24-
/packages/audience @immutable/game-page-team
24+
/packages/audience @immutable/ped-stream-sdk-integrations-list
2525
/packages/game-bridge @immutable/gamesdk @immutable/blockchain-services
2626
/examples @immutable/devgrowth
2727
**/package.json @immutable/blockchain-services
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module.exports = {
2+
extends: ['../../../.eslintrc'],
3+
parserOptions: {
4+
project: './tsconfig.eslint.json',
5+
tsconfigRootDir: __dirname,
6+
},
7+
};
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import type { Config } from 'jest';
2+
3+
const config: Config = {
4+
roots: ['<rootDir>/src'],
5+
moduleDirectories: ['node_modules', 'src'],
6+
testEnvironment: 'jsdom',
7+
transform: {
8+
'^.+\\.tsx?$': '@swc/jest',
9+
},
10+
};
11+
12+
export default config;
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{
2+
"name": "@imtbl/audience-core",
3+
"description": "Shared core for Immutable Audience SDKs: transport, queue, cookie, context collection",
4+
"version": "0.0.0",
5+
"author": "Immutable",
6+
"private": true,
7+
"bugs": "https://github.com/immutable/ts-immutable-sdk/issues",
8+
"dependencies": {},
9+
"devDependencies": {
10+
"@swc/core": "^1.4.2",
11+
"@swc/jest": "^0.2.37",
12+
"@types/jest": "^29.5.12",
13+
"eslint": "^8.56.0",
14+
"jest": "^29.7.0",
15+
"jest-environment-jsdom": "^29.4.3",
16+
"tsup": "^8.3.0",
17+
"typescript": "^5.6.2"
18+
},
19+
"exports": {
20+
"development": {
21+
"types": "./src/index.ts",
22+
"browser": "./dist/browser/index.js",
23+
"require": "./dist/node/index.cjs",
24+
"default": "./dist/node/index.js"
25+
},
26+
"default": {
27+
"types": "./dist/types/index.d.ts",
28+
"browser": "./dist/browser/index.js",
29+
"require": "./dist/node/index.cjs",
30+
"default": "./dist/node/index.js"
31+
}
32+
},
33+
"files": ["dist"],
34+
"main": "dist/node/index.cjs",
35+
"module": "dist/node/index.js",
36+
"browser": "dist/browser/index.js",
37+
"homepage": "https://github.com/immutable/ts-immutable-sdk#readme",
38+
"repository": "immutable/ts-immutable-sdk.git",
39+
"scripts": {
40+
"build": "pnpm transpile && pnpm typegen",
41+
"transpile": "tsup src/index.ts --config ../../../tsup.config.js",
42+
"typegen": "tsc --customConditions default --emitDeclarationOnly --outDir dist/types",
43+
"lint": "eslint ./src --ext .ts --max-warnings=0",
44+
"test": "jest --passWithNoTests",
45+
"typecheck": "tsc --customConditions default --noEmit"
46+
},
47+
"type": "module",
48+
"types": "./dist/types/index.d.ts"
49+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// @imtbl/audience-core — shared foundation for the web SDK and pixel.
2+
// Source modules will be added in follow-up PRs (SDK-33, SDK-34).
3+
export {};
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"extends": "./tsconfig.json",
3+
"include": ["src"],
4+
"exclude": []
5+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"extends": "../../../tsconfig.base.json",
3+
"compilerOptions": {
4+
"outDir": "./dist",
5+
"rootDirs": ["src"],
6+
"customConditions": ["development"]
7+
},
8+
"include": ["src"],
9+
"exclude": ["dist", "node_modules", "src/**/*.test.ts"]
10+
}

pnpm-lock.yaml

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pnpm-workspace.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ packages:
2424
- "packages/checkout/widgets-sample-app"
2525
- "packages/checkout/widgets-lib"
2626
- "packages/blockchain-data/sdk"
27+
- "packages/audience/core"
2728
- "packages/audience/sdk"
2829
- "packages/game-bridge"
2930
- "packages/webhook/sdk"

0 commit comments

Comments
 (0)