mirror of
https://github.com/selfxyz/self.git
synced 2026-01-10 15:18:18 -05:00
* moves validateDocument functions into the common package. * fix build issues and lint * handle bad connections better in nullifiier * add an abort controler to nullifer fetcher, ignore fals positives * import types separately * take it as an arg
163 lines
6.5 KiB
TypeScript
163 lines
6.5 KiB
TypeScript
import path from 'path';
|
|
import { defineConfig } from 'tsup';
|
|
import { fileURLToPath } from 'url';
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = path.dirname(__filename);
|
|
|
|
const entry = {
|
|
index: 'index.ts',
|
|
// Existing grouped exports
|
|
'src/constants/index': 'src/constants/index.ts',
|
|
'src/utils/index': 'src/utils/index.ts',
|
|
'src/types/index': 'src/types/index.ts',
|
|
// Granular constants exports
|
|
'src/constants/constants': 'src/constants/constants.ts',
|
|
'src/constants/countries': 'src/constants/countries.ts',
|
|
'src/constants/vkey': 'src/constants/vkey.ts',
|
|
'src/constants/skiPem': 'src/constants/skiPem.ts',
|
|
'src/constants/mockCertificates': 'src/constants/mockCertificates.ts',
|
|
'src/constants/sampleDataHashes': 'src/constants/sampleDataHashes.ts',
|
|
// Granular utils exports
|
|
'src/utils/attest': 'src/utils/attest.ts',
|
|
'src/utils/hash': 'src/utils/hash.ts',
|
|
'src/utils/bytes': 'src/utils/bytes.ts',
|
|
'src/utils/trees': 'src/utils/trees.ts',
|
|
'src/utils/proving': 'src/utils/proving.ts',
|
|
'src/utils/scope': 'src/utils/scope.ts',
|
|
'src/utils/appType': 'src/utils/appType.ts',
|
|
'src/utils/date': 'src/utils/date.ts',
|
|
'src/utils/arrays': 'src/utils/arrays.ts',
|
|
'src/utils/types': 'src/utils/types.ts',
|
|
'src/utils/passports/index': 'src/utils/passports/index.ts',
|
|
'src/utils/passports/format': 'src/utils/passports/format.ts',
|
|
'src/utils/passports/mock': 'src/utils/passports/mock.ts',
|
|
'src/utils/passports/validate': 'src/utils/passports/validate.ts',
|
|
'src/utils/passports/dg1': 'src/utils/passports/dg1.ts',
|
|
'src/utils/passports/genMockPassportData': 'src/utils/passports/genMockPassportData.ts',
|
|
'src/utils/passports/genMockIdDoc': 'src/utils/passports/genMockIdDoc.ts',
|
|
'src/utils/passports/passport_parsing/parseDscCertificateData':
|
|
'src/utils/passports/passport_parsing/parseDscCertificateData.ts',
|
|
'src/utils/certificate_parsing/index': 'src/utils/certificate_parsing/index.ts',
|
|
'src/utils/certificate_parsing/elliptic': 'src/utils/certificate_parsing/elliptic.ts',
|
|
'src/utils/certificate_parsing/curves': 'src/utils/certificate_parsing/curves.ts',
|
|
'src/utils/certificate_parsing/oids': 'src/utils/certificate_parsing/oids.ts',
|
|
'src/utils/certificate_parsing/parseCertificateSimple':
|
|
'src/utils/certificate_parsing/parseCertificateSimple.ts',
|
|
'src/utils/circuits/index': 'src/utils/circuits/index.ts',
|
|
'src/utils/circuits/circuitsName': 'src/utils/circuits/circuitsName.ts',
|
|
'src/utils/circuits/formatOutputs': 'src/utils/circuits/formatOutputs.ts',
|
|
'src/utils/circuits/formatInputs': 'src/utils/circuits/formatInputs.ts',
|
|
'src/utils/circuits/uuid': 'src/utils/circuits/uuid.ts',
|
|
'src/utils/contracts/index': 'src/utils/contracts/index.ts',
|
|
'src/utils/contracts/forbiddenCountries': 'src/utils/contracts/forbiddenCountries.ts',
|
|
'src/utils/csca': 'src/utils/csca.ts',
|
|
// Level 3 Hash Function Exports
|
|
'src/utils/hash/poseidon': 'src/utils/hash/poseidon.ts',
|
|
'src/utils/hash/sha': 'src/utils/hash/sha.ts',
|
|
'src/utils/hash/custom': 'src/utils/hash/custom.ts',
|
|
// Level 3 Circuit Function Exports
|
|
'src/utils/circuits/dscInputs': 'src/utils/circuits/dscInputs.ts',
|
|
'src/utils/circuits/registerInputs': 'src/utils/circuits/registerInputs.ts',
|
|
'src/utils/circuits/discloseInputs': 'src/utils/circuits/discloseInputs.ts',
|
|
'src/utils/circuits/generateInputs': 'src/utils/circuits/generateInputs.ts',
|
|
'src/utils/circuits/ofacInputs': 'src/utils/circuits/ofacInputs.ts',
|
|
// Level 3 Certificate Function Exports
|
|
'src/utils/certificate_parsing/parseSimple': 'src/utils/certificate_parsing/parseSimple.ts',
|
|
'src/utils/certificate_parsing/parseNode': 'src/utils/certificate_parsing/parseNode.ts',
|
|
'src/utils/certificate_parsing/ellipticInit': 'src/utils/certificate_parsing/ellipticInit.ts',
|
|
'src/utils/certificate_parsing/curveUtils': 'src/utils/certificate_parsing/curveUtils.ts',
|
|
'src/utils/certificate_parsing/oidUtils': 'src/utils/certificate_parsing/oidUtils.ts',
|
|
'src/utils/certificate_parsing/certUtils': 'src/utils/certificate_parsing/certUtils.ts',
|
|
// Level 3 Passport Function Exports
|
|
'src/utils/passports/core': 'src/utils/passports/core.ts',
|
|
'src/utils/passports/commitment': 'src/utils/passports/commitment.ts',
|
|
'src/utils/passports/signature': 'src/utils/passports/signature.ts',
|
|
'src/utils/passports/parsing': 'src/utils/passports/parsing.ts',
|
|
'src/utils/passports/mockGeneration': 'src/utils/passports/mockGeneration.ts',
|
|
'src/utils/passports/mockDsc': 'src/utils/passports/mockDsc.ts',
|
|
'src/utils/passports/passport': 'src/utils/passports/passport.ts',
|
|
// Granular types exports
|
|
'src/types/passport': 'src/types/passport.ts',
|
|
'src/types/app': 'src/types/app.ts',
|
|
'src/types/certificates': 'src/types/certificates.ts',
|
|
'src/types/circuits': 'src/types/circuits.ts',
|
|
};
|
|
|
|
export default defineConfig([
|
|
// ESM build (matches current dist/esm/src structure)
|
|
{
|
|
tsconfig: './tsconfig.json',
|
|
entry: entry,
|
|
format: ['esm'],
|
|
outDir: path.resolve(__dirname, 'dist/esm'),
|
|
outExtension: ({ format }) => ({ js: format === 'cjs' ? '.cjs' : '.js' }),
|
|
dts: false, // Generated separately via build:types script
|
|
splitting: false,
|
|
clean: true, // Clean only on first build
|
|
sourcemap: true,
|
|
target: 'es2020',
|
|
platform: 'neutral',
|
|
external: [
|
|
/^@openpassport/,
|
|
/^asn1/,
|
|
/^axios/,
|
|
/^buffer/,
|
|
/^chai/,
|
|
/^child_process/,
|
|
/^country-/,
|
|
/^elliptic/,
|
|
/^ethers/,
|
|
/^fs/,
|
|
/^i18n-/,
|
|
/^js-/,
|
|
/^json-/,
|
|
/^jsrsasign/,
|
|
/^node-forge/,
|
|
/^path/,
|
|
/^pkijs/,
|
|
/^poseidon-/,
|
|
/^snarkjs/,
|
|
/^typescript-/,
|
|
/^uuid/,
|
|
],
|
|
},
|
|
// CJS build (matches current dist/cjs/src structure)
|
|
{
|
|
tsconfig: './tsconfig.cjs.json',
|
|
entry: entry,
|
|
format: ['cjs'],
|
|
outDir: path.resolve(__dirname, 'dist/cjs'),
|
|
outExtension: ({ format }) => ({ js: format === 'cjs' ? '.cjs' : '.js' }),
|
|
dts: false, // Only generate types once (in ESM build)
|
|
splitting: false,
|
|
clean: false, // Don't clean after ESM build
|
|
sourcemap: true,
|
|
target: 'es2020',
|
|
platform: 'neutral',
|
|
external: [
|
|
/^@openpassport/,
|
|
/^asn1/,
|
|
/^axios/,
|
|
/^buffer/,
|
|
/^chai/,
|
|
/^child_process/,
|
|
/^country-/,
|
|
/^elliptic/,
|
|
/^ethers/,
|
|
/^fs/,
|
|
/^i18n-/,
|
|
/^js-/,
|
|
/^json-/,
|
|
/^jsrsasign/,
|
|
/^node-forge/,
|
|
/^path/,
|
|
/^pkijs/,
|
|
/^poseidon-/,
|
|
/^snarkjs/,
|
|
/^typescript-/,
|
|
/^uuid/,
|
|
],
|
|
},
|
|
]);
|