mirror of
https://github.com/nbd-wtf/nostr-tools.git
synced 2025-12-09 08:38:50 +00:00
Organize build, allow one entrypoint per file (#305)
This commit is contained in:
15
build.js
15
build.js
@@ -2,9 +2,17 @@
|
|||||||
|
|
||||||
const fs = require('fs')
|
const fs = require('fs')
|
||||||
const esbuild = require('esbuild')
|
const esbuild = require('esbuild')
|
||||||
|
const { join } = require('path');
|
||||||
|
|
||||||
|
const entryPoints = fs.readdirSync(process.cwd())
|
||||||
|
.filter(
|
||||||
|
(file) =>
|
||||||
|
file.endsWith(".ts") && !file.endsWith("test.ts") &&
|
||||||
|
fs.statSync(join(process.cwd(), file)).isFile()
|
||||||
|
);
|
||||||
|
|
||||||
let common = {
|
let common = {
|
||||||
entryPoints: ['index.ts'],
|
entryPoints,
|
||||||
bundle: true,
|
bundle: true,
|
||||||
sourcemap: 'external',
|
sourcemap: 'external',
|
||||||
}
|
}
|
||||||
@@ -12,7 +20,7 @@ let common = {
|
|||||||
esbuild
|
esbuild
|
||||||
.build({
|
.build({
|
||||||
...common,
|
...common,
|
||||||
outfile: 'lib/esm/nostr.mjs',
|
outdir: 'lib/esm',
|
||||||
format: 'esm',
|
format: 'esm',
|
||||||
packages: 'external',
|
packages: 'external',
|
||||||
})
|
})
|
||||||
@@ -26,7 +34,7 @@ esbuild
|
|||||||
esbuild
|
esbuild
|
||||||
.build({
|
.build({
|
||||||
...common,
|
...common,
|
||||||
outfile: 'lib/nostr.cjs.js',
|
outdir: 'lib/cjs',
|
||||||
format: 'cjs',
|
format: 'cjs',
|
||||||
packages: 'external',
|
packages: 'external',
|
||||||
})
|
})
|
||||||
@@ -35,6 +43,7 @@ esbuild
|
|||||||
esbuild
|
esbuild
|
||||||
.build({
|
.build({
|
||||||
...common,
|
...common,
|
||||||
|
entryPoints: ['index.ts'],
|
||||||
outfile: 'lib/nostr.bundle.js',
|
outfile: 'lib/nostr.bundle.js',
|
||||||
format: 'iife',
|
format: 'iife',
|
||||||
globalName: 'NostrTools',
|
globalName: 'NostrTools',
|
||||||
|
|||||||
144
package.json
144
package.json
@@ -7,15 +7,143 @@
|
|||||||
"url": "https://github.com/nbd-wtf/nostr-tools.git"
|
"url": "https://github.com/nbd-wtf/nostr-tools.git"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"./lib/**/*"
|
"lib"
|
||||||
],
|
],
|
||||||
"types": "./lib/index.d.ts",
|
"sideEffects": false,
|
||||||
"main": "lib/nostr.cjs.js",
|
"module": "lib/esm/index.js",
|
||||||
"module": "lib/esm/nostr.mjs",
|
"main": "lib/cjs/index.js",
|
||||||
|
"types": "lib/types/index.d.ts",
|
||||||
"exports": {
|
"exports": {
|
||||||
"import": "./lib/esm/nostr.mjs",
|
".": {
|
||||||
"require": "./lib/nostr.cjs.js",
|
"import": "lib/esm/index.js",
|
||||||
"types": "./lib/index.d.ts"
|
"require": "lib/cjs/index.js",
|
||||||
|
"types": "lib/types/index.d.ts"
|
||||||
|
},
|
||||||
|
"./keys": {
|
||||||
|
"import": "lib/esm/keys.js",
|
||||||
|
"require": "lib/cjs/keys.js",
|
||||||
|
"types": "lib/types/keys.d.ts"
|
||||||
|
},
|
||||||
|
"./relay": {
|
||||||
|
"import": "lib/esm/relay.js",
|
||||||
|
"require": "lib/cjs/relay.js",
|
||||||
|
"types": "lib/types/relay.d.ts"
|
||||||
|
},
|
||||||
|
"./event": {
|
||||||
|
"import": "lib/esm/event.js",
|
||||||
|
"require": "lib/cjs/event.js",
|
||||||
|
"types": "lib/types/event.d.ts"
|
||||||
|
},
|
||||||
|
"./filter": {
|
||||||
|
"import": "lib/esm/filter.js",
|
||||||
|
"require": "lib/cjs/filter.js",
|
||||||
|
"types": "lib/types/filter.d.ts"
|
||||||
|
},
|
||||||
|
"./pool": {
|
||||||
|
"import": "lib/esm/pool.js",
|
||||||
|
"require": "lib/cjs/pool.js",
|
||||||
|
"types": "lib/types/pool.d.ts"
|
||||||
|
},
|
||||||
|
"./references": {
|
||||||
|
"import": "lib/esm/references.js",
|
||||||
|
"require": "lib/cjs/references.js",
|
||||||
|
"types": "lib/types/references.d.ts"
|
||||||
|
},
|
||||||
|
"./nip04": {
|
||||||
|
"import": "lib/esm/nip04.js",
|
||||||
|
"require": "lib/cjs/nip04.js",
|
||||||
|
"types": "lib/types/nip04.d.ts"
|
||||||
|
},
|
||||||
|
"./nip05": {
|
||||||
|
"import": "lib/esm/nip05.js",
|
||||||
|
"require": "lib/cjs/nip05.js",
|
||||||
|
"types": "lib/types/nip05.d.ts"
|
||||||
|
},
|
||||||
|
"./nip06": {
|
||||||
|
"import": "lib/esm/nip06.js",
|
||||||
|
"require": "lib/cjs/nip06.js",
|
||||||
|
"types": "lib/types/nip06.d.ts"
|
||||||
|
},
|
||||||
|
"./nip10": {
|
||||||
|
"import": "lib/esm/nip10.js",
|
||||||
|
"require": "lib/cjs/nip10.js",
|
||||||
|
"types": "lib/types/nip10.d.ts"
|
||||||
|
},
|
||||||
|
"./nip13": {
|
||||||
|
"import": "lib/esm/nip13.js",
|
||||||
|
"require": "lib/cjs/nip13.js",
|
||||||
|
"types": "lib/types/nip13.d.ts"
|
||||||
|
},
|
||||||
|
"./nip18": {
|
||||||
|
"import": "lib/esm/nip18.js",
|
||||||
|
"require": "lib/cjs/nip18.js",
|
||||||
|
"types": "lib/types/nip18.d.ts"
|
||||||
|
},
|
||||||
|
"./nip19": {
|
||||||
|
"import": "lib/esm/nip19.js",
|
||||||
|
"require": "lib/cjs/nip19.js",
|
||||||
|
"types": "lib/types/nip19.d.ts"
|
||||||
|
},
|
||||||
|
"./nip21": {
|
||||||
|
"import": "lib/esm/nip21.js",
|
||||||
|
"require": "lib/cjs/nip21.js",
|
||||||
|
"types": "lib/types/nip21.d.ts"
|
||||||
|
},
|
||||||
|
"./nip25": {
|
||||||
|
"import": "lib/esm/nip25.js",
|
||||||
|
"require": "lib/cjs/nip25.js",
|
||||||
|
"types": "lib/types/nip25.d.ts"
|
||||||
|
},
|
||||||
|
"./nip26": {
|
||||||
|
"import": "lib/esm/nip26.js",
|
||||||
|
"require": "lib/cjs/nip26.js",
|
||||||
|
"types": "lib/types/nip26.d.ts"
|
||||||
|
},
|
||||||
|
"./nip27": {
|
||||||
|
"import": "lib/esm/nip27.js",
|
||||||
|
"require": "lib/cjs/nip27.js",
|
||||||
|
"types": "lib/types/nip27.d.ts"
|
||||||
|
},
|
||||||
|
"./nip28": {
|
||||||
|
"import": "lib/esm/nip28.js",
|
||||||
|
"require": "lib/cjs/nip28.js",
|
||||||
|
"types": "lib/types/nip28.d.ts"
|
||||||
|
},
|
||||||
|
"./nip39": {
|
||||||
|
"import": "lib/esm/nip39.js",
|
||||||
|
"require": "lib/cjs/nip39.js",
|
||||||
|
"types": "lib/types/nip39.d.ts"
|
||||||
|
},
|
||||||
|
"./nip42": {
|
||||||
|
"import": "lib/esm/nip42.js",
|
||||||
|
"require": "lib/cjs/nip42.js",
|
||||||
|
"types": "lib/types/nip42.d.ts"
|
||||||
|
},
|
||||||
|
"./nip44": {
|
||||||
|
"import": "lib/esm/nip44.js",
|
||||||
|
"require": "lib/cjs/nip44.js",
|
||||||
|
"types": "lib/types/nip44.d.ts"
|
||||||
|
},
|
||||||
|
"./nip57": {
|
||||||
|
"import": "lib/esm/nip57.js",
|
||||||
|
"require": "lib/cjs/nip57.js",
|
||||||
|
"types": "lib/types/nip57.d.ts"
|
||||||
|
},
|
||||||
|
"./nip98": {
|
||||||
|
"import": "lib/esm/nip98.js",
|
||||||
|
"require": "lib/cjs/nip98.js",
|
||||||
|
"types": "lib/types/nip98.d.ts"
|
||||||
|
},
|
||||||
|
"./fakejson": {
|
||||||
|
"import": "lib/esm/fakejson.js",
|
||||||
|
"require": "lib/cjs/fakejson.js",
|
||||||
|
"types": "lib/types/fakejson.d.ts"
|
||||||
|
},
|
||||||
|
"./utils": {
|
||||||
|
"import": "lib/esm/utils.js",
|
||||||
|
"require": "lib/cjs/utils.js",
|
||||||
|
"types": "lib/types/utils.d.ts"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"license": "Unlicense",
|
"license": "Unlicense",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -42,7 +170,7 @@
|
|||||||
"nostr"
|
"nostr"
|
||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "node build",
|
"build": "node build && tsc",
|
||||||
"format": "prettier --plugin-search-dir . --write .",
|
"format": "prettier --plugin-search-dir . --write .",
|
||||||
"test": "jest"
|
"test": "jest"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"emitDeclarationOnly": true,
|
"emitDeclarationOnly": true,
|
||||||
|
"outDir": "lib/types",
|
||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
"outDir": "lib",
|
|
||||||
"rootDir": ".",
|
"rootDir": ".",
|
||||||
"allowImportingTsExtensions": true
|
"allowImportingTsExtensions": true
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user