Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
1 change: 1 addition & 0 deletions packages/electron-passkeys/.gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
target/
*.node
!npm/**/*.node
artifacts/
# napi-generated type defs for the raw native binding (the public surface is
# the hand-written index.js/index.d.ts loader)
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
47 changes: 24 additions & 23 deletions packages/electron/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,64 +26,65 @@
"exports": {
".": {
"import": {
"types": "./dist/index.d.mts",
"default": "./dist/index.mjs"
"types": "./dist/types/index.d.ts",
"default": "./dist/esm/index.js"
},
"require": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
"types": "./dist/types/index.d.ts",
"default": "./dist/cjs/index.js"
}
},
"./preload": {
"import": {
"types": "./dist/preload/index.d.mts",
"default": "./dist/preload/index.mjs"
"types": "./dist/types/preload/index.d.ts",
"default": "./dist/esm/preload/index.js"
},
"require": {
"types": "./dist/preload/index.d.ts",
"default": "./dist/preload/index.js"
"types": "./dist/types/preload/index.d.ts",
"default": "./dist/cjs/preload/index.js"
}
},
"./storage": {
"import": {
"types": "./dist/storage/index.d.mts",
"default": "./dist/storage/index.mjs"
"types": "./dist/types/storage/index.d.ts",
"default": "./dist/esm/storage/index.js"
},
"require": {
"types": "./dist/storage/index.d.ts",
"default": "./dist/storage/index.js"
"types": "./dist/types/storage/index.d.ts",
"default": "./dist/cjs/storage/index.js"
}
},
"./react": {
"import": {
"types": "./dist/react/index.d.mts",
"default": "./dist/react/index.mjs"
"types": "./dist/types/react/index.d.ts",
"default": "./dist/esm/react/index.js"
},
"require": {
"types": "./dist/react/index.d.ts",
"default": "./dist/react/index.js"
"types": "./dist/types/react/index.d.ts",
"default": "./dist/cjs/react/index.js"
}
},
"./passkeys": {
"import": {
"types": "./dist/passkeys/index.d.mts",
"default": "./dist/passkeys/index.mjs"
"types": "./dist/types/passkeys/index.d.ts",
"default": "./dist/esm/passkeys/index.js"
},
"require": {
"types": "./dist/passkeys/index.d.ts",
"default": "./dist/passkeys/index.js"
"types": "./dist/types/passkeys/index.d.ts",
"default": "./dist/cjs/passkeys/index.js"
}
},
"./package.json": "./package.json"
},
"main": "./dist/index.js",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"main": "./dist/cjs/index.js",
"module": "./dist/esm/index.js",
"types": "./dist/types/index.d.ts",
"files": [
"dist"
],
"scripts": {
"build": "tsdown",
"build:declarations": "tsc -p tsconfig.declarations.json",
"clean": "rimraf ./dist",
"dev": "tsdown --watch",
"format": "node ../../scripts/format-package.mjs",
Expand Down
13 changes: 13 additions & 0 deletions packages/electron/tsconfig.declarations.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"skipLibCheck": true,
"noEmit": false,
"declaration": true,
"emitDeclarationOnly": true,
"declarationMap": true,
"sourceMap": false,
"declarationDir": "./dist/types"
},
"exclude": ["**/__tests__/**/*"]
}
26 changes: 20 additions & 6 deletions packages/electron/tsdown.config.mts
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import type { Options } from 'tsdown';
import { defineConfig } from 'tsdown';

import { runAfterLast } from '../../scripts/utils.ts';
import pkgJson from './package.json' with { type: 'json' };

export default defineConfig(overrideOptions => {
const isWatch = !!overrideOptions.watch;
const shouldPublish = !!overrideOptions.env?.publish;

return {
const common: Options = {
entry: {
index: './src/index.ts',
'preload/index': './src/preload/index.ts',
Expand All @@ -18,18 +20,30 @@ export default defineConfig(overrideOptions => {
deps: {
neverBundle: ['@clerk/electron-passkeys'],
},
dts: true,
fixedExtension: false,
format: ['cjs', 'esm'],
dts: false,
minify: false,
outDir: './dist',
sourcemap: true,
treeshake: true,
define: {
PACKAGE_NAME: `"${pkgJson.name}"`,
PACKAGE_VERSION: `"${pkgJson.version}"`,
__DEV__: `${isWatch}`,
},
onSuccess: shouldPublish ? 'pkglab pub --ping' : undefined,
};

const esm: Options = {
...common,
format: 'esm',
outDir: './dist/esm',
outExtensions: () => ({ js: '.js' }),
};

const cjs: Options = {
...common,
format: 'cjs',
outDir: './dist/cjs',
outExtensions: () => ({ js: '.js' }),
};

return runAfterLast(['pnpm build:declarations', shouldPublish && 'pkglab pub --ping'])(esm, cjs);
});
12 changes: 11 additions & 1 deletion scripts/common.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,17 @@ export async function getChangesetIgnoredPackages() {

export async function getPackageJsonFiles() {
const result = await $`find packages -mindepth 2 -maxdepth 2 -name package.json`.quiet();
return result.stdout.trim().split('\n').filter(Boolean);
const topLevel = result.stdout.trim().split('\n').filter(Boolean);

// Native addon platform packages (@clerk/electron-passkeys-*) live one level deeper,
// under packages/electron-passkeys/npm/*. They are real publishable workspace packages,
// so include them in version/publish discovery alongside the top-level packages.
const nativeResult = await $`find packages/electron-passkeys/npm -mindepth 2 -maxdepth 2 -name package.json`
.quiet()
.nothrow();
const nativePackages = nativeResult.stdout.trim().split('\n').filter(Boolean);
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated

return [...topLevel, ...nativePackages];
}

export async function getPackageNames() {
Expand Down
Loading