snapshot before rebranding
This commit is contained in:
+96
@@ -0,0 +1,96 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
|
||||
const OUTPUT = 'npm_dist/';
|
||||
const HEADER = `// Copyright (C) 2021-${new Date().getFullYear()} Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
`;
|
||||
|
||||
function copyFiles (...files) {
|
||||
files.forEach((f) =>
|
||||
writeFile(f, fs.readFileSync(f, 'utf-8'))
|
||||
);
|
||||
}
|
||||
|
||||
function writeFile (file, contents) {
|
||||
fs.writeFileSync(path.join(OUTPUT, file), contents);
|
||||
}
|
||||
|
||||
function writeWithHeader (file, contents) {
|
||||
writeFile(file, `${HEADER}\n${contents}`);
|
||||
}
|
||||
|
||||
function mkdirs (...dirs) {
|
||||
dirs.forEach((d) => {
|
||||
const dir = path.join(OUTPUT, d);
|
||||
|
||||
if (!fs.existsSync(dir)) {
|
||||
fs.mkdirSync(dir);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function adjustPkg (pkgJson, obj) {
|
||||
Object.entries(obj).forEach(([k, v]) => {
|
||||
delete pkgJson[k];
|
||||
|
||||
if (v !== undefined) {
|
||||
pkgJson[k] = v;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function main () {
|
||||
const typesD = fs.readFileSync('types.d.ts', 'utf-8');
|
||||
const pkgJson = JSON.parse(fs.readFileSync('package.json', 'utf-8'));
|
||||
const all = JSON.parse(fs.readFileSync('ss58-registry.json', 'utf-8'));
|
||||
const code = JSON.stringify(all.registry, null, '\t');
|
||||
|
||||
adjustPkg(pkgJson, {
|
||||
exports: {
|
||||
'.': {
|
||||
types: './index.d.ts',
|
||||
require: './cjs/index.js',
|
||||
default: './esm/index.js'
|
||||
},
|
||||
'./package.json': './package.json',
|
||||
'./cjs/package.json': './cjs/package.json',
|
||||
'./esm/package.json': './esm/package.json'
|
||||
},
|
||||
main: './cjs/index.js',
|
||||
module: './esm/index.js',
|
||||
types: 'index.d.ts',
|
||||
type: 'module',
|
||||
scripts: undefined,
|
||||
devDependencies: undefined
|
||||
});
|
||||
|
||||
mkdirs('cjs', 'esm');
|
||||
|
||||
writeWithHeader('cjs/index.js', `module.exports = ${code};\n`);
|
||||
writeWithHeader('esm/index.js', `export default ${code};\n`);
|
||||
|
||||
writeFile('cjs/package.json', JSON.stringify({ type: 'commonjs' }, null, '\t'));
|
||||
writeFile('esm/package.json', JSON.stringify({ type: 'module' }, null, '\t'));
|
||||
|
||||
writeFile('package.json', JSON.stringify(pkgJson, null, '\t'));
|
||||
writeFile('index.d.ts', `${typesD}\ndeclare const _default: Registry;\n\nexport default _default;\n`);
|
||||
|
||||
copyFiles('CHANGELOG.md', 'README.md', 'LICENSE');
|
||||
}
|
||||
|
||||
main();
|
||||
Reference in New Issue
Block a user