mirror of
https://github.com/selfxyz/self.git
synced 2026-04-27 03:01:15 -04:00
* chore: centralize license header scripts * chore: run license header checks from root * add header to other files * add header to bundle * add migration script and update check license headers * convert license to mobile sdk * migrate license headers * remove headers from common; convert remaining * fix headers * add license header checks
27 lines
983 B
JavaScript
27 lines
983 B
JavaScript
// SPDX-FileCopyrightText: 2025 Social Connect Labs, Inc.
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
// NOTE: Converts to Apache-2.0 on 2029-06-11 per LICENSE.
|
|
|
|
import { readdir, readFile } from 'node:fs/promises';
|
|
import { join } from 'node:path';
|
|
|
|
const dist = new URL('../dist/', import.meta.url);
|
|
const files = await readdir(dist);
|
|
const report = {};
|
|
|
|
for (const f of files) {
|
|
if (!f.endsWith('.js')) continue;
|
|
const src = await readFile(join(dist.pathname, f), 'utf8');
|
|
const direct = [...src.matchAll(/export\s+(?:const|function|class|let|var)\s+([A-Za-z0-9_$]+)/g)].map(m => m[1]);
|
|
const re = [...src.matchAll(/export\s*{([^}]+)}/g)]
|
|
.flatMap(m => m[1].split(',').map(s => s.trim()))
|
|
.map(s => s.split('\s+as\s+').pop())
|
|
.filter(name => name && name !== 'default');
|
|
report[f] = [...direct, ...re];
|
|
}
|
|
|
|
console.log('Exported symbols by file:');
|
|
for (const [file, names] of Object.entries(report)) {
|
|
console.log(`- ${file}: ${names.join(', ') || '(none)'}`);
|
|
}
|