UNPKG

@nlabs/lex

Version:
49 lines (48 loc) 5.51 kB
/** * Copyright (c) 2018-Present, Nitrogen Labs, Inc. * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms. */ import { LexConfig } from '../../LexConfig.js'; import { createSpinner, removeFiles, removeModules } from '../../utils/app.js'; import { log } from '../../utils/log.js'; export const clean = async (cmd, callback = (_status)=>({}))=>{ const { cliName = 'Lex', quiet, snapshots } = cmd; // Spinner const spinner = createSpinner(quiet); // Display status log(`${cliName} cleaning directory...`, 'info', quiet); // Get custom configuration await LexConfig.parseConfig(cmd); // Start cleaning spinner if (spinner) { spinner.start('Cleaning files...'); } try { // Remove node_modules await removeModules(); // Remove test coverage reports await removeFiles('./coverage', true); // Remove npm logs await removeFiles('./npm-debug.log', true); if (snapshots) { await removeFiles('./**/__snapshots__', true); } // Stop spinner if (spinner) { spinner.succeed('Successfully cleaned!'); } // Stop process callback(0); return 0; } catch (error) { // Display error message log(`\n${cliName} Error: ${error.message}`, 'error', quiet); // Stop spinner if (spinner) { spinner.fail('Failed to clean project.'); } // Kill process callback(1); return 1; } }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9jbGVhbi9jbGVhbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtMZXhDb25maWd9IGZyb20gJy4uLy4uL0xleENvbmZpZy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNwaW5uZXIsIHJlbW92ZUZpbGVzLCByZW1vdmVNb2R1bGVzfSBmcm9tICcuLi8uLi91dGlscy9hcHAuanMnO1xuaW1wb3J0IHtsb2d9IGZyb20gJy4uLy4uL3V0aWxzL2xvZy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xlYW5PcHRpb25zIHtcbiAgcmVhZG9ubHkgY2xpTmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgcXVpZXQ/OiBib29sZWFuO1xuICByZWFkb25seSBzbmFwc2hvdHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBDbGVhbkNhbGxiYWNrID0gKHN0YXR1czogbnVtYmVyKT0+IHZvaWQ7XG5cbmV4cG9ydCBjb25zdCBjbGVhbiA9IGFzeW5jIChcbiAgY21kOiBDbGVhbk9wdGlvbnMsXG4gIGNhbGxiYWNrOiBDbGVhbkNhbGxiYWNrID0gKF9zdGF0dXM6IG51bWJlcikgPT4gKHt9KVxuKTogUHJvbWlzZTxudW1iZXI+ID0+IHtcbiAgY29uc3Qge2NsaU5hbWUgPSAnTGV4JywgcXVpZXQsIHNuYXBzaG90c30gPSBjbWQ7XG5cbiAgLy8gU3Bpbm5lclxuICBjb25zdCBzcGlubmVyID0gY3JlYXRlU3Bpbm5lcihxdWlldCk7XG5cbiAgLy8gRGlzcGxheSBzdGF0dXNcbiAgbG9nKGAke2NsaU5hbWV9IGNsZWFuaW5nIGRpcmVjdG9yeS4uLmAsICdpbmZvJywgcXVpZXQpO1xuXG4gIC8vIEdldCBjdXN0b20gY29uZmlndXJhdGlvblxuICBhd2FpdCBMZXhDb25maWcucGFyc2VDb25maWcoY21kKTtcblxuICAvLyBTdGFydCBjbGVhbmluZyBzcGlubmVyXG4gIGlmKHNwaW5uZXIpIHtcbiAgICBzcGlubmVyLnN0YXJ0KCdDbGVhbmluZyBmaWxlcy4uLicpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICAvLyBSZW1vdmUgbm9kZV9tb2R1bGVzXG4gICAgYXdhaXQgcmVtb3ZlTW9kdWxlcygpO1xuXG4gICAgLy8gUmVtb3ZlIHRlc3QgY292ZXJhZ2UgcmVwb3J0c1xuICAgIGF3YWl0IHJlbW92ZUZpbGVzKCcuL2NvdmVyYWdlJywgdHJ1ZSk7XG5cbiAgICAvLyBSZW1vdmUgbnBtIGxvZ3NcbiAgICBhd2FpdCByZW1vdmVGaWxlcygnLi9ucG0tZGVidWcubG9nJywgdHJ1ZSk7XG5cbiAgICBpZihzbmFwc2hvdHMpIHtcbiAgICAgIGF3YWl0IHJlbW92ZUZpbGVzKCcuLyoqL19fc25hcHNob3RzX18nLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICBpZihzcGlubmVyKSB7XG4gICAgICBzcGlubmVyLnN1Y2NlZWQoJ1N1Y2Nlc3NmdWxseSBjbGVhbmVkIScpO1xuICAgIH1cblxuICAgIC8vIFN0b3AgcHJvY2Vzc1xuICAgIGNhbGxiYWNrKDApO1xuICAgIHJldHVybiAwO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgaWYoc3Bpbm5lcikge1xuICAgICAgc3Bpbm5lci5mYWlsKCdGYWlsZWQgdG8gY2xlYW4gcHJvamVjdC4nKTtcbiAgICB9XG5cbiAgICAvLyBLaWxsIHByb2Nlc3NcbiAgICBjYWxsYmFjaygxKTtcbiAgICByZXR1cm4gMTtcbiAgfVxufTsiXSwibmFtZXMiOlsiTGV4Q29uZmlnIiwiY3JlYXRlU3Bpbm5lciIsInJlbW92ZUZpbGVzIiwicmVtb3ZlTW9kdWxlcyIsImxvZyIsImNsZWFuIiwiY21kIiwiY2FsbGJhY2siLCJfc3RhdHVzIiwiY2xpTmFtZSIsInF1aWV0Iiwic25hcHNob3RzIiwic3Bpbm5lciIsInBhcnNlQ29uZmlnIiwic3RhcnQiLCJzdWNjZWVkIiwiZXJyb3IiLCJtZXNzYWdlIiwiZmFpbCJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsU0FBUyxRQUFPLHFCQUFxQjtBQUM3QyxTQUFRQyxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsYUFBYSxRQUFPLHFCQUFxQjtBQUM3RSxTQUFRQyxHQUFHLFFBQU8scUJBQXFCO0FBVXZDLE9BQU8sTUFBTUMsUUFBUSxPQUNuQkMsS0FDQUMsV0FBMEIsQ0FBQ0MsVUFBcUIsQ0FBQSxDQUFDLENBQUEsQ0FBRTtJQUVuRCxNQUFNLEVBQUNDLFVBQVUsS0FBSyxFQUFFQyxLQUFLLEVBQUVDLFNBQVMsRUFBQyxHQUFHTDtJQUU1QyxVQUFVO0lBQ1YsTUFBTU0sVUFBVVgsY0FBY1M7SUFFOUIsaUJBQWlCO0lBQ2pCTixJQUFJLEdBQUdLLFFBQVEsc0JBQXNCLENBQUMsRUFBRSxRQUFRQztJQUVoRCwyQkFBMkI7SUFDM0IsTUFBTVYsVUFBVWEsV0FBVyxDQUFDUDtJQUU1Qix5QkFBeUI7SUFDekIsSUFBR00sU0FBUztRQUNWQSxRQUFRRSxLQUFLLENBQUM7SUFDaEI7SUFFQSxJQUFJO1FBQ0Ysc0JBQXNCO1FBQ3RCLE1BQU1YO1FBRU4sK0JBQStCO1FBQy9CLE1BQU1ELFlBQVksY0FBYztRQUVoQyxrQkFBa0I7UUFDbEIsTUFBTUEsWUFBWSxtQkFBbUI7UUFFckMsSUFBR1MsV0FBVztZQUNaLE1BQU1ULFlBQVksc0JBQXNCO1FBQzFDO1FBRUEsZUFBZTtRQUNmLElBQUdVLFNBQVM7WUFDVkEsUUFBUUcsT0FBTyxDQUFDO1FBQ2xCO1FBRUEsZUFBZTtRQUNmUixTQUFTO1FBQ1QsT0FBTztJQUNULEVBQUUsT0FBTVMsT0FBTztRQUNiLHdCQUF3QjtRQUN4QlosSUFBSSxDQUFDLEVBQUUsRUFBRUssUUFBUSxRQUFRLEVBQUVPLE1BQU1DLE9BQU8sRUFBRSxFQUFFLFNBQVNQO1FBRXJELGVBQWU7UUFDZixJQUFHRSxTQUFTO1lBQ1ZBLFFBQVFNLElBQUksQ0FBQztRQUNmO1FBRUEsZUFBZTtRQUNmWCxTQUFTO1FBQ1QsT0FBTztJQUNUO0FBQ0YsRUFBRSJ9