@sleeperhq/mini-core
Version:
Core library frameworks for developing Sleeper Mini Apps.
59 lines (44 loc) • 1.55 kB
JavaScript
const os = require('os');
const path = require('path');
const fs = require('fs');
const printError = (error) => {
console.error("\n\033[91m" + error + "\033[0m");
};
const printInfo = (message) => {
console.log("\n\033[96m" + message + "\033[0m");
};
const printComplete = (message) => {
console.log("\033[92m" + message + "\033[0m");
};
const main = async () => {
// Load the package.json
const packageJsonPath = path.join('package.json');
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath));
// Get the dependencies
const dependencies = packageJson.dependencies;
// Remove packages that cause conflicts
delete dependencies['@babel/runtime'];
delete dependencies['@babel/plugin-transform-runtime'];
delete dependencies['regenerator-runtime'];
// Write a ./package_list.js file that imports all dependencies
const packageListPath = path.join('package_list.js');
const packageList = Object.keys(dependencies).map(
(packageName) => `import '${packageName}';`
).join('\n');
let output =
`/*
This file is automatically generated when you
add a package to your package.json and run yarn.
Please do not edit manually.
*/
${packageList}
`;
fs.writeFileSync(packageListPath, output);
// Write a ./mini_packages.json file that shows all available packages in sleeper.
const source = 'node_modules/@sleeperhq/mini-core/mini_packages.json';
const destination = 'mini_packages.json';
fs.copyFile(source, destination, () => {});
process.exit(0);
};
main();