UNPKG

@sencha/ext-modern-theme-neptune

Version:

Ext JS Modern Neptune Theme

186 lines (166 loc) 6.42 kB
const fs = require('fs'); const path = require('path'); const pkg = require('./package.json'); let today = new Date().toISOString(); today = today.substring(0, today.indexOf('T')).replace(/-/g,'.'); var greenbold = `\x1b[32m\x1b[1m` var end = `\x1b[0m` var prefix = `` if (require('os').platform() == 'darwin') { prefix = `ℹ 「ext」:` } else { prefix = `i [ext]:` } var app =(`${greenbold}${prefix}${end} activate:`) function boldRed(s) { var boldredcolor = `\x1b[31m\x1b[1m` var endmarker = `\x1b[0m` return (`${boldredcolor}${s}${endmarker}`) } console.log(`${app} ${pkg.name} v${pkg.sencha.version} installed`) delete pkg.scripts.postinstall; //does anyone have this? fs.writeFileSync('./package.json', JSON.stringify(pkg, null, 2)); fs.unlinkSync('./activate.js'); console.log("package tier: " + pkg.sencha.extTier); const activatorName = `@sencha/ext${(pkg.sencha.extTier === "pro" || pkg.sencha.extTier === "professional" || pkg.sencha.extTier === "standard") ? "" : "-enterprise"}-activator`; var package = `${activatorName}@${pkg.version.replace(/-.+$/, '')}-${today}` var command = `npm${/^win/.test(require('os').platform()) ? ".cmd" : ""}` console.log("activator name: " + activatorName + " package: " + package); var args = [] if (process.env.EXTGEN_VERBOSE == 'true') { args = ['install',package] } else { args = ['install','-s',package] // if (require('os').platform() == 'win32') { // args = ['install','-s','>','NUL',package] // } // else { // args = ['install','-s','>','/dev/null',package] // } } let options = {cwd: path.join(__dirname), stdio: 'inherit', encoding: 'utf-8'} // console.log(`${app} command: ${command}`) if (process.env.EXTGEN_VERBOSE == 'true') { console.log(`${app} npm ${args.toString().replace(/,/g, " ")} started`) } let child = require('child_process').spawn( command, args, options ) child.on('close', (code) => { if (code===0) { require(activatorName)(__dirname) if (process.env.EXTGEN_VERBOSE == 'true') { console.log(`${app} npm ${args.toString().replace(/,/g, " ")} completed`) } } else { if (process.env.EXTGEN_VERBOSE == 'true') { console.log(`${app} ${boldRed('[ERR]')} Closed with code ${code}`) } if (pkg.sencha.type === "framework") { console.log(` Evaluation/Trial License ------------------------------------------------------------------------------------------ This version of Sencha Ext JS is licensed commercially for a limited period for evaluation purposes only. Production use or use beyond the applicable evaluation period is prohibited under this license. See http://www.sencha.com/legal/sencha-sdk-software-license-agreement (Trial License) for license terms. ------------------------------------------------------------------------------------------ `) } } }) child.on('error', (error) => { var s = error.message ? error.message : error s = s.replace(/(\r\n\t|\n|\r\t)/gm,""); console.log(`${app} ${boldRed('[ERR]')} ${s}`) }) child.on('data', (error) => { var s = error.message ? error.message : error s = s.replace(/(\r\n\t|\n|\r\t)/gm,""); console.log(`${app} ${boldRed('[DATA]')} ${s}`) }) if (child.stdout) { child.stdout.on('data', (stdout) => { var s = stdout.toString() s = s.replace(/(\r\n\t|\n|\r\t)/gm,""); console.log(`${app} ${s}`) }) } else { // var s = `no stdout` // console.log(`${app} ${boldRed("[ERR]")} ${s}`) } if (child.stderr) { child.stderr.on('data', (stderr) => { var s = stderr.toString() s = s.replace(/(\r\n\t|\n|\r\t)/gm,""); console.log(`${app} ${boldRed('[ERR]')} ${s}`) }) } else { // var s = `no stderr` // console.log(`${app} ${boldRed("[ERR]")} ${s}`) } //console.log(`${app} current directory: ${__dirname}`) //console.log(`${app} package.json: ${JSON.stringify(pkg, null, 2)}`) //console.log(``) //console.log(`${app} ${pkg.sencha.summary}`) //console.log(`${app} Version: ${pkg.sencha.version}`) //console.log(`${app} Summary: ${pkg.sencha.summary}`) //console.log(`${app} Description: ${pkg.sencha.detailedDescription}`) //console.log(`${app} React Tier: ${pkg.sencha.extTier}, activatorName: ${activatorName}`) //console.log(`${app} activatorName: ${activatorName}`) // require('child_process') // .exec([ // `npm${/^win/.test(require('os').platform()) ? ".cmd" : ""}`, // 'install', // `-s`, // `${activatorName}@${pkg.version.replace(/-.+$/, '')}-${today}` // ].join(' '), { // cwd: __dirname // }, (error, stdout, stderr) => { // try { // if (!error) { // require(activatorName)(__dirname); // } // console.log(`stdout: ${stdout}`); // console.log(`stderr: ${stderr}`); // } catch (err) { // error = err; // } finally { // let loglevel = ["silent", "error", "warn", "http", "info", "verbose", "silly"].indexOf(process.env.npm_config_loglevel); // if (error) { // // if (loglevel > 3) { // var s = error.message ? error.message : error // s = s.replace(/(\r\n\t|\n|\r\t)/gm,""); // console.log(`${app} ${boldRed('[ERR]')} ${s}`) // //console.log(`${app} [ERR] ${error.message ? error.message : error}`) // //console.log(`> [activator][err]: ${error.message ? error.message : error}`); // // } // // if (loglevel > 4) { // // console.log(`> [activation][err]: ${stderr}`); // // } // if (pkg.sencha.type === "framework") { // console.log(` // Evaluation/Trial License // ------------------------------------------------------------------------------------------ // This version of Sencha Ext JS is licensed commercially for a limited period for evaluation // purposes only. Production use or use beyond the applicable evaluation period is prohibited // under this license. // See http://www.sencha.com/legal/sencha-sdk-software-license-agreement (Trial License) // for license terms. // ------------------------------------------------------------------------------------------ // `) // } // } // // if (loglevel > 3) { // // console.log(`> [activator]: ${stdout}`); // // } // } // });