From 9051e407f327d341abce80ceb7ba5748d8e0c2d7 Mon Sep 17 00:00:00 2001 From: Safi Date: Tue, 22 Oct 2019 16:02:50 +0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=8F=97=EF=B8=8F=20Build=20distribution=20?= =?UTF-8?q?code.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/LICENSE | 21 -- .github/README.md | 1 - .vscode/launch.json | 51 ----- .vscode/settings.json | 73 ------- .vscode/tasks.json | 59 ----- configuration/.gitignore | 33 --- configuration/babel.config.js | 4 - configuration/eslint.config.js | 4 - configuration/package.json | 6 - configuration/project.config.js | 44 ---- configuration/script.config.js | 15 -- configuration/typescript.config.json | 22 -- documentation/TODO.md | 3 - documentation/information.md | 10 - entrypoint/programmaticAPI/index.js | 19 +- source/filesystemOperation/copyFile.js | 37 ++-- source/filesystemOperation/createSymlink.js | 55 ++--- source/filesystemOperation/ensureFile.js | 47 ++-- source/filesystemOperation/synchronizeFile.js | 201 +++++++++--------- .../nodejsPackage/installJshint.js | 19 +- .../nodejsPackage/installPackageUsingJspm.js | 37 ++-- .../nodejsPackage/installPackageUsingNpm.js | 23 +- .../nodejsPackage/installPackageUsingYarn.js | 23 +- .../unixPackage/installDocker.js | 57 ++--- .../unixPackage/installGit.js | 17 +- .../unixPackage/installJSPM.js | 21 +- .../unixPackage/installShellZsh.js | 75 +++---- .../unixPackage/installYarn.js | 104 +++++---- .../nodeGitDepenencyInstallation.js | 78 +++---- .../unixPackage/updateLinux.js | 19 +- source/script.js | 22 +- source/terminal/isElevatedPermission.js | 3 +- source/terminal/readInput.js | 35 +-- 33 files changed, 435 insertions(+), 803 deletions(-) delete mode 100644 .github/LICENSE delete mode 100644 .github/README.md delete mode 100644 .vscode/launch.json delete mode 100644 .vscode/settings.json delete mode 100644 .vscode/tasks.json delete mode 100644 configuration/.gitignore delete mode 100644 configuration/babel.config.js delete mode 100644 configuration/eslint.config.js delete mode 100644 configuration/package.json delete mode 100644 configuration/project.config.js delete mode 100644 configuration/script.config.js delete mode 100644 configuration/typescript.config.json delete mode 100644 documentation/TODO.md delete mode 100644 documentation/information.md diff --git a/.github/LICENSE b/.github/LICENSE deleted file mode 100644 index 7b64f62..0000000 --- a/.github/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2015-present Safi Nassar & other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/.github/README.md b/.github/README.md deleted file mode 100644 index a4ba953..0000000 --- a/.github/README.md +++ /dev/null @@ -1 +0,0 @@ -../documentation/information.md \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 973ab17..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - /** - Usage: - - run node process `node --inspect-brk --nolazy ` - - run vscode debugger, restart mode is on which will make vscode attach automatically when the tool watching files restarts the process. - While the option Auto Attach in VSCode settings.json doesn't support processes in the vscode integrated console. - - e.g. node --inspect-brk --nolazy ./node_modules/@dependency/scriptManager/source/entrypoint/cli test "({ testPath: './distribution/test/script.test.js' })" - e.g. yarn run scriptManager test "({ testPath: ['./distribution/test'], shouldDebugger: true, shouldCompileTest: false })" - */ - "version": "0.2.0", - "configurations": [{ - // "preLaunchTask": "build", - "name": "Attach to node process invoked in WSL", - "type": "node", - "request": "attach", - "protocol": "inspector", // Nodejs debugger protocol. - "port": 9229, - "address": "localhost", - "timeout": 60000, - "restart": true, // restart debug session when terminated e.g. on failure. - // "useWSL": false, //! Do not use this flag as it will mess the breakpoints locations and cause them to `jump` to different locations. - "stopOnEntry": true, // break immediately. - "autoAttachChildProcesses": true, // track all subprocesses of debuggee and automatically attach to those that are launched in debug mode - "trace": false /* true || "verbose" */ , // enable diagnostic output - outputs protocol communication to txt file (path is printed in debug console). - "internalConsoleOptions": "neverOpen", - - "sourceMaps": true, // will read source maps even Babel runtime transformed. - "localRoot": "${workspaceFolder}", // on Windows system - "remoteRoot": "${command:extension.vscode-wsl-workspaceFolder}", // path in WSL - /** - fix mappings between Windows (location on disk) and WSL (source map paths). This will find the source file in disk location instead of transferring it through the debugger socker. - https: //github.com/Microsoft/vscode-chrome-debug#sourcemaps - https: //github.com/Microsoft/vscode-chrome-debug/issues/524 - */ - "sourceMapPathOverrides": { - // For some reason it is not mapped automatically, and sould be specifically declared. - "${command:extension.vscode-wsl-workspaceFolder}/*": "${workspaceFolder}/*" - }, - "outFiles": [ - "${workspaceFolder}/distribution/**/*.js", - ], - "skipFiles": [ - "/**/*.js", // Built-in core modules of Node.js can be referred to by the 'magic name' in a glob pattern - "${workspaceFolder}/node_modules/**/*.js", - // "!${workspaceFolder}/**/*", // negate glob is ignored in `inspector` protocol - doesn't work in inspector protocol only on older debugger. - ], - "smartStep": true, // try to automatically step over code that doesn't map to source files - "showAsyncStacks": true, - }] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 8a1cd2e..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - /** Linter & Formater & Static type checker - * Default VSCode validator for Typescript provides more features than ESLint equivalint (@typescript-eslint/parser). - * ESLint - https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint - * Pritier - - */ - "editor.formatOnSave": true, // enable builtin formater for all languages. - "editor.formatOnPaste": true, - "json.format.enable": true, // Enable builtin formatter as ESLint is not the best formatter for JSON, it was designed for JS. - "typescript.format.enable": false, - "javascript.format.enable": false, - "[typescript]": { - "editor.formatOnSave": false, - "editor.formatOnPaste": false, - }, - "[javascript]": { - "editor.formatOnSave": false, - "editor.formatOnPaste": false, - }, - "typescript.validate.enable": true, // enable/disable default VSCode Typescript validator. - "javascript.validate.enable": false, // disable default VSCode Javascript validator. - "javascript.implicitProjectConfig.experimentalDecorators": true, - "eslint.enable": true, - "eslint.options": { - "configFile": "./configuration/eslint.config.js" - }, - "eslint.run": "onType", - "eslint.autoFixOnSave": true, - "eslint.validate": [ // https://code.visualstudio.com/docs/languages/identifiers - { - "language": "javascript", - "autoFix": true - }, - { - "language": "javascriptreact", - "autoFix": true - }, - { - "language": "typescript", - "autoFix": true - }, - { - "language": "typescriptreact", - "autoFix": true - } - ], - "eslint.packageManager": "yarn", - "eslint.alwaysShowStatus": true, - "eslint.provideLintTask": true, - "eslint.codeAction.showDocumentation": { - "enable": true - }, - "typescript.check.npmIsInstalled": false, - "workbench.colorCustomizations": { - "editor.background": "#000000", - "sideBar.background": "#000000", - "editor.selectionBackground": "#135564", - "editor.selectionHighlightBorder": "#135564", - "activityBar.background": "#ca3f12", - "activityBar.foreground": "#e7e7e7", - "activityBar.inactiveForeground": "#e7e7e799", - "activityBarBadge.background": "#12cd40", - "activityBarBadge.foreground": "#15202b", - "titleBar.activeBackground": "#ca3f12", - "titleBar.inactiveBackground": "#ca3f1299", - "titleBar.activeForeground": "#e7e7e7", - "titleBar.inactiveForeground": "#e7e7e799", - "statusBar.background": "#ca3f12", - "statusBarItem.hoverBackground": "#eb5424", - "statusBar.foreground": "#e7e7e7" - }, - "peacock.color": "#eb5424" -} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index d25659d..0000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - // for the documentation about the tasks.json format https://go.microsoft.com/fwlink/?LinkId=733558 - "version": "2.0.0", - "windows": { - "options": { - "shell": { - "executable": "C:\\Windows\\System32\\wsl.exe", - } - } - }, - "tasks": [{ - "label": "build", - "type": "shell", - "command": "./node_modules/@dependency/deploymentScript/script/build.sh ${input:transpileTest} ${input:copyCli}", - "options": { - "cwd": "${workspaceRoot}", - }, - "group": "build", - "presentation": { - "reveal": "silent", - "panel": "dedicated" - } - }, - { - "label": "release", - "type": "shell", - "command": "./node_modules/@dependency/deploymentScript/script/release.sh ${input:version}", - "options": { - "cwd": "${workspaceRoot}", - }, - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - } - }, - ], - "inputs": [{ - "id": "version", - "description": "Semver version number:", - "default": "1.0.0", - "type": "promptString" - }, - { - "id": "copyCli", - "description": "Should copyCli entrypoint:", - "options": ["true", "false"], - "default": "true", - "type": "pickString" - }, - { - "id": "transpileTest", - "description": "Should transpileTest:", - "options": ["true", "false"], - "default": "false", - "type": "pickString" - } - ] -} \ No newline at end of file diff --git a/configuration/.gitignore b/configuration/.gitignore deleted file mode 100644 index 03b36f3..0000000 --- a/configuration/.gitignore +++ /dev/null @@ -1,33 +0,0 @@ -# temporary folders: -temporary -distribution -volume -coverage -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov -# Coverage directory used by tools like istanbul -coverage -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt -# node-waf configuration -.lock-wscript - -# Pacakges: -node_modules -bower_components -jspm_packages - -# Logs: -logs -*.log -npm-debug.log* -yarn-error\.log - -# OS & program files: -*.DS_Store -*.vagrant -Thumbs.db -.\~vsdx -pids -*.pid -*.seed diff --git a/configuration/babel.config.js b/configuration/babel.config.js deleted file mode 100644 index 949496e..0000000 --- a/configuration/babel.config.js +++ /dev/null @@ -1,4 +0,0 @@ -const configuration = require('./'), - { getBabelConfig } = require('@dependency/javascriptTranspilation') - -module.exports = getBabelConfig(configuration.transpilation.babelConfigKey, { configType: 'functionApi' }) diff --git a/configuration/eslint.config.js b/configuration/eslint.config.js deleted file mode 100644 index 8812860..0000000 --- a/configuration/eslint.config.js +++ /dev/null @@ -1,4 +0,0 @@ -const { initialize, eslintJSLinterFunc } = require('@dependency/javascriptStaticAnalysis') -initialize() - -module.exports = eslintJSLinterFunc() diff --git a/configuration/package.json b/configuration/package.json deleted file mode 100644 index aeab55a..0000000 --- a/configuration/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "@root/configuration", - "version": "0.0.0", - "main": "./project.config.js" - -} \ No newline at end of file diff --git a/configuration/project.config.js b/configuration/project.config.js deleted file mode 100644 index b680a72..0000000 --- a/configuration/project.config.js +++ /dev/null @@ -1,44 +0,0 @@ -const path = require('path') -const { script } = require('./script.config.js') - -const ownConfig = { - directory: { - root: path.resolve(`${__dirname}/..`), - get source() { - return path.join(ownConfig.directory.root, './source') - }, - get distribution() { - return path.join(ownConfig.directory.root, './distribution') - }, - get test() { - return path.join(ownConfig.directory.root, './test') - }, - get script() { - return path.join(ownConfig.directory.root, './script') - }, - get resource() { - return path.join(ownConfig.directory.root, './resource') - }, - }, - get script() { - return [...script, ...[{ type: 'directory', path: ownConfig.directory.script }]] - }, - entrypoint: { - programmaticAPI: './script.js', - }, - transpilation: { - babelConfigKey: 'serverRuntime.BabelConfig.js', - get babelConfig() { - const { getBabelConfig } = require('@dependency/javascriptTranspilation') - return getBabelConfig(ownConfig.transpilation.babelConfigKey, { configType: 'json' }) - }, - }, - build: { - get compile() { - return [path.relative(ownConfig.directory.root, ownConfig.directory.source), path.relative(ownConfig.directory.root, ownConfig.directory.resource)] - }, - repositoryURL: 'https://github.com/AppScriptIO/buildTool', - }, -} - -module.exports = Object.assign({}, ownConfig) diff --git a/configuration/script.config.js b/configuration/script.config.js deleted file mode 100644 index 039515a..0000000 --- a/configuration/script.config.js +++ /dev/null @@ -1,15 +0,0 @@ -const path = require('path') -const resolvedModule = { - get deploymentScript() { - return path.dirname(require.resolve(`@dependency/deploymentScript/package.json`)) - }, -} - -module.exports = { - script: [ - { - type: 'directory', - path: `${resolvedModule.deploymentScript}/script`, - }, - ], -} diff --git a/configuration/typescript.config.json b/configuration/typescript.config.json deleted file mode 100644 index 27928f7..0000000 --- a/configuration/typescript.config.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": "../", // Base directory to resolve non-relative module names (project root) - "target": "esnext", // Target latest version of ECMAScript. - "moduleResolution": "node", // Search under node_modules for non-relative imports. - // "allowJs": true, // Process & infer types from .js files. - // "noEmit": true, // Don't emit; only do type-checking, leave trasformation to Babel. - "declaration": true, // Generates corresponding '.d.ts' file. - "strict": true, // Enable strictest settings like strictNullChecks & noImplicitAny. - "isolatedModules": true, // // Disallow features that require cross-file information for emit. Cross-file information is not supported by Babel. - "esModuleInterop": true, // Import non-ES modules as default imports. - "allowSyntheticDefaultImports": true, // Allow default imports from modules with no default export (e.g import React from "React") - "experimentalDecorators": true, // expertimental support for decoratoers - // "jsx": "preserve", // Support jsx in .tsx files (https://www.typescriptlang.org/docs/handbook/jsx.html) - // "lib": ["dom", "es2018"], // Library files to be used in the project. Tells the compiler that "DOM-APIs" and new ECMAScript features are valid. - // "paths": { // Module aliases (if you use module aliases in webpack) - // "yourModule": ["./some/modulefile.ts"] - // } - }, - "include": ["../**/*.ts"], - "exclude": ["node_modules"] -} \ No newline at end of file diff --git a/documentation/TODO.md b/documentation/TODO.md deleted file mode 100644 index baada75..0000000 --- a/documentation/TODO.md +++ /dev/null @@ -1,3 +0,0 @@ -- - -# Done: diff --git a/documentation/information.md b/documentation/information.md deleted file mode 100644 index e1d6754..0000000 --- a/documentation/information.md +++ /dev/null @@ -1,10 +0,0 @@ -# deploymentProvisioning -Library providing a number of operating system-related utility methods & deployment environment provisioning helper utilities. - - -___ -[TODO list](/documentation/TODO.md) - -___ - -### 🔑 License: [MIT](/.github/LICENSE) diff --git a/entrypoint/programmaticAPI/index.js b/entrypoint/programmaticAPI/index.js index 128f70f..ba2a0ea 100644 --- a/entrypoint/programmaticAPI/index.js +++ b/entrypoint/programmaticAPI/index.js @@ -1,18 +1 @@ -const projectConfig = require('../../configuration'), - path = require('path'), - filesystem = require('fs') - -// • Run -if (filesystem.existsSync(projectConfig.directory.distribution)) { - module.exports = require(projectConfig.directory.distribution) -} else { - // • Transpilation (babelJSCompiler) - const { Compiler } = require('@dependency/javascriptTranspilation') - let compiler = new Compiler({ callerPath: __dirname, debugKey: __dirname }) - compiler.requireHook({ restrictToTargetProject: false, matchTargetFile: false }) // `restrictToTargetProject` is off for fixing an issue in circular dependencies when this package and it's dependencies symlink each other. - module.exports = require(path.join(projectConfig.directory.source, projectConfig.entrypoint.programmaticAPI)) - // process.on('exit', () => { - // console.log(compiler.loadedFiles.map(value => value.filename)) - // console.log(compiler.babelRegisterConfig.ignore) - // }) -} +module.exports = require('../../source/script.js') \ No newline at end of file diff --git a/source/filesystemOperation/copyFile.js b/source/filesystemOperation/copyFile.js index d48d100..84c9346 100644 --- a/source/filesystemOperation/copyFile.js +++ b/source/filesystemOperation/copyFile.js @@ -1,18 +1,19 @@ -const filesystem = require('fs') - -export function copyFile(targetArray) { - for (const target of targetArray) { - // keep original file - if (filesystem.existsSync(target.destination)) { - let originalPath = `${target.destination}.original` - if (!filesystem.existsSync(originalPath)) filesystem.renameSync(target.destination, originalPath) - } - - try { - filesystem.copyFileSync(target.source, target.destination) - console.log(`• Copied ✔ ${target.source} --> ${target.destination}`) - } catch (error) { - throw error - } - } -} +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.copyFile = copyFile;const filesystem = require('fs'); + +function copyFile(targetArray) { + for (const target of targetArray) { + + if (filesystem.existsSync(target.destination)) { + let originalPath = `${target.destination}.original`; + if (!filesystem.existsSync(originalPath)) filesystem.renameSync(target.destination, originalPath); + } + + try { + filesystem.copyFileSync(target.source, target.destination); + console.log(`• Copied ✔ ${target.source} --> ${target.destination}`); + } catch (error) { + throw error; + } + } +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NvdXJjZS9maWxlc3lzdGVtT3BlcmF0aW9uL2NvcHlGaWxlLmpzIl0sIm5hbWVzIjpbImZpbGVzeXN0ZW0iLCJyZXF1aXJlIiwiY29weUZpbGUiLCJ0YXJnZXRBcnJheSIsInRhcmdldCIsImV4aXN0c1N5bmMiLCJkZXN0aW5hdGlvbiIsIm9yaWdpbmFsUGF0aCIsInJlbmFtZVN5bmMiLCJjb3B5RmlsZVN5bmMiLCJzb3VyY2UiLCJjb25zb2xlIiwibG9nIiwiZXJyb3IiXSwibWFwcGluZ3MiOiJ1R0FBQSxNQUFNQSxVQUFVLEdBQUdDLE9BQU8sQ0FBQyxJQUFELENBQTFCOztBQUVPLFNBQVNDLFFBQVQsQ0FBa0JDLFdBQWxCLEVBQStCO0FBQ3BDLE9BQUssTUFBTUMsTUFBWCxJQUFxQkQsV0FBckIsRUFBa0M7O0FBRWhDLFFBQUlILFVBQVUsQ0FBQ0ssVUFBWCxDQUFzQkQsTUFBTSxDQUFDRSxXQUE3QixDQUFKLEVBQStDO0FBQzdDLFVBQUlDLFlBQVksR0FBSSxHQUFFSCxNQUFNLENBQUNFLFdBQVksV0FBekM7QUFDQSxVQUFJLENBQUNOLFVBQVUsQ0FBQ0ssVUFBWCxDQUFzQkUsWUFBdEIsQ0FBTCxFQUEwQ1AsVUFBVSxDQUFDUSxVQUFYLENBQXNCSixNQUFNLENBQUNFLFdBQTdCLEVBQTBDQyxZQUExQztBQUMzQzs7QUFFRCxRQUFJO0FBQ0ZQLE1BQUFBLFVBQVUsQ0FBQ1MsWUFBWCxDQUF3QkwsTUFBTSxDQUFDTSxNQUEvQixFQUF1Q04sTUFBTSxDQUFDRSxXQUE5QztBQUNBSyxNQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxlQUFjUixNQUFNLENBQUNNLE1BQU8sUUFBT04sTUFBTSxDQUFDRSxXQUFZLEVBQW5FO0FBQ0QsS0FIRCxDQUdFLE9BQU9PLEtBQVAsRUFBYztBQUNkLFlBQU1BLEtBQU47QUFDRDtBQUNGO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBmaWxlc3lzdGVtID0gcmVxdWlyZSgnZnMnKVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvcHlGaWxlKHRhcmdldEFycmF5KSB7XHJcbiAgZm9yIChjb25zdCB0YXJnZXQgb2YgdGFyZ2V0QXJyYXkpIHtcclxuICAgIC8vIGtlZXAgb3JpZ2luYWwgZmlsZVxyXG4gICAgaWYgKGZpbGVzeXN0ZW0uZXhpc3RzU3luYyh0YXJnZXQuZGVzdGluYXRpb24pKSB7XHJcbiAgICAgIGxldCBvcmlnaW5hbFBhdGggPSBgJHt0YXJnZXQuZGVzdGluYXRpb259Lm9yaWdpbmFsYFxyXG4gICAgICBpZiAoIWZpbGVzeXN0ZW0uZXhpc3RzU3luYyhvcmlnaW5hbFBhdGgpKSBmaWxlc3lzdGVtLnJlbmFtZVN5bmModGFyZ2V0LmRlc3RpbmF0aW9uLCBvcmlnaW5hbFBhdGgpXHJcbiAgICB9XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgZmlsZXN5c3RlbS5jb3B5RmlsZVN5bmModGFyZ2V0LnNvdXJjZSwgdGFyZ2V0LmRlc3RpbmF0aW9uKVxyXG4gICAgICBjb25zb2xlLmxvZyhg4oCiIENvcGllZCDinJQgICR7dGFyZ2V0LnNvdXJjZX0gLS0+ICR7dGFyZ2V0LmRlc3RpbmF0aW9ufWApXHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICB0aHJvdyBlcnJvclxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= \ No newline at end of file diff --git a/source/filesystemOperation/createSymlink.js b/source/filesystemOperation/createSymlink.js index d408b5a..442fe57 100644 --- a/source/filesystemOperation/createSymlink.js +++ b/source/filesystemOperation/createSymlink.js @@ -1,27 +1,28 @@ -const filesystem = require('fs') -const path = require('path') - -export function createSymlink(symlinkTarget) { - for (const target of symlinkTarget) { - try { - let destinationStat = filesystem.existsSync(target.destination) && filesystem.lstatSync(target.destination) - - filesystem.mkdirSync(path.dirname(target.destination), { recursive: true }) // make directory recursive - - if (destinationStat) { - if (destinationStat.isSymbolicLink()) filesystem.unlinkSync(target.destination) - // delete existing symlink or file - else if (destinationStat.isFile()) { - let originalPath = `${target.destination}.original` - if (filesystem.existsSync(originalPath)) filesystem.unlinkSync(target.destination) - filesystem.renameSync(target.destination, originalPath) - } - } - filesystem.symlinkSync(target.source, target.destination) // create symlink - console.log(`✔ Symlink created: ${target.source} --> ${target.destination}`) - } catch (error) { - console.log(`❌ Symlink failed: ${target.source} --> ${target.destination}`) - console.log(error) - } - } -} +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.createSymlink = createSymlink;const filesystem = require('fs'); +const path = require('path'); + +function createSymlink(symlinkTarget) { + for (const target of symlinkTarget) { + try { + let destinationStat = filesystem.existsSync(target.destination) && filesystem.lstatSync(target.destination); + + filesystem.mkdirSync(path.dirname(target.destination), { recursive: true }); + + if (destinationStat) { + if (destinationStat.isSymbolicLink()) filesystem.unlinkSync(target.destination);else + + if (destinationStat.isFile()) { + let originalPath = `${target.destination}.original`; + if (filesystem.existsSync(originalPath)) filesystem.unlinkSync(target.destination); + filesystem.renameSync(target.destination, originalPath); + } + } + filesystem.symlinkSync(target.source, target.destination); + console.log(`✔ Symlink created: ${target.source} --> ${target.destination}`); + } catch (error) { + console.log(`❌ Symlink failed: ${target.source} --> ${target.destination}`); + console.log(error); + } + } +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NvdXJjZS9maWxlc3lzdGVtT3BlcmF0aW9uL2NyZWF0ZVN5bWxpbmsuanMiXSwibmFtZXMiOlsiZmlsZXN5c3RlbSIsInJlcXVpcmUiLCJwYXRoIiwiY3JlYXRlU3ltbGluayIsInN5bWxpbmtUYXJnZXQiLCJ0YXJnZXQiLCJkZXN0aW5hdGlvblN0YXQiLCJleGlzdHNTeW5jIiwiZGVzdGluYXRpb24iLCJsc3RhdFN5bmMiLCJta2RpclN5bmMiLCJkaXJuYW1lIiwicmVjdXJzaXZlIiwiaXNTeW1ib2xpY0xpbmsiLCJ1bmxpbmtTeW5jIiwiaXNGaWxlIiwib3JpZ2luYWxQYXRoIiwicmVuYW1lU3luYyIsInN5bWxpbmtTeW5jIiwic291cmNlIiwiY29uc29sZSIsImxvZyIsImVycm9yIl0sIm1hcHBpbmdzIjoiaUhBQUEsTUFBTUEsVUFBVSxHQUFHQyxPQUFPLENBQUMsSUFBRCxDQUExQjtBQUNBLE1BQU1DLElBQUksR0FBR0QsT0FBTyxDQUFDLE1BQUQsQ0FBcEI7O0FBRU8sU0FBU0UsYUFBVCxDQUF1QkMsYUFBdkIsRUFBc0M7QUFDM0MsT0FBSyxNQUFNQyxNQUFYLElBQXFCRCxhQUFyQixFQUFvQztBQUNsQyxRQUFJO0FBQ0YsVUFBSUUsZUFBZSxHQUFHTixVQUFVLENBQUNPLFVBQVgsQ0FBc0JGLE1BQU0sQ0FBQ0csV0FBN0IsS0FBNkNSLFVBQVUsQ0FBQ1MsU0FBWCxDQUFxQkosTUFBTSxDQUFDRyxXQUE1QixDQUFuRTs7QUFFQVIsTUFBQUEsVUFBVSxDQUFDVSxTQUFYLENBQXFCUixJQUFJLENBQUNTLE9BQUwsQ0FBYU4sTUFBTSxDQUFDRyxXQUFwQixDQUFyQixFQUF1RCxFQUFFSSxTQUFTLEVBQUUsSUFBYixFQUF2RDs7QUFFQSxVQUFJTixlQUFKLEVBQXFCO0FBQ25CLFlBQUlBLGVBQWUsQ0FBQ08sY0FBaEIsRUFBSixFQUFzQ2IsVUFBVSxDQUFDYyxVQUFYLENBQXNCVCxNQUFNLENBQUNHLFdBQTdCLEVBQXRDOztBQUVLLGNBQUlGLGVBQWUsQ0FBQ1MsTUFBaEIsRUFBSixFQUE4QjtBQUNqQyxnQkFBSUMsWUFBWSxHQUFJLEdBQUVYLE1BQU0sQ0FBQ0csV0FBWSxXQUF6QztBQUNBLGdCQUFJUixVQUFVLENBQUNPLFVBQVgsQ0FBc0JTLFlBQXRCLENBQUosRUFBeUNoQixVQUFVLENBQUNjLFVBQVgsQ0FBc0JULE1BQU0sQ0FBQ0csV0FBN0I7QUFDekNSLFlBQUFBLFVBQVUsQ0FBQ2lCLFVBQVgsQ0FBc0JaLE1BQU0sQ0FBQ0csV0FBN0IsRUFBMENRLFlBQTFDO0FBQ0Q7QUFDRjtBQUNEaEIsTUFBQUEsVUFBVSxDQUFDa0IsV0FBWCxDQUF1QmIsTUFBTSxDQUFDYyxNQUE5QixFQUFzQ2QsTUFBTSxDQUFDRyxXQUE3QztBQUNBWSxNQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxzQkFBcUJoQixNQUFNLENBQUNjLE1BQU8sUUFBT2QsTUFBTSxDQUFDRyxXQUFZLEVBQTFFO0FBQ0QsS0FoQkQsQ0FnQkUsT0FBT2MsS0FBUCxFQUFjO0FBQ2RGLE1BQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFhLHFCQUFvQmhCLE1BQU0sQ0FBQ2MsTUFBTyxRQUFPZCxNQUFNLENBQUNHLFdBQVksRUFBekU7QUFDQVksTUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVlDLEtBQVo7QUFDRDtBQUNGO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBmaWxlc3lzdGVtID0gcmVxdWlyZSgnZnMnKVxyXG5jb25zdCBwYXRoID0gcmVxdWlyZSgncGF0aCcpXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU3ltbGluayhzeW1saW5rVGFyZ2V0KSB7XHJcbiAgZm9yIChjb25zdCB0YXJnZXQgb2Ygc3ltbGlua1RhcmdldCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgbGV0IGRlc3RpbmF0aW9uU3RhdCA9IGZpbGVzeXN0ZW0uZXhpc3RzU3luYyh0YXJnZXQuZGVzdGluYXRpb24pICYmIGZpbGVzeXN0ZW0ubHN0YXRTeW5jKHRhcmdldC5kZXN0aW5hdGlvbilcclxuICAgICAgXHJcbiAgICAgIGZpbGVzeXN0ZW0ubWtkaXJTeW5jKHBhdGguZGlybmFtZSh0YXJnZXQuZGVzdGluYXRpb24pLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KSAvLyBtYWtlIGRpcmVjdG9yeSByZWN1cnNpdmVcclxuICAgICAgXHJcbiAgICAgIGlmIChkZXN0aW5hdGlvblN0YXQpIHtcclxuICAgICAgICBpZiAoZGVzdGluYXRpb25TdGF0LmlzU3ltYm9saWNMaW5rKCkpIGZpbGVzeXN0ZW0udW5saW5rU3luYyh0YXJnZXQuZGVzdGluYXRpb24pXHJcbiAgICAgICAgLy8gZGVsZXRlIGV4aXN0aW5nIHN5bWxpbmsgb3IgZmlsZVxyXG4gICAgICAgIGVsc2UgaWYgKGRlc3RpbmF0aW9uU3RhdC5pc0ZpbGUoKSkge1xyXG4gICAgICAgICAgbGV0IG9yaWdpbmFsUGF0aCA9IGAke3RhcmdldC5kZXN0aW5hdGlvbn0ub3JpZ2luYWxgXHJcbiAgICAgICAgICBpZiAoZmlsZXN5c3RlbS5leGlzdHNTeW5jKG9yaWdpbmFsUGF0aCkpIGZpbGVzeXN0ZW0udW5saW5rU3luYyh0YXJnZXQuZGVzdGluYXRpb24pXHJcbiAgICAgICAgICBmaWxlc3lzdGVtLnJlbmFtZVN5bmModGFyZ2V0LmRlc3RpbmF0aW9uLCBvcmlnaW5hbFBhdGgpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGZpbGVzeXN0ZW0uc3ltbGlua1N5bmModGFyZ2V0LnNvdXJjZSwgdGFyZ2V0LmRlc3RpbmF0aW9uKSAvLyBjcmVhdGUgc3ltbGlua1xyXG4gICAgICBjb25zb2xlLmxvZyhg4pyUIFN5bWxpbmsgY3JlYXRlZDogJHt0YXJnZXQuc291cmNlfSAtLT4gJHt0YXJnZXQuZGVzdGluYXRpb259YClcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGDinYwgU3ltbGluayBmYWlsZWQ6ICR7dGFyZ2V0LnNvdXJjZX0gLS0+ICR7dGFyZ2V0LmRlc3RpbmF0aW9ufWApXHJcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yKVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= \ No newline at end of file diff --git a/source/filesystemOperation/ensureFile.js b/source/filesystemOperation/ensureFile.js index f86ff04..ed17a19 100644 --- a/source/filesystemOperation/ensureFile.js +++ b/source/filesystemOperation/ensureFile.js @@ -1,23 +1,24 @@ -import filesystem from 'fs' - -/** Ensure Files - * @param {Array || String} file - */ -export function ensureFile(file) { - if (!Array.isArray(file)) file = [file] - - let missingFile = file.reduce(function(accumulator, filePath) { - var fileFound = false - try { - fileFound = filesystem.statSync(filePath).isFile() - } catch (e) { - /* ignore */ - } - - if (!fileFound) accumulator.push(filePath) - return accumulator - }, []) - - if (missingFile.length > 0) return new Error('Missing Required Files\n' + missingFile.join('\n')) - else return missingFile -} +"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports.ensureFile = ensureFile;var _fs = _interopRequireDefault(require("fs")); + + + + +function ensureFile(file) { + if (!Array.isArray(file)) file = [file]; + + let missingFile = file.reduce(function (accumulator, filePath) { + var fileFound = false; + try { + fileFound = _fs.default.statSync(filePath).isFile(); + } catch (e) { + + } + + if (!fileFound) accumulator.push(filePath); + return accumulator; + }, []); + + if (missingFile.length > 0) return new Error('Missing Required Files\n' + missingFile.join('\n'));else + return missingFile; +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NvdXJjZS9maWxlc3lzdGVtT3BlcmF0aW9uL2Vuc3VyZUZpbGUuanMiXSwibmFtZXMiOlsiZW5zdXJlRmlsZSIsImZpbGUiLCJBcnJheSIsImlzQXJyYXkiLCJtaXNzaW5nRmlsZSIsInJlZHVjZSIsImFjY3VtdWxhdG9yIiwiZmlsZVBhdGgiLCJmaWxlRm91bmQiLCJmaWxlc3lzdGVtIiwic3RhdFN5bmMiLCJpc0ZpbGUiLCJlIiwicHVzaCIsImxlbmd0aCIsIkVycm9yIiwiam9pbiJdLCJtYXBwaW5ncyI6ImdNQUFBOzs7OztBQUtPLFNBQVNBLFVBQVQsQ0FBb0JDLElBQXBCLEVBQTBCO0FBQy9CLE1BQUksQ0FBQ0MsS0FBSyxDQUFDQyxPQUFOLENBQWNGLElBQWQsQ0FBTCxFQUEwQkEsSUFBSSxHQUFHLENBQUNBLElBQUQsQ0FBUDs7QUFFMUIsTUFBSUcsV0FBVyxHQUFHSCxJQUFJLENBQUNJLE1BQUwsQ0FBWSxVQUFTQyxXQUFULEVBQXNCQyxRQUF0QixFQUFnQztBQUM1RCxRQUFJQyxTQUFTLEdBQUcsS0FBaEI7QUFDQSxRQUFJO0FBQ0ZBLE1BQUFBLFNBQVMsR0FBR0MsWUFBV0MsUUFBWCxDQUFvQkgsUUFBcEIsRUFBOEJJLE1BQTlCLEVBQVo7QUFDRCxLQUZELENBRUUsT0FBT0MsQ0FBUCxFQUFVOztBQUVYOztBQUVELFFBQUksQ0FBQ0osU0FBTCxFQUFnQkYsV0FBVyxDQUFDTyxJQUFaLENBQWlCTixRQUFqQjtBQUNoQixXQUFPRCxXQUFQO0FBQ0QsR0FWaUIsRUFVZixFQVZlLENBQWxCOztBQVlBLE1BQUlGLFdBQVcsQ0FBQ1UsTUFBWixHQUFxQixDQUF6QixFQUE0QixPQUFPLElBQUlDLEtBQUosQ0FBVSw2QkFBNkJYLFdBQVcsQ0FBQ1ksSUFBWixDQUFpQixJQUFqQixDQUF2QyxDQUFQLENBQTVCO0FBQ0ssU0FBT1osV0FBUDtBQUNOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZpbGVzeXN0ZW0gZnJvbSAnZnMnXHJcblxyXG4vKiogRW5zdXJlIEZpbGVzXHJcbiAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPiB8fCBTdHJpbmd9IGZpbGVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVGaWxlKGZpbGUpIHtcclxuICBpZiAoIUFycmF5LmlzQXJyYXkoZmlsZSkpIGZpbGUgPSBbZmlsZV1cclxuXHJcbiAgbGV0IG1pc3NpbmdGaWxlID0gZmlsZS5yZWR1Y2UoZnVuY3Rpb24oYWNjdW11bGF0b3IsIGZpbGVQYXRoKSB7XHJcbiAgICB2YXIgZmlsZUZvdW5kID0gZmFsc2VcclxuICAgIHRyeSB7XHJcbiAgICAgIGZpbGVGb3VuZCA9IGZpbGVzeXN0ZW0uc3RhdFN5bmMoZmlsZVBhdGgpLmlzRmlsZSgpXHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIC8qIGlnbm9yZSAqL1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghZmlsZUZvdW5kKSBhY2N1bXVsYXRvci5wdXNoKGZpbGVQYXRoKVxyXG4gICAgcmV0dXJuIGFjY3VtdWxhdG9yXHJcbiAgfSwgW10pXHJcblxyXG4gIGlmIChtaXNzaW5nRmlsZS5sZW5ndGggPiAwKSByZXR1cm4gbmV3IEVycm9yKCdNaXNzaW5nIFJlcXVpcmVkIEZpbGVzXFxuJyArIG1pc3NpbmdGaWxlLmpvaW4oJ1xcbicpKVxyXG4gIGVsc2UgcmV0dXJuIG1pc3NpbmdGaWxlXHJcbn1cclxuIl19 \ No newline at end of file diff --git a/source/filesystemOperation/synchronizeFile.js b/source/filesystemOperation/synchronizeFile.js index eb41388..393b413 100644 --- a/source/filesystemOperation/synchronizeFile.js +++ b/source/filesystemOperation/synchronizeFile.js @@ -1,100 +1,101 @@ -import path from 'path' -import util from 'util' -import stream from 'stream' -const pipeline = util.promisify(stream.pipeline) -import mkdirp from 'mkdirp' -import Rsync from 'rsync' -import size from 'gulp-size' -import plumber from 'gulp-plumber' -import { src as readFileAsObjectStream, dest as writeFileFromObjectStream } from 'vinyl-fs' -import { reject } from 'any-promise' - -/* -import rsyncObjectStream from 'gulp-rsync' -import gulp from 'gulp' -// using gulp-rsync -function gulpRsync(baseSource, source, destination) { - return gulp.src(source) - .pipe(rsyncObjectStream({ - // paths outside of root cannot be specified. - root: baseSource, - destination: destination, - incremental: true, - compress: true, - // recursive: true, - // clean: true, // --delete - deletes files on target. Files which are not present on source. - // dryrun: true, // for tests use dryrun which will not change files only mimic the run. - // progress: true, - // skip files which are newer on target/reciever path. - update: true - // args this way doesn't work ! should use the equevalent options in API - // args: ['--verbose', '--compress', '--update', '--dry-run'] - // DOESN'T WORK FOR MULTIPLE PATHS - error "outside of root" When relatice is off rsync can recieve multiple paths through gulp.src. - // relative: false - })) -} -*/ - -// implementation using `rsync` module directly -export function recursivelySyncFile({ - source, // source folder - destination, - copyContentOnly = false, // wether to copy the contents of the root source folder without the root folder itself. - extraOption = {}, -} = {}) { - // deal with trailing slash as it may change `rsync` behavior. - destination = destination.replace(/\/$/, '') // remove trailing slash from `destination` as it has no effect (both cases are the same) - if (copyContentOnly) source = source.substr(-1) != '/' ? `${source}/` : source - // add trailing slash - as rsync will copy only contants when trailing slash is present. - else source.replace(/\/$/, '') // remove trailing slash. - - let options = Object.assign( - { - a: true, // archive - // 'v': true, // verbose - z: true, // compress - R: false, // relative - will create a nested path inside the destination using the full path of the source folder. - r: true, // recursive - }, - extraOption, - ) - - let rsync = new Rsync() - .flags(options) - // .exclude('+ */') - // .include('/tmp/source/**/*') - .source(source) - .destination(destination) - - // Create directory. - return new Promise(resolve => { - mkdirp(destination, function(err) { - // Execute the command - rsync.execute( - function(error, code, cmd) { - if (error) reject(error) - console.log(`• RSync ${source} to ${destination}`) - resolve() - }, - function(data) { - console.log(' ' + data) - }, - ) - }) - }) -} - -// implementation using streams. -export async function copyFileAndSymlink({ - source, // list of files or file matching patterns (globs) - destination, -}) { - if (!Array.isArray(source)) source = [source] - // using `vinyl-fs` module to allow symlinks to be copied as symlinks and not follow down the tree of files. - return await pipeline( - readFileAsObjectStream(source, { followSymlinks: false }), - // plumber(), - writeFileFromObjectStream(destination, { overwrite: true }), - size({ title: 'copyFileAndSymlink' }), - ) -} +"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports.recursivelySyncFile = recursivelySyncFile;exports.copyFileAndSymlink = copyFileAndSymlink; +var _util = _interopRequireDefault(require("util")); +var _stream = _interopRequireDefault(require("stream")); + +var _mkdirp = _interopRequireDefault(require("mkdirp")); +var _rsync = _interopRequireDefault(require("rsync")); +var _gulpSize = _interopRequireDefault(require("gulp-size")); + +var _vinylFs = require("vinyl-fs"); +var _anyPromise = require("any-promise");const pipeline = _util.default.promisify(_stream.default.pipeline); + + + + + + + + + + + + + + + + + + + + + + + + + + + + +function recursivelySyncFile({ + source, + destination, + copyContentOnly = false, + extraOption = {} } = +{}) { + + destination = destination.replace(/\/$/, ''); + if (copyContentOnly) source = source.substr(-1) != '/' ? `${source}/` : source;else + + source.replace(/\/$/, ''); + + let options = Object.assign( + { + a: true, + + z: true, + R: false, + r: true }, + + extraOption); + + + let rsync = new _rsync.default(). + flags(options). + + + source(source). + destination(destination); + + + return new Promise(resolve => { + (0, _mkdirp.default)(destination, function (err) { + + rsync.execute( + function (error, code, cmd) { + if (error) (0, _anyPromise.reject)(error); + console.log(`• RSync ${source} to ${destination}`); + resolve(); + }, + function (data) { + console.log(' ' + data); + }); + + }); + }); +} + + +async function copyFileAndSymlink({ + source, + destination }) +{ + if (!Array.isArray(source)) source = [source]; + + return await pipeline( + (0, _vinylFs.src)(source, { followSymlinks: false }), + + (0, _vinylFs.dest)(destination, { overwrite: true }), + (0, _gulpSize.default)({ title: 'copyFileAndSymlink' })); + +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NvdXJjZS9maWxlc3lzdGVtT3BlcmF0aW9uL3N5bmNocm9uaXplRmlsZS5qcyJdLCJuYW1lcyI6WyJwaXBlbGluZSIsInV0aWwiLCJwcm9taXNpZnkiLCJzdHJlYW0iLCJyZWN1cnNpdmVseVN5bmNGaWxlIiwic291cmNlIiwiZGVzdGluYXRpb24iLCJjb3B5Q29udGVudE9ubHkiLCJleHRyYU9wdGlvbiIsInJlcGxhY2UiLCJzdWJzdHIiLCJvcHRpb25zIiwiT2JqZWN0IiwiYXNzaWduIiwiYSIsInoiLCJSIiwiciIsInJzeW5jIiwiUnN5bmMiLCJmbGFncyIsIlByb21pc2UiLCJyZXNvbHZlIiwiZXJyIiwiZXhlY3V0ZSIsImVycm9yIiwiY29kZSIsImNtZCIsImNvbnNvbGUiLCJsb2ciLCJkYXRhIiwiY29weUZpbGVBbmRTeW1saW5rIiwiQXJyYXkiLCJpc0FycmF5IiwiZm9sbG93U3ltbGlua3MiLCJvdmVyd3JpdGUiLCJ0aXRsZSJdLCJtYXBwaW5ncyI6IjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EseUNBTkEsTUFBTUEsUUFBUSxHQUFHQyxjQUFLQyxTQUFMLENBQWVDLGdCQUFPSCxRQUF0QixDQUFqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQ08sU0FBU0ksbUJBQVQsQ0FBNkI7QUFDbENDLEVBQUFBLE1BRGtDO0FBRWxDQyxFQUFBQSxXQUZrQztBQUdsQ0MsRUFBQUEsZUFBZSxHQUFHLEtBSGdCO0FBSWxDQyxFQUFBQSxXQUFXLEdBQUcsRUFKb0I7QUFLaEMsRUFMRyxFQUtDOztBQUVORixFQUFBQSxXQUFXLEdBQUdBLFdBQVcsQ0FBQ0csT0FBWixDQUFvQixLQUFwQixFQUEyQixFQUEzQixDQUFkO0FBQ0EsTUFBSUYsZUFBSixFQUFxQkYsTUFBTSxHQUFHQSxNQUFNLENBQUNLLE1BQVAsQ0FBYyxDQUFDLENBQWYsS0FBcUIsR0FBckIsR0FBNEIsR0FBRUwsTUFBTyxHQUFyQyxHQUEwQ0EsTUFBbkQsQ0FBckI7O0FBRUtBLElBQUFBLE1BQU0sQ0FBQ0ksT0FBUCxDQUFlLEtBQWYsRUFBc0IsRUFBdEI7O0FBRUwsTUFBSUUsT0FBTyxHQUFHQyxNQUFNLENBQUNDLE1BQVA7QUFDWjtBQUNFQyxJQUFBQSxDQUFDLEVBQUUsSUFETDs7QUFHRUMsSUFBQUEsQ0FBQyxFQUFFLElBSEw7QUFJRUMsSUFBQUEsQ0FBQyxFQUFFLEtBSkw7QUFLRUMsSUFBQUEsQ0FBQyxFQUFFLElBTEwsRUFEWTs7QUFRWlQsRUFBQUEsV0FSWSxDQUFkOzs7QUFXQSxNQUFJVSxLQUFLLEdBQUcsSUFBSUMsY0FBSjtBQUNUQyxFQUFBQSxLQURTLENBQ0hULE9BREc7OztBQUlUTixFQUFBQSxNQUpTLENBSUZBLE1BSkU7QUFLVEMsRUFBQUEsV0FMUyxDQUtHQSxXQUxILENBQVo7OztBQVFBLFNBQU8sSUFBSWUsT0FBSixDQUFZQyxPQUFPLElBQUk7QUFDNUIseUJBQU9oQixXQUFQLEVBQW9CLFVBQVNpQixHQUFULEVBQWM7O0FBRWhDTCxNQUFBQSxLQUFLLENBQUNNLE9BQU47QUFDRSxnQkFBU0MsS0FBVCxFQUFnQkMsSUFBaEIsRUFBc0JDLEdBQXRCLEVBQTJCO0FBQ3pCLFlBQUlGLEtBQUosRUFBVyx3QkFBT0EsS0FBUDtBQUNYRyxRQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBYSxXQUFVeEIsTUFBTyxPQUFNQyxXQUFZLEVBQWhEO0FBQ0FnQixRQUFBQSxPQUFPO0FBQ1IsT0FMSDtBQU1FLGdCQUFTUSxJQUFULEVBQWU7QUFDYkYsUUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVksTUFBTUMsSUFBbEI7QUFDRCxPQVJIOztBQVVELEtBWkQ7QUFhRCxHQWRNLENBQVA7QUFlRDs7O0FBR00sZUFBZUMsa0JBQWYsQ0FBa0M7QUFDdkMxQixFQUFBQSxNQUR1QztBQUV2Q0MsRUFBQUEsV0FGdUMsRUFBbEM7QUFHSjtBQUNELE1BQUksQ0FBQzBCLEtBQUssQ0FBQ0MsT0FBTixDQUFjNUIsTUFBZCxDQUFMLEVBQTRCQSxNQUFNLEdBQUcsQ0FBQ0EsTUFBRCxDQUFUOztBQUU1QixTQUFPLE1BQU1MLFFBQVE7QUFDbkIsb0JBQXVCSyxNQUF2QixFQUErQixFQUFFNkIsY0FBYyxFQUFFLEtBQWxCLEVBQS9CLENBRG1COztBQUduQixxQkFBMEI1QixXQUExQixFQUF1QyxFQUFFNkIsU0FBUyxFQUFFLElBQWIsRUFBdkMsQ0FIbUI7QUFJbkIseUJBQUssRUFBRUMsS0FBSyxFQUFFLG9CQUFULEVBQUwsQ0FKbUIsQ0FBckI7O0FBTUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xyXG5pbXBvcnQgdXRpbCBmcm9tICd1dGlsJ1xyXG5pbXBvcnQgc3RyZWFtIGZyb20gJ3N0cmVhbSdcclxuY29uc3QgcGlwZWxpbmUgPSB1dGlsLnByb21pc2lmeShzdHJlYW0ucGlwZWxpbmUpXHJcbmltcG9ydCBta2RpcnAgZnJvbSAnbWtkaXJwJ1xyXG5pbXBvcnQgUnN5bmMgZnJvbSAncnN5bmMnXHJcbmltcG9ydCBzaXplIGZyb20gJ2d1bHAtc2l6ZSdcclxuaW1wb3J0IHBsdW1iZXIgZnJvbSAnZ3VscC1wbHVtYmVyJ1xyXG5pbXBvcnQgeyBzcmMgYXMgcmVhZEZpbGVBc09iamVjdFN0cmVhbSwgZGVzdCBhcyB3cml0ZUZpbGVGcm9tT2JqZWN0U3RyZWFtIH0gZnJvbSAndmlueWwtZnMnXHJcbmltcG9ydCB7IHJlamVjdCB9IGZyb20gJ2FueS1wcm9taXNlJ1xyXG5cclxuLypcclxuaW1wb3J0IHJzeW5jT2JqZWN0U3RyZWFtIGZyb20gJ2d1bHAtcnN5bmMnXHJcbmltcG9ydCBndWxwIGZyb20gJ2d1bHAnXHJcbi8vIHVzaW5nIGd1bHAtcnN5bmNcclxuZnVuY3Rpb24gZ3VscFJzeW5jKGJhc2VTb3VyY2UsIHNvdXJjZSwgZGVzdGluYXRpb24pIHtcclxuICByZXR1cm4gZ3VscC5zcmMoc291cmNlKVxyXG4gICAgLnBpcGUocnN5bmNPYmplY3RTdHJlYW0oe1xyXG4gICAgICAvLyBwYXRocyBvdXRzaWRlIG9mIHJvb3QgY2Fubm90IGJlIHNwZWNpZmllZC5cclxuICAgICAgcm9vdDogYmFzZVNvdXJjZSxcclxuICAgICAgZGVzdGluYXRpb246IGRlc3RpbmF0aW9uLFxyXG4gICAgICBpbmNyZW1lbnRhbDogdHJ1ZSxcclxuICAgICAgY29tcHJlc3M6IHRydWUsXHJcbiAgICAgIC8vIHJlY3Vyc2l2ZTogdHJ1ZSxcclxuICAgICAgLy8gY2xlYW46IHRydWUsIC8vIC0tZGVsZXRlIC0gZGVsZXRlcyBmaWxlcyBvbiB0YXJnZXQuIEZpbGVzIHdoaWNoIGFyZSBub3QgcHJlc2VudCBvbiBzb3VyY2UuXHJcbiAgICAgIC8vIGRyeXJ1bjogdHJ1ZSwgLy8gZm9yIHRlc3RzIHVzZSBkcnlydW4gd2hpY2ggd2lsbCBub3QgY2hhbmdlIGZpbGVzIG9ubHkgbWltaWMgdGhlIHJ1bi5cclxuICAgICAgLy8gcHJvZ3Jlc3M6IHRydWUsXHJcbiAgICAgIC8vIHNraXAgZmlsZXMgd2hpY2ggYXJlIG5ld2VyIG9uIHRhcmdldC9yZWNpZXZlciBwYXRoLlxyXG4gICAgICB1cGRhdGU6IHRydWVcclxuICAgICAgLy8gYXJncyB0aGlzIHdheSBkb2Vzbid0IHdvcmsgISBzaG91bGQgdXNlIHRoZSBlcXVldmFsZW50IG9wdGlvbnMgaW4gQVBJXHJcbiAgICAgIC8vIGFyZ3M6IFsnLS12ZXJib3NlJywgJy0tY29tcHJlc3MnLCAnLS11cGRhdGUnLCAnLS1kcnktcnVuJ11cclxuICAgICAgLy8gRE9FU04nVCBXT1JLIEZPUiBNVUxUSVBMRSBQQVRIUyAtIGVycm9yIFwib3V0c2lkZSBvZiByb290XCIgV2hlbiByZWxhdGljZSBpcyBvZmYgcnN5bmMgY2FuIHJlY2lldmUgbXVsdGlwbGUgcGF0aHMgdGhyb3VnaCBndWxwLnNyYy5cclxuICAgICAgLy8gcmVsYXRpdmU6IGZhbHNlXHJcbiAgICB9KSlcclxufVxyXG4qL1xyXG5cclxuLy8gaW1wbGVtZW50YXRpb24gdXNpbmcgYHJzeW5jYCBtb2R1bGUgZGlyZWN0bHlcclxuZXhwb3J0IGZ1bmN0aW9uIHJlY3Vyc2l2ZWx5U3luY0ZpbGUoe1xyXG4gIHNvdXJjZSwgLy8gc291cmNlIGZvbGRlclxyXG4gIGRlc3RpbmF0aW9uLFxyXG4gIGNvcHlDb250ZW50T25seSA9IGZhbHNlLCAvLyB3ZXRoZXIgdG8gY29weSB0aGUgY29udGVudHMgb2YgdGhlIHJvb3Qgc291cmNlIGZvbGRlciB3aXRob3V0IHRoZSByb290IGZvbGRlciAgaXRzZWxmLlxyXG4gIGV4dHJhT3B0aW9uID0ge30sXHJcbn0gPSB7fSkge1xyXG4gIC8vIGRlYWwgd2l0aCB0cmFpbGluZyBzbGFzaCBhcyBpdCBtYXkgY2hhbmdlIGByc3luY2AgYmVoYXZpb3IuXHJcbiAgZGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbi5yZXBsYWNlKC9cXC8kLywgJycpIC8vIHJlbW92ZSB0cmFpbGluZyBzbGFzaCBmcm9tIGBkZXN0aW5hdGlvbmAgYXMgaXQgaGFzIG5vIGVmZmVjdCAoYm90aCBjYXNlcyBhcmUgdGhlIHNhbWUpXHJcbiAgaWYgKGNvcHlDb250ZW50T25seSkgc291cmNlID0gc291cmNlLnN1YnN0cigtMSkgIT0gJy8nID8gYCR7c291cmNlfS9gIDogc291cmNlXHJcbiAgLy8gYWRkIHRyYWlsaW5nIHNsYXNoIC0gYXMgcnN5bmMgd2lsbCBjb3B5IG9ubHkgY29udGFudHMgd2hlbiB0cmFpbGluZyBzbGFzaCBpcyBwcmVzZW50LlxyXG4gIGVsc2Ugc291cmNlLnJlcGxhY2UoL1xcLyQvLCAnJykgLy8gcmVtb3ZlIHRyYWlsaW5nIHNsYXNoLlxyXG5cclxuICBsZXQgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oXHJcbiAgICB7XHJcbiAgICAgIGE6IHRydWUsIC8vIGFyY2hpdmVcclxuICAgICAgLy8gJ3YnOiB0cnVlLCAvLyB2ZXJib3NlXHJcbiAgICAgIHo6IHRydWUsIC8vIGNvbXByZXNzXHJcbiAgICAgIFI6IGZhbHNlLCAvLyByZWxhdGl2ZSAtIHdpbGwgY3JlYXRlIGEgbmVzdGVkIHBhdGggaW5zaWRlIHRoZSBkZXN0aW5hdGlvbiB1c2luZyB0aGUgZnVsbCBwYXRoIG9mIHRoZSBzb3VyY2UgZm9sZGVyLlxyXG4gICAgICByOiB0cnVlLCAvLyByZWN1cnNpdmVcclxuICAgIH0sXHJcbiAgICBleHRyYU9wdGlvbixcclxuICApXHJcblxyXG4gIGxldCByc3luYyA9IG5ldyBSc3luYygpXHJcbiAgICAuZmxhZ3Mob3B0aW9ucylcclxuICAgIC8vIC5leGNsdWRlKCcrICovJylcclxuICAgIC8vIC5pbmNsdWRlKCcvdG1wL3NvdXJjZS8qKi8qJylcclxuICAgIC5zb3VyY2Uoc291cmNlKVxyXG4gICAgLmRlc3RpbmF0aW9uKGRlc3RpbmF0aW9uKVxyXG5cclxuICAvLyBDcmVhdGUgZGlyZWN0b3J5LlxyXG4gIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcclxuICAgIG1rZGlycChkZXN0aW5hdGlvbiwgZnVuY3Rpb24oZXJyKSB7XHJcbiAgICAgIC8vIEV4ZWN1dGUgdGhlIGNvbW1hbmRcclxuICAgICAgcnN5bmMuZXhlY3V0ZShcclxuICAgICAgICBmdW5jdGlvbihlcnJvciwgY29kZSwgY21kKSB7XHJcbiAgICAgICAgICBpZiAoZXJyb3IpIHJlamVjdChlcnJvcilcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGDigKIgUlN5bmMgJHtzb3VyY2V9IHRvICR7ZGVzdGluYXRpb259YClcclxuICAgICAgICAgIHJlc29sdmUoKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZnVuY3Rpb24oZGF0YSkge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJyAnICsgZGF0YSlcclxuICAgICAgICB9LFxyXG4gICAgICApXHJcbiAgICB9KVxyXG4gIH0pXHJcbn1cclxuXHJcbi8vIGltcGxlbWVudGF0aW9uIHVzaW5nIHN0cmVhbXMuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb3B5RmlsZUFuZFN5bWxpbmsoe1xyXG4gIHNvdXJjZSwgLy8gbGlzdCBvZiBmaWxlcyBvciBmaWxlIG1hdGNoaW5nIHBhdHRlcm5zIChnbG9icylcclxuICBkZXN0aW5hdGlvbixcclxufSkge1xyXG4gIGlmICghQXJyYXkuaXNBcnJheShzb3VyY2UpKSBzb3VyY2UgPSBbc291cmNlXVxyXG4gIC8vIHVzaW5nIGB2aW55bC1mc2AgbW9kdWxlIHRvIGFsbG93IHN5bWxpbmtzIHRvIGJlIGNvcGllZCBhcyBzeW1saW5rcyBhbmQgbm90IGZvbGxvdyBkb3duIHRoZSB0cmVlIG9mIGZpbGVzLlxyXG4gIHJldHVybiBhd2FpdCBwaXBlbGluZShcclxuICAgIHJlYWRGaWxlQXNPYmplY3RTdHJlYW0oc291cmNlLCB7IGZvbGxvd1N5bWxpbmtzOiBmYWxzZSB9KSxcclxuICAgIC8vIHBsdW1iZXIoKSxcclxuICAgIHdyaXRlRmlsZUZyb21PYmplY3RTdHJlYW0oZGVzdGluYXRpb24sIHsgb3ZlcndyaXRlOiB0cnVlIH0pLFxyXG4gICAgc2l6ZSh7IHRpdGxlOiAnY29weUZpbGVBbmRTeW1saW5rJyB9KSxcclxuICApXHJcbn1cclxuIl19 \ No newline at end of file diff --git a/source/packageInstallation/nodejsPackage/installJshint.js b/source/packageInstallation/nodejsPackage/installJshint.js index e5b47c3..986a508 100644 --- a/source/packageInstallation/nodejsPackage/installJshint.js +++ b/source/packageInstallation/nodejsPackage/installJshint.js @@ -1,9 +1,10 @@ -const childProcess = require('child_process') -const childProcessOption = { cwd: __dirname, shell: true, stdio: [0, 1, 2] } -const { sync: binaryExist } = require('command-exists') - -// Installed globally for usage with VSCode extension -export function install() { - if (binaryExist('jshint')) console.log('✔ jshint (npm package) is installed.') - else childProcess.execSync('yarn install -g jshint', childProcessOption) -} +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.install = install;const childProcess = require('child_process'); +const childProcessOption = { cwd: __dirname, shell: true, stdio: [0, 1, 2] }; +const { sync: binaryExist } = require('command-exists'); + + +function install() { + if (binaryExist('jshint')) console.log('✔ jshint (npm package) is installed.');else + childProcess.execSync('yarn install -g jshint', childProcessOption); +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvdXJjZS9wYWNrYWdlSW5zdGFsbGF0aW9uL25vZGVqc1BhY2thZ2UvaW5zdGFsbEpzaGludC5qcyJdLCJuYW1lcyI6WyJjaGlsZFByb2Nlc3MiLCJyZXF1aXJlIiwiY2hpbGRQcm9jZXNzT3B0aW9uIiwiY3dkIiwiX19kaXJuYW1lIiwic2hlbGwiLCJzdGRpbyIsInN5bmMiLCJiaW5hcnlFeGlzdCIsImluc3RhbGwiLCJjb25zb2xlIiwibG9nIiwiZXhlY1N5bmMiXSwibWFwcGluZ3MiOiJxR0FBQSxNQUFNQSxZQUFZLEdBQUdDLE9BQU8sQ0FBQyxlQUFELENBQTVCO0FBQ0EsTUFBTUMsa0JBQWtCLEdBQUcsRUFBRUMsR0FBRyxFQUFFQyxTQUFQLEVBQWtCQyxLQUFLLEVBQUUsSUFBekIsRUFBK0JDLEtBQUssRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKLEVBQU8sQ0FBUCxDQUF0QyxFQUEzQjtBQUNBLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxXQUFSLEtBQXdCUCxPQUFPLENBQUMsZ0JBQUQsQ0FBckM7OztBQUdPLFNBQVNRLE9BQVQsR0FBbUI7QUFDeEIsTUFBSUQsV0FBVyxDQUFDLFFBQUQsQ0FBZixFQUEyQkUsT0FBTyxDQUFDQyxHQUFSLENBQVksc0NBQVosRUFBM0I7QUFDS1gsRUFBQUEsWUFBWSxDQUFDWSxRQUFiLENBQXNCLHdCQUF0QixFQUFnRFYsa0JBQWhEO0FBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjaGlsZFByb2Nlc3MgPSByZXF1aXJlKCdjaGlsZF9wcm9jZXNzJylcclxuY29uc3QgY2hpbGRQcm9jZXNzT3B0aW9uID0geyBjd2Q6IF9fZGlybmFtZSwgc2hlbGw6IHRydWUsIHN0ZGlvOiBbMCwgMSwgMl0gfVxyXG5jb25zdCB7IHN5bmM6IGJpbmFyeUV4aXN0IH0gPSByZXF1aXJlKCdjb21tYW5kLWV4aXN0cycpXHJcblxyXG4vLyBJbnN0YWxsZWQgZ2xvYmFsbHkgZm9yIHVzYWdlIHdpdGggVlNDb2RlIGV4dGVuc2lvblxyXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFsbCgpIHtcclxuICBpZiAoYmluYXJ5RXhpc3QoJ2pzaGludCcpKSBjb25zb2xlLmxvZygn4pyUIGpzaGludCAobnBtIHBhY2thZ2UpIGlzIGluc3RhbGxlZC4nKVxyXG4gIGVsc2UgY2hpbGRQcm9jZXNzLmV4ZWNTeW5jKCd5YXJuIGluc3RhbGwgLWcganNoaW50JywgY2hpbGRQcm9jZXNzT3B0aW9uKVxyXG59XHJcbiJdfQ== \ No newline at end of file diff --git a/source/packageInstallation/nodejsPackage/installPackageUsingJspm.js b/source/packageInstallation/nodejsPackage/installPackageUsingJspm.js index 2b1b971..10d52a9 100644 --- a/source/packageInstallation/nodejsPackage/installPackageUsingJspm.js +++ b/source/packageInstallation/nodejsPackage/installPackageUsingJspm.js @@ -1,22 +1,23 @@ -import filesystem from 'fs' -import assert from 'assert' -import childProcess from 'child_process' -import path from 'path' -import { sync as binaryExist } from 'command-exists' +"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports.installJspm = installJspm;var _fs = _interopRequireDefault(require("fs")); +var _assert = _interopRequireDefault(require("assert")); +var _child_process = _interopRequireDefault(require("child_process")); +var _path = _interopRequireDefault(require("path")); +var _commandExists = require("command-exists"); -export function installJspm({ - jspmPath, // path to the jspm configuration dependencies file. -}) { - /* - // switch temporarly to nodejs version that jspm install works on, then rollback. - childProcess.execSync('n stable; jspm install; n ' + rollbackNodejsVersion, { cwd: jspmPath, shell: true, stdio:[0,1,2] }); - */ - assert(binaryExist('jspm'), '• "jspm" binary should be installed in the environment.') - assert(filesystem.existsSync(jspmPath), `• Directory path for package installation doesn't exist - "${jspmPath}".`) +function installJspm({ + jspmPath }) +{var _packageJson$jspm, _packageJson$jspm$dir; - let packageJson = require(path.join(jspmPath, 'package.json')) - let packageFolder = packageJson.jspm?.directories?.packages ? path.join(jspmPath, packageJson.jspm.directories.packages) : path.join(jspmPath, 'jspm_packages') - if (!filesystem.existsSync(packageFolder)) childProcess.execSync('jspm install', { cwd: jspmPath, shell: true, stdio: [0, 1, 2] }) - else console.log('Skipping JSPM pacakges installation, as a package folder already exist.') + + + (0, _assert.default)((0, _commandExists.sync)('jspm'), '• "jspm" binary should be installed in the environment.'); + (0, _assert.default)(_fs.default.existsSync(jspmPath), `• Directory path for package installation doesn't exist - "${jspmPath}".`); + + let packageJson = require(_path.default.join(jspmPath, 'package.json')); + let packageFolder = ((_packageJson$jspm = packageJson.jspm) === null || _packageJson$jspm === void 0 ? void 0 : (_packageJson$jspm$dir = _packageJson$jspm.directories) === null || _packageJson$jspm$dir === void 0 ? void 0 : _packageJson$jspm$dir.packages) ? _path.default.join(jspmPath, packageJson.jspm.directories.packages) : _path.default.join(jspmPath, 'jspm_packages'); + + if (!_fs.default.existsSync(packageFolder)) _child_process.default.execSync('jspm install', { cwd: jspmPath, shell: true, stdio: [0, 1, 2] });else + console.log('Skipping JSPM pacakges installation, as a package folder already exist.'); } +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvdXJjZS9wYWNrYWdlSW5zdGFsbGF0aW9uL25vZGVqc1BhY2thZ2UvaW5zdGFsbFBhY2thZ2VVc2luZ0pzcG0uanMiXSwibmFtZXMiOlsiaW5zdGFsbEpzcG0iLCJqc3BtUGF0aCIsImZpbGVzeXN0ZW0iLCJleGlzdHNTeW5jIiwicGFja2FnZUpzb24iLCJyZXF1aXJlIiwicGF0aCIsImpvaW4iLCJwYWNrYWdlRm9sZGVyIiwianNwbSIsImRpcmVjdG9yaWVzIiwicGFja2FnZXMiLCJjaGlsZFByb2Nlc3MiLCJleGVjU3luYyIsImN3ZCIsInNoZWxsIiwic3RkaW8iLCJjb25zb2xlIiwibG9nIl0sIm1hcHBpbmdzIjoia01BQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTyxTQUFTQSxXQUFULENBQXFCO0FBQzFCQyxFQUFBQSxRQUQwQixFQUFyQjtBQUVKOzs7OztBQUtELHVCQUFPLHlCQUFZLE1BQVosQ0FBUCxFQUE0Qix5REFBNUI7QUFDQSx1QkFBT0MsWUFBV0MsVUFBWCxDQUFzQkYsUUFBdEIsQ0FBUCxFQUF5Qyw4REFBNkRBLFFBQVMsSUFBL0c7O0FBRUEsTUFBSUcsV0FBVyxHQUFHQyxPQUFPLENBQUNDLGNBQUtDLElBQUwsQ0FBVU4sUUFBVixFQUFvQixjQUFwQixDQUFELENBQXpCO0FBQ0EsTUFBSU8sYUFBYSxHQUFHLHNCQUFBSixXQUFXLENBQUNLLElBQVosaUdBQWtCQyxXQUFsQixnRkFBK0JDLFFBQS9CLElBQTBDTCxjQUFLQyxJQUFMLENBQVVOLFFBQVYsRUFBb0JHLFdBQVcsQ0FBQ0ssSUFBWixDQUFpQkMsV0FBakIsQ0FBNkJDLFFBQWpELENBQTFDLEdBQXVHTCxjQUFLQyxJQUFMLENBQVVOLFFBQVYsRUFBb0IsZUFBcEIsQ0FBM0g7O0FBRUEsTUFBSSxDQUFDQyxZQUFXQyxVQUFYLENBQXNCSyxhQUF0QixDQUFMLEVBQTJDSSx1QkFBYUMsUUFBYixDQUFzQixjQUF0QixFQUFzQyxFQUFFQyxHQUFHLEVBQUViLFFBQVAsRUFBaUJjLEtBQUssRUFBRSxJQUF4QixFQUE4QkMsS0FBSyxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosRUFBTyxDQUFQLENBQXJDLEVBQXRDLEVBQTNDO0FBQ0tDLEVBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZLHlFQUFaO0FBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZmlsZXN5c3RlbSBmcm9tICdmcydcbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0J1xuaW1wb3J0IGNoaWxkUHJvY2VzcyBmcm9tICdjaGlsZF9wcm9jZXNzJ1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCB7IHN5bmMgYXMgYmluYXJ5RXhpc3QgfSBmcm9tICdjb21tYW5kLWV4aXN0cydcblxuZXhwb3J0IGZ1bmN0aW9uIGluc3RhbGxKc3BtKHtcbiAganNwbVBhdGgsIC8vIHBhdGggdG8gdGhlIGpzcG0gY29uZmlndXJhdGlvbiBkZXBlbmRlbmNpZXMgZmlsZS5cbn0pIHtcbiAgLypcblx0XHQvLyBzd2l0Y2ggdGVtcG9yYXJseSB0byBub2RlanMgdmVyc2lvbiB0aGF0IGpzcG0gaW5zdGFsbCB3b3JrcyBvbiwgdGhlbiByb2xsYmFjay5cblx0XHRjaGlsZFByb2Nlc3MuZXhlY1N5bmMoJ24gc3RhYmxlOyBqc3BtIGluc3RhbGw7IG4gJyArIHJvbGxiYWNrTm9kZWpzVmVyc2lvbiwgeyBjd2Q6IGpzcG1QYXRoLCBzaGVsbDogdHJ1ZSwgc3RkaW86WzAsMSwyXSB9KTtcblx0Ki9cbiAgYXNzZXJ0KGJpbmFyeUV4aXN0KCdqc3BtJyksICfigKIgXCJqc3BtXCIgYmluYXJ5IHNob3VsZCBiZSBpbnN0YWxsZWQgaW4gdGhlIGVudmlyb25tZW50LicpXG4gIGFzc2VydChmaWxlc3lzdGVtLmV4aXN0c1N5bmMoanNwbVBhdGgpLCBg4oCiIERpcmVjdG9yeSBwYXRoIGZvciBwYWNrYWdlIGluc3RhbGxhdGlvbiBkb2Vzbid0IGV4aXN0IC0gXCIke2pzcG1QYXRofVwiLmApXG5cbiAgbGV0IHBhY2thZ2VKc29uID0gcmVxdWlyZShwYXRoLmpvaW4oanNwbVBhdGgsICdwYWNrYWdlLmpzb24nKSlcbiAgbGV0IHBhY2thZ2VGb2xkZXIgPSBwYWNrYWdlSnNvbi5qc3BtPy5kaXJlY3Rvcmllcz8ucGFja2FnZXMgPyBwYXRoLmpvaW4oanNwbVBhdGgsIHBhY2thZ2VKc29uLmpzcG0uZGlyZWN0b3JpZXMucGFja2FnZXMpIDogcGF0aC5qb2luKGpzcG1QYXRoLCAnanNwbV9wYWNrYWdlcycpXG5cbiAgaWYgKCFmaWxlc3lzdGVtLmV4aXN0c1N5bmMocGFja2FnZUZvbGRlcikpIGNoaWxkUHJvY2Vzcy5leGVjU3luYygnanNwbSBpbnN0YWxsJywgeyBjd2Q6IGpzcG1QYXRoLCBzaGVsbDogdHJ1ZSwgc3RkaW86IFswLCAxLCAyXSB9KVxuICBlbHNlIGNvbnNvbGUubG9nKCdTa2lwcGluZyBKU1BNIHBhY2FrZ2VzIGluc3RhbGxhdGlvbiwgYXMgYSBwYWNrYWdlIGZvbGRlciBhbHJlYWR5IGV4aXN0LicpXG59XG4iXX0= \ No newline at end of file diff --git a/source/packageInstallation/nodejsPackage/installPackageUsingNpm.js b/source/packageInstallation/nodejsPackage/installPackageUsingNpm.js index c722343..b0b4e62 100644 --- a/source/packageInstallation/nodejsPackage/installPackageUsingNpm.js +++ b/source/packageInstallation/nodejsPackage/installPackageUsingNpm.js @@ -1,16 +1,17 @@ -import childProcess from 'child_process' -import assert from 'assert' -import { sync as binaryExist } from 'command-exists' -import filesystem from 'fs' +"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports.installNpm = installNpm;var _child_process = _interopRequireDefault(require("child_process")); +var _assert = _interopRequireDefault(require("assert")); +var _commandExists = require("command-exists"); +var _fs = _interopRequireDefault(require("fs")); -export function installNpm({ npmPath, flag = ['--production=true' /*'--pure-lockfile'*/] }) { - assert(binaryExist('npm'), '• "npm" binary should be installed in the environment.') - assert(filesystem.existsSync(npmPath), `• Directory path for package installation doesn't exist - "${npmPath}".`) +function installNpm({ npmPath, flag = ['--production=true'] }) { + (0, _assert.default)((0, _commandExists.sync)('npm'), '• "npm" binary should be installed in the environment.'); + (0, _assert.default)(_fs.default.existsSync(npmPath), `• Directory path for package installation doesn't exist - "${npmPath}".`); try { - childProcess.spawnSync('npm', ['install', ...flag], { cwd: npmPath, shell: true, stdio: [0, 1, 2] }) + _child_process.default.spawnSync('npm', ['install', ...flag], { cwd: npmPath, shell: true, stdio: [0, 1, 2] }); } catch (error) { - console.log('• ERROR - childprocess error.') - console.log(error) - process.exit(1) + console.log('• ERROR - childprocess error.'); + console.log(error); + process.exit(1); } } +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvdXJjZS9wYWNrYWdlSW5zdGFsbGF0aW9uL25vZGVqc1BhY2thZ2UvaW5zdGFsbFBhY2thZ2VVc2luZ05wbS5qcyJdLCJuYW1lcyI6WyJpbnN0YWxsTnBtIiwibnBtUGF0aCIsImZsYWciLCJmaWxlc3lzdGVtIiwiZXhpc3RzU3luYyIsImNoaWxkUHJvY2VzcyIsInNwYXduU3luYyIsImN3ZCIsInNoZWxsIiwic3RkaW8iLCJlcnJvciIsImNvbnNvbGUiLCJsb2ciLCJwcm9jZXNzIiwiZXhpdCJdLCJtYXBwaW5ncyI6ImdNQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVPLFNBQVNBLFVBQVQsQ0FBb0IsRUFBRUMsT0FBRixFQUFXQyxJQUFJLEdBQUcsQ0FBQyxtQkFBRCxDQUFsQixFQUFwQixFQUFxRjtBQUMxRix1QkFBTyx5QkFBWSxLQUFaLENBQVAsRUFBMkIsd0RBQTNCO0FBQ0EsdUJBQU9DLFlBQVdDLFVBQVgsQ0FBc0JILE9BQXRCLENBQVAsRUFBd0MsOERBQTZEQSxPQUFRLElBQTdHO0FBQ0EsTUFBSTtBQUNGSSwyQkFBYUMsU0FBYixDQUF1QixLQUF2QixFQUE4QixDQUFDLFNBQUQsRUFBWSxHQUFHSixJQUFmLENBQTlCLEVBQW9ELEVBQUVLLEdBQUcsRUFBRU4sT0FBUCxFQUFnQk8sS0FBSyxFQUFFLElBQXZCLEVBQTZCQyxLQUFLLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSixFQUFPLENBQVAsQ0FBcEMsRUFBcEQ7QUFDRCxHQUZELENBRUUsT0FBT0MsS0FBUCxFQUFjO0FBQ2RDLElBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZLCtCQUFaO0FBQ0FELElBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZRixLQUFaO0FBQ0FHLElBQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUFhLENBQWI7QUFDRDtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoaWxkUHJvY2VzcyBmcm9tICdjaGlsZF9wcm9jZXNzJ1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnXG5pbXBvcnQgeyBzeW5jIGFzIGJpbmFyeUV4aXN0IH0gZnJvbSAnY29tbWFuZC1leGlzdHMnXG5pbXBvcnQgZmlsZXN5c3RlbSBmcm9tICdmcydcblxuZXhwb3J0IGZ1bmN0aW9uIGluc3RhbGxOcG0oeyBucG1QYXRoLCBmbGFnID0gWyctLXByb2R1Y3Rpb249dHJ1ZScgLyonLS1wdXJlLWxvY2tmaWxlJyovXSB9KSB7XG4gIGFzc2VydChiaW5hcnlFeGlzdCgnbnBtJyksICfigKIgXCJucG1cIiBiaW5hcnkgc2hvdWxkIGJlIGluc3RhbGxlZCBpbiB0aGUgZW52aXJvbm1lbnQuJylcbiAgYXNzZXJ0KGZpbGVzeXN0ZW0uZXhpc3RzU3luYyhucG1QYXRoKSwgYOKAoiBEaXJlY3RvcnkgcGF0aCBmb3IgcGFja2FnZSBpbnN0YWxsYXRpb24gZG9lc24ndCBleGlzdCAtIFwiJHtucG1QYXRofVwiLmApXG4gIHRyeSB7XG4gICAgY2hpbGRQcm9jZXNzLnNwYXduU3luYygnbnBtJywgWydpbnN0YWxsJywgLi4uZmxhZ10sIHsgY3dkOiBucG1QYXRoLCBzaGVsbDogdHJ1ZSwgc3RkaW86IFswLCAxLCAyXSB9KVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUubG9nKCfigKIgRVJST1IgLSBjaGlsZHByb2Nlc3MgZXJyb3IuJylcbiAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICBwcm9jZXNzLmV4aXQoMSlcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/source/packageInstallation/nodejsPackage/installPackageUsingYarn.js b/source/packageInstallation/nodejsPackage/installPackageUsingYarn.js index f9af816..6d9d5d3 100644 --- a/source/packageInstallation/nodejsPackage/installPackageUsingYarn.js +++ b/source/packageInstallation/nodejsPackage/installPackageUsingYarn.js @@ -1,16 +1,17 @@ -import childProcess from 'child_process' -import assert from 'assert' -import { sync as binaryExist } from 'command-exists' -import filesystem from 'fs' +"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports.installYarn = installYarn;var _child_process = _interopRequireDefault(require("child_process")); +var _assert = _interopRequireDefault(require("assert")); +var _commandExists = require("command-exists"); +var _fs = _interopRequireDefault(require("fs")); -export function installYarn({ yarnPath }) { - assert(binaryExist('yarn'), '• "yarn" binary should be installed in the environment.') - assert(filesystem.existsSync(yarnPath), `• Directory path for package installation doesn't exist - "${yarnPath}".`) +function installYarn({ yarnPath }) { + (0, _assert.default)((0, _commandExists.sync)('yarn'), '• "yarn" binary should be installed in the environment.'); + (0, _assert.default)(_fs.default.existsSync(yarnPath), `• Directory path for package installation doesn't exist - "${yarnPath}".`); try { - childProcess.execSync('yarn install -y', { cwd: yarnPath, shell: true, stdio: [0, 1, 2] }) + _child_process.default.execSync('yarn install -y', { cwd: yarnPath, shell: true, stdio: [0, 1, 2] }); } catch (error) { - console.log('• ERROR - childprocess error.') - console.log(error) - process.exit(1) + console.log('• ERROR - childprocess error.'); + console.log(error); + process.exit(1); } } +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvdXJjZS9wYWNrYWdlSW5zdGFsbGF0aW9uL25vZGVqc1BhY2thZ2UvaW5zdGFsbFBhY2thZ2VVc2luZ1lhcm4uanMiXSwibmFtZXMiOlsiaW5zdGFsbFlhcm4iLCJ5YXJuUGF0aCIsImZpbGVzeXN0ZW0iLCJleGlzdHNTeW5jIiwiY2hpbGRQcm9jZXNzIiwiZXhlY1N5bmMiLCJjd2QiLCJzaGVsbCIsInN0ZGlvIiwiZXJyb3IiLCJjb25zb2xlIiwibG9nIiwicHJvY2VzcyIsImV4aXQiXSwibWFwcGluZ3MiOiJrTUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFTyxTQUFTQSxXQUFULENBQXFCLEVBQUVDLFFBQUYsRUFBckIsRUFBbUM7QUFDeEMsdUJBQU8seUJBQVksTUFBWixDQUFQLEVBQTRCLHlEQUE1QjtBQUNBLHVCQUFPQyxZQUFXQyxVQUFYLENBQXNCRixRQUF0QixDQUFQLEVBQXlDLDhEQUE2REEsUUFBUyxJQUEvRztBQUNBLE1BQUk7QUFDRkcsMkJBQWFDLFFBQWIsQ0FBc0IsaUJBQXRCLEVBQXlDLEVBQUVDLEdBQUcsRUFBRUwsUUFBUCxFQUFpQk0sS0FBSyxFQUFFLElBQXhCLEVBQThCQyxLQUFLLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSixFQUFPLENBQVAsQ0FBckMsRUFBekM7QUFDRCxHQUZELENBRUUsT0FBT0MsS0FBUCxFQUFjO0FBQ2RDLElBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZLCtCQUFaO0FBQ0FELElBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZRixLQUFaO0FBQ0FHLElBQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUFhLENBQWI7QUFDRDtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoaWxkUHJvY2VzcyBmcm9tICdjaGlsZF9wcm9jZXNzJ1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnXG5pbXBvcnQgeyBzeW5jIGFzIGJpbmFyeUV4aXN0IH0gZnJvbSAnY29tbWFuZC1leGlzdHMnXG5pbXBvcnQgZmlsZXN5c3RlbSBmcm9tICdmcydcblxuZXhwb3J0IGZ1bmN0aW9uIGluc3RhbGxZYXJuKHsgeWFyblBhdGggfSkge1xuICBhc3NlcnQoYmluYXJ5RXhpc3QoJ3lhcm4nKSwgJ+KAoiBcInlhcm5cIiBiaW5hcnkgc2hvdWxkIGJlIGluc3RhbGxlZCBpbiB0aGUgZW52aXJvbm1lbnQuJylcbiAgYXNzZXJ0KGZpbGVzeXN0ZW0uZXhpc3RzU3luYyh5YXJuUGF0aCksIGDigKIgRGlyZWN0b3J5IHBhdGggZm9yIHBhY2thZ2UgaW5zdGFsbGF0aW9uIGRvZXNuJ3QgZXhpc3QgLSBcIiR7eWFyblBhdGh9XCIuYClcbiAgdHJ5IHtcbiAgICBjaGlsZFByb2Nlc3MuZXhlY1N5bmMoJ3lhcm4gaW5zdGFsbCAteScsIHsgY3dkOiB5YXJuUGF0aCwgc2hlbGw6IHRydWUsIHN0ZGlvOiBbMCwgMSwgMl0gfSlcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmxvZygn4oCiIEVSUk9SIC0gY2hpbGRwcm9jZXNzIGVycm9yLicpXG4gICAgY29uc29sZS5sb2coZXJyb3IpXG4gICAgcHJvY2Vzcy5leGl0KDEpXG4gIH1cbn1cbiJdfQ== \ No newline at end of file diff --git a/source/packageInstallation/unixPackage/installDocker.js b/source/packageInstallation/unixPackage/installDocker.js index c2bb2bf..c2931f3 100644 --- a/source/packageInstallation/unixPackage/installDocker.js +++ b/source/packageInstallation/unixPackage/installDocker.js @@ -1,28 +1,29 @@ -const childProcessOption = { cwd: __dirname, shell: true, stdio: [0, 1, 2] } -const childProcess = require('child_process') -const { sync: binaryExist } = require('command-exists') - -/* Install docker client: https://davidburela.wordpress.com/2018/06/27/running-docker-on-wsl-windows-subsystem-for-linux/ - After which docker command will run WSL Docker Client to Windows Docker Engine - ```WSL - docker ps - ``` -*/ -export function install() { - if (binaryExist('docker')) console.log('✔ docker is installed.') - else - childProcess.execSync( - [ - `sudo apt-get update -y && sudo apt-get upgrade -y`, - `sudo apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common`, - `curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -`, - `sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable nightly"`, - `sudo apt-get update -y`, - `sudo apt-get install -y docker-ce docker-ce-cli containerd.io`, - `sudo usermod -aG docker $USER`, - // If this variable doesn't persist between PC reboots, then add `export DOCKER_HOST=tcp://127.0.0.1:2375` to .bashrc or the current shell config file, so it will run each time shell is initialized. - `export DOCKER_HOST=tcp://127.0.0.1:2375`, - ].join(' && \\\n'), - childProcessOption, - ) -} +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.install = install;const childProcessOption = { cwd: __dirname, shell: true, stdio: [0, 1, 2] }; +const childProcess = require('child_process'); +const { sync: binaryExist } = require('command-exists'); + + + + + + + +function install() { + if (binaryExist('docker')) console.log('✔ docker is installed.');else + + childProcess.execSync( + [ + `sudo apt-get update -y && sudo apt-get upgrade -y`, + `sudo apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common`, + `curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -`, + `sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable nightly"`, + `sudo apt-get update -y`, + `sudo apt-get install -y docker-ce docker-ce-cli containerd.io`, + `sudo usermod -aG docker $USER`, + + `export DOCKER_HOST=tcp://127.0.0.1:2375`]. + join(' && \\\n'), + childProcessOption); + +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvdXJjZS9wYWNrYWdlSW5zdGFsbGF0aW9uL3VuaXhQYWNrYWdlL2luc3RhbGxEb2NrZXIuanMiXSwibmFtZXMiOlsiY2hpbGRQcm9jZXNzT3B0aW9uIiwiY3dkIiwiX19kaXJuYW1lIiwic2hlbGwiLCJzdGRpbyIsImNoaWxkUHJvY2VzcyIsInJlcXVpcmUiLCJzeW5jIiwiYmluYXJ5RXhpc3QiLCJpbnN0YWxsIiwiY29uc29sZSIsImxvZyIsImV4ZWNTeW5jIiwiam9pbiJdLCJtYXBwaW5ncyI6InFHQUFBLE1BQU1BLGtCQUFrQixHQUFHLEVBQUVDLEdBQUcsRUFBRUMsU0FBUCxFQUFrQkMsS0FBSyxFQUFFLElBQXpCLEVBQStCQyxLQUFLLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSixFQUFPLENBQVAsQ0FBdEMsRUFBM0I7QUFDQSxNQUFNQyxZQUFZLEdBQUdDLE9BQU8sQ0FBQyxlQUFELENBQTVCO0FBQ0EsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFdBQVIsS0FBd0JGLE9BQU8sQ0FBQyxnQkFBRCxDQUFyQzs7Ozs7Ozs7QUFRTyxTQUFTRyxPQUFULEdBQW1CO0FBQ3hCLE1BQUlELFdBQVcsQ0FBQyxRQUFELENBQWYsRUFBMkJFLE9BQU8sQ0FBQ0MsR0FBUixDQUFZLHdCQUFaLEVBQTNCOztBQUVFTixFQUFBQSxZQUFZLENBQUNPLFFBQWI7QUFDRTtBQUNHLHFEQURIO0FBRUcsc0dBRkg7QUFHRyxnRkFISDtBQUlHLHlIQUpIO0FBS0csMEJBTEg7QUFNRyxpRUFOSDtBQU9HLGlDQVBIOztBQVNHLDJDQVRIO0FBVUVDLEVBQUFBLElBVkYsQ0FVTyxVQVZQLENBREY7QUFZRWIsRUFBQUEsa0JBWkY7O0FBY0giLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjaGlsZFByb2Nlc3NPcHRpb24gPSB7IGN3ZDogX19kaXJuYW1lLCBzaGVsbDogdHJ1ZSwgc3RkaW86IFswLCAxLCAyXSB9XHJcbmNvbnN0IGNoaWxkUHJvY2VzcyA9IHJlcXVpcmUoJ2NoaWxkX3Byb2Nlc3MnKVxyXG5jb25zdCB7IHN5bmM6IGJpbmFyeUV4aXN0IH0gPSByZXF1aXJlKCdjb21tYW5kLWV4aXN0cycpXHJcblxyXG4vKiBJbnN0YWxsIGRvY2tlciBjbGllbnQ6IGh0dHBzOi8vZGF2aWRidXJlbGEud29yZHByZXNzLmNvbS8yMDE4LzA2LzI3L3J1bm5pbmctZG9ja2VyLW9uLXdzbC13aW5kb3dzLXN1YnN5c3RlbS1mb3ItbGludXgvXHJcbiAgQWZ0ZXIgd2hpY2ggZG9ja2VyIGNvbW1hbmQgd2lsbCBydW4gV1NMIERvY2tlciBDbGllbnQgdG8gV2luZG93cyBEb2NrZXIgRW5naW5lXHJcbiAgYGBgV1NMXHJcbiAgZG9ja2VyIHBzIFxyXG4gIGBgYFxyXG4qL1xyXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFsbCgpIHtcclxuICBpZiAoYmluYXJ5RXhpc3QoJ2RvY2tlcicpKSBjb25zb2xlLmxvZygn4pyUIGRvY2tlciBpcyBpbnN0YWxsZWQuJylcclxuICBlbHNlXHJcbiAgICBjaGlsZFByb2Nlc3MuZXhlY1N5bmMoXHJcbiAgICAgIFtcclxuICAgICAgICBgc3VkbyBhcHQtZ2V0IHVwZGF0ZSAteSAmJiBzdWRvIGFwdC1nZXQgdXBncmFkZSAteWAsXHJcbiAgICAgICAgYHN1ZG8gYXB0LWdldCBpbnN0YWxsIC15IGFwdC10cmFuc3BvcnQtaHR0cHMgY2EtY2VydGlmaWNhdGVzIGN1cmwgZ251cGcyIHNvZnR3YXJlLXByb3BlcnRpZXMtY29tbW9uYCxcclxuICAgICAgICBgY3VybCAtZnNTTCBodHRwczovL2Rvd25sb2FkLmRvY2tlci5jb20vbGludXgvZGViaWFuL2dwZyB8IHN1ZG8gYXB0LWtleSBhZGQgLWAsXHJcbiAgICAgICAgYHN1ZG8gYWRkLWFwdC1yZXBvc2l0b3J5IFwiZGViIFthcmNoPWFtZDY0XSBodHRwczovL2Rvd25sb2FkLmRvY2tlci5jb20vbGludXgvZGViaWFuICQobHNiX3JlbGVhc2UgLWNzKSBzdGFibGUgbmlnaHRseVwiYCxcclxuICAgICAgICBgc3VkbyBhcHQtZ2V0IHVwZGF0ZSAteWAsXHJcbiAgICAgICAgYHN1ZG8gYXB0LWdldCBpbnN0YWxsIC15IGRvY2tlci1jZSBkb2NrZXItY2UtY2xpIGNvbnRhaW5lcmQuaW9gLFxyXG4gICAgICAgIGBzdWRvIHVzZXJtb2QgLWFHIGRvY2tlciAkVVNFUmAsXHJcbiAgICAgICAgLy8gSWYgdGhpcyB2YXJpYWJsZSBkb2Vzbid0IHBlcnNpc3QgYmV0d2VlbiBQQyByZWJvb3RzLCB0aGVuIGFkZCBgZXhwb3J0IERPQ0tFUl9IT1NUPXRjcDovLzEyNy4wLjAuMToyMzc1YCB0byAuYmFzaHJjIG9yIHRoZSBjdXJyZW50IHNoZWxsIGNvbmZpZyBmaWxlLCBzbyBpdCB3aWxsIHJ1biBlYWNoIHRpbWUgc2hlbGwgaXMgaW5pdGlhbGl6ZWQuXHJcbiAgICAgICAgYGV4cG9ydCBET0NLRVJfSE9TVD10Y3A6Ly8xMjcuMC4wLjE6MjM3NWAsXHJcbiAgICAgIF0uam9pbignICYmIFxcXFxcXG4nKSxcclxuICAgICAgY2hpbGRQcm9jZXNzT3B0aW9uLFxyXG4gICAgKVxyXG59XHJcbiJdfQ== \ No newline at end of file diff --git a/source/packageInstallation/unixPackage/installGit.js b/source/packageInstallation/unixPackage/installGit.js index 94a378a..273d890 100644 --- a/source/packageInstallation/unixPackage/installGit.js +++ b/source/packageInstallation/unixPackage/installGit.js @@ -1,8 +1,9 @@ -const childProcess = require('child_process') -const childProcessOption = { cwd: __dirname, shell: true, stdio: [0, 1, 2] } -const { sync: binaryExist } = require('command-exists') - -export function install() { - if (binaryExist('git')) console.log('✔ git is installed.') - else childProcess.execSync('sudo apt install git', childProcessOption) -} +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.install = install;const childProcess = require('child_process'); +const childProcessOption = { cwd: __dirname, shell: true, stdio: [0, 1, 2] }; +const { sync: binaryExist } = require('command-exists'); + +function install() { + if (binaryExist('git')) console.log('✔ git is installed.');else + childProcess.execSync('sudo apt install git', childProcessOption); +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvdXJjZS9wYWNrYWdlSW5zdGFsbGF0aW9uL3VuaXhQYWNrYWdlL2luc3RhbGxHaXQuanMiXSwibmFtZXMiOlsiY2hpbGRQcm9jZXNzIiwicmVxdWlyZSIsImNoaWxkUHJvY2Vzc09wdGlvbiIsImN3ZCIsIl9fZGlybmFtZSIsInNoZWxsIiwic3RkaW8iLCJzeW5jIiwiYmluYXJ5RXhpc3QiLCJpbnN0YWxsIiwiY29uc29sZSIsImxvZyIsImV4ZWNTeW5jIl0sIm1hcHBpbmdzIjoicUdBQUEsTUFBTUEsWUFBWSxHQUFHQyxPQUFPLENBQUMsZUFBRCxDQUE1QjtBQUNBLE1BQU1DLGtCQUFrQixHQUFHLEVBQUVDLEdBQUcsRUFBRUMsU0FBUCxFQUFrQkMsS0FBSyxFQUFFLElBQXpCLEVBQStCQyxLQUFLLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSixFQUFPLENBQVAsQ0FBdEMsRUFBM0I7QUFDQSxNQUFNLEVBQUVDLElBQUksRUFBRUMsV0FBUixLQUF3QlAsT0FBTyxDQUFDLGdCQUFELENBQXJDOztBQUVPLFNBQVNRLE9BQVQsR0FBbUI7QUFDeEIsTUFBSUQsV0FBVyxDQUFDLEtBQUQsQ0FBZixFQUF3QkUsT0FBTyxDQUFDQyxHQUFSLENBQVkscUJBQVosRUFBeEI7QUFDS1gsRUFBQUEsWUFBWSxDQUFDWSxRQUFiLENBQXNCLHNCQUF0QixFQUE4Q1Ysa0JBQTlDO0FBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjaGlsZFByb2Nlc3MgPSByZXF1aXJlKCdjaGlsZF9wcm9jZXNzJylcclxuY29uc3QgY2hpbGRQcm9jZXNzT3B0aW9uID0geyBjd2Q6IF9fZGlybmFtZSwgc2hlbGw6IHRydWUsIHN0ZGlvOiBbMCwgMSwgMl0gfVxyXG5jb25zdCB7IHN5bmM6IGJpbmFyeUV4aXN0IH0gPSByZXF1aXJlKCdjb21tYW5kLWV4aXN0cycpXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFsbCgpIHtcclxuICBpZiAoYmluYXJ5RXhpc3QoJ2dpdCcpKSBjb25zb2xlLmxvZygn4pyUIGdpdCBpcyBpbnN0YWxsZWQuJylcclxuICBlbHNlIGNoaWxkUHJvY2Vzcy5leGVjU3luYygnc3VkbyBhcHQgaW5zdGFsbCBnaXQnLCBjaGlsZFByb2Nlc3NPcHRpb24pXHJcbn1cclxuIl19 \ No newline at end of file diff --git a/source/packageInstallation/unixPackage/installJSPM.js b/source/packageInstallation/unixPackage/installJSPM.js index 05f3bb9..2b9fbfb 100644 --- a/source/packageInstallation/unixPackage/installJSPM.js +++ b/source/packageInstallation/unixPackage/installJSPM.js @@ -1,10 +1,11 @@ -const childProcess = require('child_process') -const assert = require('assert') -const childProcessOption = { cwd: __dirname, shell: true, stdio: [0, 1, 2] } -const { sync: binaryExist } = require('command-exists') - -export function install() { - assert(binaryExist('yarn'), `• jspm installation is dependent on 'yarn' binary existance.`) - if (binaryExist('jspm')) console.log('✔ jspm is installed.') - else childProcess.execSync(`yarn global add jspm`, childProcessOption) -} +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.install = install;const childProcess = require('child_process'); +const assert = require('assert'); +const childProcessOption = { cwd: __dirname, shell: true, stdio: [0, 1, 2] }; +const { sync: binaryExist } = require('command-exists'); + +function install() { + assert(binaryExist('yarn'), `• jspm installation is dependent on 'yarn' binary existance.`); + if (binaryExist('jspm')) console.log('✔ jspm is installed.');else + childProcess.execSync(`yarn global add jspm`, childProcessOption); +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvdXJjZS9wYWNrYWdlSW5zdGFsbGF0aW9uL3VuaXhQYWNrYWdlL2luc3RhbGxKU1BNLmpzIl0sIm5hbWVzIjpbImNoaWxkUHJvY2VzcyIsInJlcXVpcmUiLCJhc3NlcnQiLCJjaGlsZFByb2Nlc3NPcHRpb24iLCJjd2QiLCJfX2Rpcm5hbWUiLCJzaGVsbCIsInN0ZGlvIiwic3luYyIsImJpbmFyeUV4aXN0IiwiaW5zdGFsbCIsImNvbnNvbGUiLCJsb2ciLCJleGVjU3luYyJdLCJtYXBwaW5ncyI6InFHQUFBLE1BQU1BLFlBQVksR0FBR0MsT0FBTyxDQUFDLGVBQUQsQ0FBNUI7QUFDQSxNQUFNQyxNQUFNLEdBQUdELE9BQU8sQ0FBQyxRQUFELENBQXRCO0FBQ0EsTUFBTUUsa0JBQWtCLEdBQUcsRUFBRUMsR0FBRyxFQUFFQyxTQUFQLEVBQWtCQyxLQUFLLEVBQUUsSUFBekIsRUFBK0JDLEtBQUssRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKLEVBQU8sQ0FBUCxDQUF0QyxFQUEzQjtBQUNBLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxXQUFSLEtBQXdCUixPQUFPLENBQUMsZ0JBQUQsQ0FBckM7O0FBRU8sU0FBU1MsT0FBVCxHQUFtQjtBQUN4QlIsRUFBQUEsTUFBTSxDQUFDTyxXQUFXLENBQUMsTUFBRCxDQUFaLEVBQXVCLDhEQUF2QixDQUFOO0FBQ0EsTUFBSUEsV0FBVyxDQUFDLE1BQUQsQ0FBZixFQUF5QkUsT0FBTyxDQUFDQyxHQUFSLENBQVksc0JBQVosRUFBekI7QUFDS1osRUFBQUEsWUFBWSxDQUFDYSxRQUFiLENBQXVCLHNCQUF2QixFQUE4Q1Ysa0JBQTlDO0FBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjaGlsZFByb2Nlc3MgPSByZXF1aXJlKCdjaGlsZF9wcm9jZXNzJylcclxuY29uc3QgYXNzZXJ0ID0gcmVxdWlyZSgnYXNzZXJ0JylcclxuY29uc3QgY2hpbGRQcm9jZXNzT3B0aW9uID0geyBjd2Q6IF9fZGlybmFtZSwgc2hlbGw6IHRydWUsIHN0ZGlvOiBbMCwgMSwgMl0gfVxyXG5jb25zdCB7IHN5bmM6IGJpbmFyeUV4aXN0IH0gPSByZXF1aXJlKCdjb21tYW5kLWV4aXN0cycpXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFsbCgpIHtcclxuICBhc3NlcnQoYmluYXJ5RXhpc3QoJ3lhcm4nKSwgYOKAoiBqc3BtIGluc3RhbGxhdGlvbiBpcyBkZXBlbmRlbnQgb24gJ3lhcm4nIGJpbmFyeSBleGlzdGFuY2UuYClcclxuICBpZiAoYmluYXJ5RXhpc3QoJ2pzcG0nKSkgY29uc29sZS5sb2coJ+KclCBqc3BtIGlzIGluc3RhbGxlZC4nKVxyXG4gIGVsc2UgY2hpbGRQcm9jZXNzLmV4ZWNTeW5jKGB5YXJuIGdsb2JhbCBhZGQganNwbWAsIGNoaWxkUHJvY2Vzc09wdGlvbilcclxufVxyXG4iXX0= \ No newline at end of file diff --git a/source/packageInstallation/unixPackage/installShellZsh.js b/source/packageInstallation/unixPackage/installShellZsh.js index 46064f3..7af245d 100644 --- a/source/packageInstallation/unixPackage/installShellZsh.js +++ b/source/packageInstallation/unixPackage/installShellZsh.js @@ -1,37 +1,38 @@ -const childProcess = require('child_process') -const childProcessOption = { cwd: __dirname, shell: true, stdio: [0, 1, 2] } -const { sync: binaryExist } = require('command-exists') - -/* -- zsh + oh my zsh - - Theme: - - https://github.com/romkatv/powerlevel10k - - https://github.com/bhilburn/powerlevel9k/wiki/Install-Instructions#step-1-install-powerlevel9k - - plugin: - - https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md - - https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md - - https://github.com/zsh-users/zsh-completions - - https://github.com/zsh-users/zsh-history-substring-search - - https://github.com/robbyrussell/oh-my-zsh - - Note when installing oh-my-zsh - To prevent issues with line endings when installing `oh-my-zsh` from curl or get from github repo, set git config for crlf to false. i.e. using shell `git config --global core.autocrlf false` - - https://www.youtube.com/watch?v=ZAYDoE9Wmkc - - change default shell - http://www.peachpit.com/articles/article.aspx?p=659655&seqNum=3 -*/ -export function install() { - if (binaryExist('zsh')) console.log('✔ zsh is installed.') - else { - childProcess.execSync(`sudo apt-get install -y zsh`, childProcessOption) - // oh-my-zsh - childProcess.execSync(`sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"`, childProcessOption) - // plugins - childProcess.execSync(`git clone https://github.com/zsh-users/zsh-autosuggestions \${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions`, childProcessOption) - childProcess.execSync(`git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting`, childProcessOption) - childProcess.execSync(`git clone https://github.com/zsh-users/zsh-completions \${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-completions`, childProcessOption) - childProcess.execSync(`git clone https://github.com/zsh-users/zsh-history-substring-search \${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search`, childProcessOption) - // powerlevel10k theme - childProcess.execSync(`git clone https://github.com/romkatv/powerlevel10k.git \${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k`, childProcessOption) - // set default shell - make zsh default shell. - childProcess.execSync(`sudo chsh --shell $(which zsh)`, childProcessOption) - childProcess.execSync(`echo "Current shell: $SHELL"`, childProcessOption) - } -} +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.install = install;const childProcess = require('child_process'); +const childProcessOption = { cwd: __dirname, shell: true, stdio: [0, 1, 2] }; +const { sync: binaryExist } = require('command-exists'); + + + + + + + + + + + + + + + + +function install() { + if (binaryExist('zsh')) console.log('✔ zsh is installed.');else + { + childProcess.execSync(`sudo apt-get install -y zsh`, childProcessOption); + + childProcess.execSync(`sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"`, childProcessOption); + + childProcess.execSync(`git clone https://github.com/zsh-users/zsh-autosuggestions \${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions`, childProcessOption); + childProcess.execSync(`git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting`, childProcessOption); + childProcess.execSync(`git clone https://github.com/zsh-users/zsh-completions \${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-completions`, childProcessOption); + childProcess.execSync(`git clone https://github.com/zsh-users/zsh-history-substring-search \${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search`, childProcessOption); + + childProcess.execSync(`git clone https://github.com/romkatv/powerlevel10k.git \${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k`, childProcessOption); + + childProcess.execSync(`sudo chsh --shell $(which zsh)`, childProcessOption); + childProcess.execSync(`echo "Current shell: $SHELL"`, childProcessOption); + } +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvdXJjZS9wYWNrYWdlSW5zdGFsbGF0aW9uL3VuaXhQYWNrYWdlL2luc3RhbGxTaGVsbFpzaC5qcyJdLCJuYW1lcyI6WyJjaGlsZFByb2Nlc3MiLCJyZXF1aXJlIiwiY2hpbGRQcm9jZXNzT3B0aW9uIiwiY3dkIiwiX19kaXJuYW1lIiwic2hlbGwiLCJzdGRpbyIsInN5bmMiLCJiaW5hcnlFeGlzdCIsImluc3RhbGwiLCJjb25zb2xlIiwibG9nIiwiZXhlY1N5bmMiXSwibWFwcGluZ3MiOiJxR0FBQSxNQUFNQSxZQUFZLEdBQUdDLE9BQU8sQ0FBQyxlQUFELENBQTVCO0FBQ0EsTUFBTUMsa0JBQWtCLEdBQUcsRUFBRUMsR0FBRyxFQUFFQyxTQUFQLEVBQWtCQyxLQUFLLEVBQUUsSUFBekIsRUFBK0JDLEtBQUssRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKLEVBQU8sQ0FBUCxDQUF0QyxFQUEzQjtBQUNBLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxXQUFSLEtBQXdCUCxPQUFPLENBQUMsZ0JBQUQsQ0FBckM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUJPLFNBQVNRLE9BQVQsR0FBbUI7QUFDeEIsTUFBSUQsV0FBVyxDQUFDLEtBQUQsQ0FBZixFQUF3QkUsT0FBTyxDQUFDQyxHQUFSLENBQVkscUJBQVosRUFBeEI7QUFDSztBQUNIWCxJQUFBQSxZQUFZLENBQUNZLFFBQWIsQ0FBdUIsNkJBQXZCLEVBQXFEVixrQkFBckQ7O0FBRUFGLElBQUFBLFlBQVksQ0FBQ1ksUUFBYixDQUF1Qix3R0FBdkIsRUFBZ0lWLGtCQUFoSTs7QUFFQUYsSUFBQUEsWUFBWSxDQUFDWSxRQUFiLENBQXVCLDRIQUF2QixFQUFvSlYsa0JBQXBKO0FBQ0FGLElBQUFBLFlBQVksQ0FBQ1ksUUFBYixDQUF1Qix3SUFBdkIsRUFBZ0tWLGtCQUFoSztBQUNBRixJQUFBQSxZQUFZLENBQUNZLFFBQWIsQ0FBdUIsb0hBQXZCLEVBQTRJVixrQkFBNUk7QUFDQUYsSUFBQUEsWUFBWSxDQUFDWSxRQUFiLENBQXVCLDhJQUF2QixFQUFzS1Ysa0JBQXRLOztBQUVBRixJQUFBQSxZQUFZLENBQUNZLFFBQWIsQ0FBdUIsaUhBQXZCLEVBQXlJVixrQkFBekk7O0FBRUFGLElBQUFBLFlBQVksQ0FBQ1ksUUFBYixDQUF1QixnQ0FBdkIsRUFBd0RWLGtCQUF4RDtBQUNBRixJQUFBQSxZQUFZLENBQUNZLFFBQWIsQ0FBdUIsOEJBQXZCLEVBQXNEVixrQkFBdEQ7QUFDRDtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY2hpbGRQcm9jZXNzID0gcmVxdWlyZSgnY2hpbGRfcHJvY2VzcycpXHJcbmNvbnN0IGNoaWxkUHJvY2Vzc09wdGlvbiA9IHsgY3dkOiBfX2Rpcm5hbWUsIHNoZWxsOiB0cnVlLCBzdGRpbzogWzAsIDEsIDJdIH1cclxuY29uc3QgeyBzeW5jOiBiaW5hcnlFeGlzdCB9ID0gcmVxdWlyZSgnY29tbWFuZC1leGlzdHMnKVxyXG5cclxuLypcclxuLSB6c2ggKyBvaCBteSB6c2ggXHJcbiAgICAtIFRoZW1lOlxyXG4gICAgICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3JvbWthdHYvcG93ZXJsZXZlbDEwa1xyXG4gICAgICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL2JoaWxidXJuL3Bvd2VybGV2ZWw5ay93aWtpL0luc3RhbGwtSW5zdHJ1Y3Rpb25zI3N0ZXAtMS1pbnN0YWxsLXBvd2VybGV2ZWw5a1xyXG4gICAgLSBwbHVnaW46IFxyXG4gICAgICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3pzaC11c2Vycy96c2gtYXV0b3N1Z2dlc3Rpb25zL2Jsb2IvbWFzdGVyL0lOU1RBTEwubWRcclxuICAgICAgICAtIGh0dHBzOi8vZ2l0aHViLmNvbS96c2gtdXNlcnMvenNoLXN5bnRheC1oaWdobGlnaHRpbmcvYmxvYi9tYXN0ZXIvSU5TVEFMTC5tZFxyXG4gICAgICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3pzaC11c2Vycy96c2gtY29tcGxldGlvbnNcclxuICAgICAgICAtIGh0dHBzOi8vZ2l0aHViLmNvbS96c2gtdXNlcnMvenNoLWhpc3Rvcnktc3Vic3RyaW5nLXNlYXJjaFxyXG4gICAgLSBodHRwczovL2dpdGh1Yi5jb20vcm9iYnlydXNzZWxsL29oLW15LXpzaFxyXG4gICAgLSBOb3RlIHdoZW4gaW5zdGFsbGluZyBvaC1teS16c2ggLSBUbyBwcmV2ZW50IGlzc3VlcyB3aXRoIGxpbmUgZW5kaW5ncyB3aGVuIGluc3RhbGxpbmcgYG9oLW15LXpzaGAgZnJvbSBjdXJsIG9yIGdldCBmcm9tIGdpdGh1YiByZXBvLCBzZXQgZ2l0IGNvbmZpZyBmb3IgY3JsZiB0byBmYWxzZS4gaS5lLiB1c2luZyBzaGVsbCBgZ2l0IGNvbmZpZyAtLWdsb2JhbCBjb3JlLmF1dG9jcmxmIGZhbHNlYFxyXG4gICAgLSBodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVpBWURvRTlXbWtjXHJcbiAgICAtIGNoYW5nZSBkZWZhdWx0IHNoZWxsIC0gaHR0cDovL3d3dy5wZWFjaHBpdC5jb20vYXJ0aWNsZXMvYXJ0aWNsZS5hc3B4P3A9NjU5NjU1JnNlcU51bT0zXHJcbiovXHJcbmV4cG9ydCBmdW5jdGlvbiBpbnN0YWxsKCkge1xyXG4gIGlmIChiaW5hcnlFeGlzdCgnenNoJykpIGNvbnNvbGUubG9nKCfinJQgenNoIGlzIGluc3RhbGxlZC4nKVxyXG4gIGVsc2Uge1xyXG4gICAgY2hpbGRQcm9jZXNzLmV4ZWNTeW5jKGBzdWRvIGFwdC1nZXQgaW5zdGFsbCAteSB6c2hgLCBjaGlsZFByb2Nlc3NPcHRpb24pXHJcbiAgICAvLyBvaC1teS16c2hcclxuICAgIGNoaWxkUHJvY2Vzcy5leGVjU3luYyhgc2ggLWMgXCIkKGN1cmwgLWZzU0wgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3JvYmJ5cnVzc2VsbC9vaC1teS16c2gvbWFzdGVyL3Rvb2xzL2luc3RhbGwuc2gpXCJgLCBjaGlsZFByb2Nlc3NPcHRpb24pXHJcbiAgICAvLyBwbHVnaW5zXHJcbiAgICBjaGlsZFByb2Nlc3MuZXhlY1N5bmMoYGdpdCBjbG9uZSBodHRwczovL2dpdGh1Yi5jb20venNoLXVzZXJzL3pzaC1hdXRvc3VnZ2VzdGlvbnMgXFwke1pTSF9DVVNUT006LX4vLm9oLW15LXpzaC9jdXN0b219L3BsdWdpbnMvenNoLWF1dG9zdWdnZXN0aW9uc2AsIGNoaWxkUHJvY2Vzc09wdGlvbilcclxuICAgIGNoaWxkUHJvY2Vzcy5leGVjU3luYyhgZ2l0IGNsb25lIGh0dHBzOi8vZ2l0aHViLmNvbS96c2gtdXNlcnMvenNoLXN5bnRheC1oaWdobGlnaHRpbmcuZ2l0IFxcJHtaU0hfQ1VTVE9NOi1+Ly5vaC1teS16c2gvY3VzdG9tfS9wbHVnaW5zL3pzaC1zeW50YXgtaGlnaGxpZ2h0aW5nYCwgY2hpbGRQcm9jZXNzT3B0aW9uKVxyXG4gICAgY2hpbGRQcm9jZXNzLmV4ZWNTeW5jKGBnaXQgY2xvbmUgaHR0cHM6Ly9naXRodWIuY29tL3pzaC11c2Vycy96c2gtY29tcGxldGlvbnMgXFwke1pTSF9DVVNUT006LX4vLm9oLW15LXpzaC9jdXN0b219L3BsdWdpbnMvenNoLWNvbXBsZXRpb25zYCwgY2hpbGRQcm9jZXNzT3B0aW9uKVxyXG4gICAgY2hpbGRQcm9jZXNzLmV4ZWNTeW5jKGBnaXQgY2xvbmUgaHR0cHM6Ly9naXRodWIuY29tL3pzaC11c2Vycy96c2gtaGlzdG9yeS1zdWJzdHJpbmctc2VhcmNoIFxcJHtaU0hfQ1VTVE9NOi1+Ly5vaC1teS16c2gvY3VzdG9tfS9wbHVnaW5zL3pzaC1oaXN0b3J5LXN1YnN0cmluZy1zZWFyY2hgLCBjaGlsZFByb2Nlc3NPcHRpb24pXHJcbiAgICAvLyBwb3dlcmxldmVsMTBrIHRoZW1lXHJcbiAgICBjaGlsZFByb2Nlc3MuZXhlY1N5bmMoYGdpdCBjbG9uZSBodHRwczovL2dpdGh1Yi5jb20vcm9ta2F0di9wb3dlcmxldmVsMTBrLmdpdCBcXCR7WlNIX0NVU1RPTTotfi8ub2gtbXktenNoL2N1c3RvbX0vdGhlbWVzL3Bvd2VybGV2ZWwxMGtgLCBjaGlsZFByb2Nlc3NPcHRpb24pXHJcbiAgICAvLyBzZXQgZGVmYXVsdCBzaGVsbCAtIG1ha2UgenNoIGRlZmF1bHQgc2hlbGwuXHJcbiAgICBjaGlsZFByb2Nlc3MuZXhlY1N5bmMoYHN1ZG8gY2hzaCAtLXNoZWxsICQod2hpY2ggenNoKWAsIGNoaWxkUHJvY2Vzc09wdGlvbilcclxuICAgIGNoaWxkUHJvY2Vzcy5leGVjU3luYyhgZWNobyBcIkN1cnJlbnQgc2hlbGw6ICRTSEVMTFwiYCwgY2hpbGRQcm9jZXNzT3B0aW9uKVxyXG4gIH1cclxufVxyXG4iXX0= \ No newline at end of file diff --git a/source/packageInstallation/unixPackage/installYarn.js b/source/packageInstallation/unixPackage/installYarn.js index fed090f..97643a3 100644 --- a/source/packageInstallation/unixPackage/installYarn.js +++ b/source/packageInstallation/unixPackage/installYarn.js @@ -1,53 +1,51 @@ -const childProcess = require('child_process') -const childProcessOption = { cwd: __dirname, shell: true, stdio: [0, 1, 2] } -const { sync: binaryExist } = require('command-exists') -const isWsl = require('is-wsl') -const { sync: getBinaryPath } = require('which') -const filesystem = require('fs') - -export function install() { - let isCommandInstalled - /* Check installation presence: The check for a command in linux doesn't diffrentiate from a command installed in WSL and command installed in Windows. As WSL shares Windows paths, where: - The Windows Yarn command can be accessed from WSL which makes the check positive, even though no installation is present in the WSL side. Therefore a secondary check should be executed to verify that the binary isn't installed in WSL itself, regardless of wether it exists in Windows side. - */ - // check environment - if WSL on Windows - - if (binaryExist('yarn') && isWsl) { - // compare binary command path to Windows system, checking if the installation is on the Windows or WSL side. - let binaryPath = getBinaryPath('yarn') - let windowsSystemPath = childProcess - .execSync( - `windowsSystemPath="$( powershell.exe -NoProfile -NonInteractive -Command ' $drive=(Get-WmiObject Win32_OperatingSystem).SystemDrive; echo (-join($drive, "\\")) ' )" && echo $windowsSystemPath`, - { cwd: __dirname, encoding: 'utf8' }, // to allow catching returned result - ) - .replace(/\n$/, '') - .trim() // remove new line and white space to prevent comparison issues - let windowsSystemPathInWSL = childProcess - .execSync( - `windowsSystemPathInWSL="$( wslpath -u '${windowsSystemPath}')" && echo $windowsSystemPathInWSL`, - { cwd: __dirname, encoding: 'utf8' }, // to allow catching returned result - ) - .replace(/\n$/, '') - .trim() // remove new line and white space to prevent comparison issues - - // Important note: In cases (e.g. calling script in subprocess or from powershell wsl.exe command) the binary path points to a temporary binary file that redirects to the windows location. - let isWindowsInstallation = - binaryPath.includes(windowsSystemPathInWSL) || (filesystem.existsSync(binaryPath) && filesystem.readFileSync(binaryPath, { encoding: 'utf8' }).includes(windowsSystemPathInWSL)) - // if command is installed in WSL side: - isCommandInstalled = !isWindowsInstallation - } else isCommandInstalled = binaryExist('yarn') - - if (isCommandInstalled) console.log('✔ yarn is installed.') - else - childProcess.execSync( - [ - 'curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -', - 'echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list', - 'sudo apt-get -y update && sudo apt-get install -y yarn', - ].join(' && \\\n'), - childProcessOption, - ) -} - -// Upgrade yarn - -// `curl -o- -L https://yarnpkg.com/install.sh | bash` +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.install = install;const childProcess = require('child_process'); +const childProcessOption = { cwd: __dirname, shell: true, stdio: [0, 1, 2] }; +const { sync: binaryExist } = require('command-exists'); +const isWsl = require('is-wsl'); +const { sync: getBinaryPath } = require('which'); +const filesystem = require('fs'); + +function install() { + let isCommandInstalled; + + + + + + if (binaryExist('yarn') && isWsl) { + + let binaryPath = getBinaryPath('yarn'); + let windowsSystemPath = childProcess. + execSync( + `windowsSystemPath="$( powershell.exe -NoProfile -NonInteractive -Command ' $drive=(Get-WmiObject Win32_OperatingSystem).SystemDrive; echo (-join($drive, "\\")) ' )" && echo $windowsSystemPath`, + { cwd: __dirname, encoding: 'utf8' }). + + replace(/\n$/, ''). + trim(); + let windowsSystemPathInWSL = childProcess. + execSync( + `windowsSystemPathInWSL="$( wslpath -u '${windowsSystemPath}')" && echo $windowsSystemPathInWSL`, + { cwd: __dirname, encoding: 'utf8' }). + + replace(/\n$/, ''). + trim(); + + + let isWindowsInstallation = + binaryPath.includes(windowsSystemPathInWSL) || filesystem.existsSync(binaryPath) && filesystem.readFileSync(binaryPath, { encoding: 'utf8' }).includes(windowsSystemPathInWSL); + + isCommandInstalled = !isWindowsInstallation; + } else isCommandInstalled = binaryExist('yarn'); + + if (isCommandInstalled) console.log('✔ yarn is installed.');else + + childProcess.execSync( + [ + 'curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -', + 'echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list', + 'sudo apt-get -y update && sudo apt-get install -y yarn']. + join(' && \\\n'), + childProcessOption); + +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvdXJjZS9wYWNrYWdlSW5zdGFsbGF0aW9uL3VuaXhQYWNrYWdlL2luc3RhbGxZYXJuLmpzIl0sIm5hbWVzIjpbImNoaWxkUHJvY2VzcyIsInJlcXVpcmUiLCJjaGlsZFByb2Nlc3NPcHRpb24iLCJjd2QiLCJfX2Rpcm5hbWUiLCJzaGVsbCIsInN0ZGlvIiwic3luYyIsImJpbmFyeUV4aXN0IiwiaXNXc2wiLCJnZXRCaW5hcnlQYXRoIiwiZmlsZXN5c3RlbSIsImluc3RhbGwiLCJpc0NvbW1hbmRJbnN0YWxsZWQiLCJiaW5hcnlQYXRoIiwid2luZG93c1N5c3RlbVBhdGgiLCJleGVjU3luYyIsImVuY29kaW5nIiwicmVwbGFjZSIsInRyaW0iLCJ3aW5kb3dzU3lzdGVtUGF0aEluV1NMIiwiaXNXaW5kb3dzSW5zdGFsbGF0aW9uIiwiaW5jbHVkZXMiLCJleGlzdHNTeW5jIiwicmVhZEZpbGVTeW5jIiwiY29uc29sZSIsImxvZyIsImpvaW4iXSwibWFwcGluZ3MiOiJxR0FBQSxNQUFNQSxZQUFZLEdBQUdDLE9BQU8sQ0FBQyxlQUFELENBQTVCO0FBQ0EsTUFBTUMsa0JBQWtCLEdBQUcsRUFBRUMsR0FBRyxFQUFFQyxTQUFQLEVBQWtCQyxLQUFLLEVBQUUsSUFBekIsRUFBK0JDLEtBQUssRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKLEVBQU8sQ0FBUCxDQUF0QyxFQUEzQjtBQUNBLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxXQUFSLEtBQXdCUCxPQUFPLENBQUMsZ0JBQUQsQ0FBckM7QUFDQSxNQUFNUSxLQUFLLEdBQUdSLE9BQU8sQ0FBQyxRQUFELENBQXJCO0FBQ0EsTUFBTSxFQUFFTSxJQUFJLEVBQUVHLGFBQVIsS0FBMEJULE9BQU8sQ0FBQyxPQUFELENBQXZDO0FBQ0EsTUFBTVUsVUFBVSxHQUFHVixPQUFPLENBQUMsSUFBRCxDQUExQjs7QUFFTyxTQUFTVyxPQUFULEdBQW1CO0FBQ3hCLE1BQUlDLGtCQUFKOzs7Ozs7QUFNQSxNQUFJTCxXQUFXLENBQUMsTUFBRCxDQUFYLElBQXVCQyxLQUEzQixFQUFrQzs7QUFFaEMsUUFBSUssVUFBVSxHQUFHSixhQUFhLENBQUMsTUFBRCxDQUE5QjtBQUNBLFFBQUlLLGlCQUFpQixHQUFHZixZQUFZO0FBQ2pDZ0IsSUFBQUEsUUFEcUI7QUFFbkIscU1BRm1CO0FBR3BCLE1BQUViLEdBQUcsRUFBRUMsU0FBUCxFQUFrQmEsUUFBUSxFQUFFLE1BQTVCLEVBSG9COztBQUtyQkMsSUFBQUEsT0FMcUIsQ0FLYixLQUxhLEVBS04sRUFMTTtBQU1yQkMsSUFBQUEsSUFOcUIsRUFBeEI7QUFPQSxRQUFJQyxzQkFBc0IsR0FBR3BCLFlBQVk7QUFDdENnQixJQUFBQSxRQUQwQjtBQUV4Qiw4Q0FBeUNELGlCQUFrQixxQ0FGbkM7QUFHekIsTUFBRVosR0FBRyxFQUFFQyxTQUFQLEVBQWtCYSxRQUFRLEVBQUUsTUFBNUIsRUFIeUI7O0FBSzFCQyxJQUFBQSxPQUwwQixDQUtsQixLQUxrQixFQUtYLEVBTFc7QUFNMUJDLElBQUFBLElBTjBCLEVBQTdCOzs7QUFTQSxRQUFJRSxxQkFBcUI7QUFDdkJQLElBQUFBLFVBQVUsQ0FBQ1EsUUFBWCxDQUFvQkYsc0JBQXBCLEtBQWdEVCxVQUFVLENBQUNZLFVBQVgsQ0FBc0JULFVBQXRCLEtBQXFDSCxVQUFVLENBQUNhLFlBQVgsQ0FBd0JWLFVBQXhCLEVBQW9DLEVBQUVHLFFBQVEsRUFBRSxNQUFaLEVBQXBDLEVBQTBESyxRQUExRCxDQUFtRUYsc0JBQW5FLENBRHZGOztBQUdBUCxJQUFBQSxrQkFBa0IsR0FBRyxDQUFDUSxxQkFBdEI7QUFDRCxHQXZCRCxNQXVCT1Isa0JBQWtCLEdBQUdMLFdBQVcsQ0FBQyxNQUFELENBQWhDOztBQUVQLE1BQUlLLGtCQUFKLEVBQXdCWSxPQUFPLENBQUNDLEdBQVIsQ0FBWSxzQkFBWixFQUF4Qjs7QUFFRTFCLEVBQUFBLFlBQVksQ0FBQ2dCLFFBQWI7QUFDRTtBQUNFLDBFQURGO0FBRUUsc0dBRkY7QUFHRSwwREFIRjtBQUlFVyxFQUFBQSxJQUpGLENBSU8sVUFKUCxDQURGO0FBTUV6QixFQUFBQSxrQkFORjs7QUFRSCIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNoaWxkUHJvY2VzcyA9IHJlcXVpcmUoJ2NoaWxkX3Byb2Nlc3MnKVxyXG5jb25zdCBjaGlsZFByb2Nlc3NPcHRpb24gPSB7IGN3ZDogX19kaXJuYW1lLCBzaGVsbDogdHJ1ZSwgc3RkaW86IFswLCAxLCAyXSB9XHJcbmNvbnN0IHsgc3luYzogYmluYXJ5RXhpc3QgfSA9IHJlcXVpcmUoJ2NvbW1hbmQtZXhpc3RzJylcclxuY29uc3QgaXNXc2wgPSByZXF1aXJlKCdpcy13c2wnKVxyXG5jb25zdCB7IHN5bmM6IGdldEJpbmFyeVBhdGggfSA9IHJlcXVpcmUoJ3doaWNoJylcclxuY29uc3QgZmlsZXN5c3RlbSA9IHJlcXVpcmUoJ2ZzJylcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpbnN0YWxsKCkge1xyXG4gIGxldCBpc0NvbW1hbmRJbnN0YWxsZWRcclxuICAvKiBDaGVjayBpbnN0YWxsYXRpb24gcHJlc2VuY2U6IFRoZSBjaGVjayBmb3IgYSBjb21tYW5kIGluIGxpbnV4IGRvZXNuJ3QgZGlmZnJlbnRpYXRlIGZyb20gYSBjb21tYW5kIGluc3RhbGxlZCBpbiBXU0wgYW5kIGNvbW1hbmQgaW5zdGFsbGVkIGluIFdpbmRvd3MuIEFzIFdTTCBzaGFyZXMgV2luZG93cyBwYXRocywgd2hlcmU6XHJcbiAgICBUaGUgV2luZG93cyBZYXJuIGNvbW1hbmQgY2FuIGJlIGFjY2Vzc2VkIGZyb20gV1NMIHdoaWNoIG1ha2VzIHRoZSBjaGVjayBwb3NpdGl2ZSwgZXZlbiB0aG91Z2ggbm8gaW5zdGFsbGF0aW9uIGlzIHByZXNlbnQgaW4gdGhlIFdTTCBzaWRlLiBUaGVyZWZvcmUgYSBzZWNvbmRhcnkgY2hlY2sgc2hvdWxkIGJlIGV4ZWN1dGVkIHRvIHZlcmlmeSB0aGF0IHRoZSBiaW5hcnkgaXNuJ3QgaW5zdGFsbGVkIGluIFdTTCBpdHNlbGYsIHJlZ2FyZGxlc3Mgb2Ygd2V0aGVyIGl0IGV4aXN0cyBpbiBXaW5kb3dzIHNpZGUuXHJcbiAgKi9cclxuICAvLyBjaGVjayBlbnZpcm9ubWVudCAtIGlmIFdTTCBvbiBXaW5kb3dzXHJcblxyXG4gIGlmIChiaW5hcnlFeGlzdCgneWFybicpICYmIGlzV3NsKSB7XHJcbiAgICAvLyBjb21wYXJlIGJpbmFyeSBjb21tYW5kIHBhdGggdG8gV2luZG93cyBzeXN0ZW0sIGNoZWNraW5nIGlmIHRoZSBpbnN0YWxsYXRpb24gaXMgb24gdGhlIFdpbmRvd3Mgb3IgV1NMIHNpZGUuXHJcbiAgICBsZXQgYmluYXJ5UGF0aCA9IGdldEJpbmFyeVBhdGgoJ3lhcm4nKVxyXG4gICAgbGV0IHdpbmRvd3NTeXN0ZW1QYXRoID0gY2hpbGRQcm9jZXNzXHJcbiAgICAgIC5leGVjU3luYyhcclxuICAgICAgICBgd2luZG93c1N5c3RlbVBhdGg9XCIkKCBwb3dlcnNoZWxsLmV4ZSAtTm9Qcm9maWxlIC1Ob25JbnRlcmFjdGl2ZSAtQ29tbWFuZCAnICRkcml2ZT0oR2V0LVdtaU9iamVjdCBXaW4zMl9PcGVyYXRpbmdTeXN0ZW0pLlN5c3RlbURyaXZlOyBlY2hvICgtam9pbigkZHJpdmUsIFwiXFxcXFwiKSkgJyApXCIgJiYgZWNobyAkd2luZG93c1N5c3RlbVBhdGhgLFxyXG4gICAgICAgIHsgY3dkOiBfX2Rpcm5hbWUsIGVuY29kaW5nOiAndXRmOCcgfSwgLy8gdG8gYWxsb3cgY2F0Y2hpbmcgcmV0dXJuZWQgcmVzdWx0XHJcbiAgICAgIClcclxuICAgICAgLnJlcGxhY2UoL1xcbiQvLCAnJylcclxuICAgICAgLnRyaW0oKSAvLyByZW1vdmUgbmV3IGxpbmUgYW5kIHdoaXRlIHNwYWNlIHRvIHByZXZlbnQgY29tcGFyaXNvbiBpc3N1ZXNcclxuICAgIGxldCB3aW5kb3dzU3lzdGVtUGF0aEluV1NMID0gY2hpbGRQcm9jZXNzXHJcbiAgICAgIC5leGVjU3luYyhcclxuICAgICAgICBgd2luZG93c1N5c3RlbVBhdGhJbldTTD1cIiQoIHdzbHBhdGggLXUgJyR7d2luZG93c1N5c3RlbVBhdGh9JylcIiAmJiBlY2hvICR3aW5kb3dzU3lzdGVtUGF0aEluV1NMYCxcclxuICAgICAgICB7IGN3ZDogX19kaXJuYW1lLCBlbmNvZGluZzogJ3V0ZjgnIH0sIC8vIHRvIGFsbG93IGNhdGNoaW5nIHJldHVybmVkIHJlc3VsdFxyXG4gICAgICApXHJcbiAgICAgIC5yZXBsYWNlKC9cXG4kLywgJycpXHJcbiAgICAgIC50cmltKCkgLy8gcmVtb3ZlIG5ldyBsaW5lIGFuZCB3aGl0ZSBzcGFjZSB0byBwcmV2ZW50IGNvbXBhcmlzb24gaXNzdWVzXHJcblxyXG4gICAgLy8gSW1wb3J0YW50IG5vdGU6IEluIGNhc2VzIChlLmcuIGNhbGxpbmcgc2NyaXB0IGluIHN1YnByb2Nlc3Mgb3IgZnJvbSBwb3dlcnNoZWxsIHdzbC5leGUgY29tbWFuZCkgdGhlIGJpbmFyeSBwYXRoIHBvaW50cyB0byBhIHRlbXBvcmFyeSBiaW5hcnkgZmlsZSB0aGF0IHJlZGlyZWN0cyB0byB0aGUgd2luZG93cyBsb2NhdGlvbi5cclxuICAgIGxldCBpc1dpbmRvd3NJbnN0YWxsYXRpb24gPVxyXG4gICAgICBiaW5hcnlQYXRoLmluY2x1ZGVzKHdpbmRvd3NTeXN0ZW1QYXRoSW5XU0wpIHx8IChmaWxlc3lzdGVtLmV4aXN0c1N5bmMoYmluYXJ5UGF0aCkgJiYgZmlsZXN5c3RlbS5yZWFkRmlsZVN5bmMoYmluYXJ5UGF0aCwgeyBlbmNvZGluZzogJ3V0ZjgnIH0pLmluY2x1ZGVzKHdpbmRvd3NTeXN0ZW1QYXRoSW5XU0wpKVxyXG4gICAgLy8gaWYgY29tbWFuZCBpcyBpbnN0YWxsZWQgaW4gV1NMIHNpZGU6XHJcbiAgICBpc0NvbW1hbmRJbnN0YWxsZWQgPSAhaXNXaW5kb3dzSW5zdGFsbGF0aW9uXHJcbiAgfSBlbHNlIGlzQ29tbWFuZEluc3RhbGxlZCA9IGJpbmFyeUV4aXN0KCd5YXJuJylcclxuXHJcbiAgaWYgKGlzQ29tbWFuZEluc3RhbGxlZCkgY29uc29sZS5sb2coJ+KclCB5YXJuIGlzIGluc3RhbGxlZC4nKVxyXG4gIGVsc2VcclxuICAgIGNoaWxkUHJvY2Vzcy5leGVjU3luYyhcclxuICAgICAgW1xyXG4gICAgICAgICdjdXJsIC1zUyBodHRwczovL2RsLnlhcm5wa2cuY29tL2RlYmlhbi9wdWJrZXkuZ3BnIHwgc3VkbyBhcHQta2V5IGFkZCAtJyxcclxuICAgICAgICAnZWNobyBcImRlYiBodHRwczovL2RsLnlhcm5wa2cuY29tL2RlYmlhbi8gc3RhYmxlIG1haW5cIiB8IHN1ZG8gdGVlIC9ldGMvYXB0L3NvdXJjZXMubGlzdC5kL3lhcm4ubGlzdCcsXHJcbiAgICAgICAgJ3N1ZG8gYXB0LWdldCAteSB1cGRhdGUgJiYgc3VkbyBhcHQtZ2V0IGluc3RhbGwgLXkgeWFybicsXHJcbiAgICAgIF0uam9pbignICYmIFxcXFxcXG4nKSxcclxuICAgICAgY2hpbGRQcm9jZXNzT3B0aW9uLFxyXG4gICAgKVxyXG59XHJcblxyXG4vLyBVcGdyYWRlIHlhcm4gLVxyXG4vLyBgY3VybCAtby0gLUwgaHR0cHM6Ly95YXJucGtnLmNvbS9pbnN0YWxsLnNoIHwgYmFzaGBcclxuIl19 \ No newline at end of file diff --git a/source/packageInstallation/unixPackage/nodeGitDepenencyInstallation.js b/source/packageInstallation/unixPackage/nodeGitDepenencyInstallation.js index 1be3335..5add0d5 100644 --- a/source/packageInstallation/unixPackage/nodeGitDepenencyInstallation.js +++ b/source/packageInstallation/unixPackage/nodeGitDepenencyInstallation.js @@ -1,41 +1,41 @@ -const childProcess = require('child_process') -const childProcessOption = { cwd: __dirname, shell: true, stdio: [0, 1, 2] } - -/* -NodeGit npm packge - Required preinstall packages: - - https://packages.debian.org/source/sid/libgit2 https://github.com/libgit2/libgit2 - libgit2 unix package is a dependency for nodegit npm package. - (do not use development version `libgit2-dev`, use the stable one instead.) - - Optional dependencies: https://salsa.debian.org/debian/libgit2#optional-dependencies - - https://packages.debian.org/source/jessie/openssl -Note: that the package versin may not support the latest nodejs version, e.g. nodegit@next supports Nodejs 12 while the former versions throw errors during installation. -Note: the package exists for latest debian/ubuntu releases. Some releases support only older versions. - -# If errors occur try installing the following packages: -https://stackoverflow.com/questions/37634883/installing-libgit2-and-pygit2-on-debian-docker -``` - DEBIAN_FRONTEND=noninteractive sudo apt-get update -qq && DEBIAN_FRONTEND=noninteractive sudo apt-get install -yqq openssl libssl-dev libgit2-27 libssh2-1-dev libffi-dev zlib1g-dev python-cffi python-dev python-pip build-essential cmake gcc pkg-config git libhttp-parser-dev python-setuptools wget -``` -*/ +"use strict";const childProcess = require('child_process'); +const childProcessOption = { cwd: __dirname, shell: true, stdio: [0, 1, 2] }; + + + + + + + + + + + + + + + + + module.exports = { install: function install() { - let libgit2PackageVersion = `libgit2-27` // Importatnt! When upgrade the version make sure the nodejs packge `nodegit` which depends on `libgit2` supports the version. - // for Ubuntu 19+ or Debian 10+ (i.e. package `libgit2-27` must exist) - let packagesInstalled = childProcess - .execSync(`list="$(dpkg -l)" && echo $list`, { cwd: __dirname, encoding: 'utf8' } /** to allow catching returned result */) - .replace(/\n$/, '') - .trim() // remove new line and white space to prevent comparison issues - - // try `dpkg -l | grep libgit2` to check version - if (packagesInstalled.includes('libgit2')) console.log(`nodegit's dependency 'libgit2' is installed.`) - else - childProcess.execSync( - [ - `echo 'Machine global peer dependency "nodegit" is required. Checking for libgit2...\n'`, - // `-qq` = No output except for errors - `DEBIAN_FRONTEND=noninteractive sudo apt-get install -yqq ${libgit2PackageVersion} openssl`, - ].join(' && \\\n'), - childProcessOption, - ) - }, -} + let libgit2PackageVersion = `libgit2-27`; + + let packagesInstalled = childProcess. + execSync(`list="$(dpkg -l)" && echo $list`, { cwd: __dirname, encoding: 'utf8' }). + replace(/\n$/, ''). + trim(); + + + if (packagesInstalled.includes('libgit2')) console.log(`nodegit's dependency 'libgit2' is installed.`);else + + childProcess.execSync( + [ + `echo 'Machine global peer dependency "nodegit" is required. Checking for libgit2...\n'`, + + `DEBIAN_FRONTEND=noninteractive sudo apt-get install -yqq ${libgit2PackageVersion} openssl`]. + join(' && \\\n'), + childProcessOption); + + } }; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvdXJjZS9wYWNrYWdlSW5zdGFsbGF0aW9uL3VuaXhQYWNrYWdlL25vZGVHaXREZXBlbmVuY3lJbnN0YWxsYXRpb24uanMiXSwibmFtZXMiOlsiY2hpbGRQcm9jZXNzIiwicmVxdWlyZSIsImNoaWxkUHJvY2Vzc09wdGlvbiIsImN3ZCIsIl9fZGlybmFtZSIsInNoZWxsIiwic3RkaW8iLCJtb2R1bGUiLCJleHBvcnRzIiwiaW5zdGFsbCIsImxpYmdpdDJQYWNrYWdlVmVyc2lvbiIsInBhY2thZ2VzSW5zdGFsbGVkIiwiZXhlY1N5bmMiLCJlbmNvZGluZyIsInJlcGxhY2UiLCJ0cmltIiwiaW5jbHVkZXMiLCJjb25zb2xlIiwibG9nIiwiam9pbiJdLCJtYXBwaW5ncyI6ImFBQUEsTUFBTUEsWUFBWSxHQUFHQyxPQUFPLENBQUMsZUFBRCxDQUE1QjtBQUNBLE1BQU1DLGtCQUFrQixHQUFHLEVBQUVDLEdBQUcsRUFBRUMsU0FBUCxFQUFrQkMsS0FBSyxFQUFFLElBQXpCLEVBQStCQyxLQUFLLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSixFQUFPLENBQVAsQ0FBdEMsRUFBM0I7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtCQUMsTUFBTSxDQUFDQyxPQUFQLEdBQWlCO0FBQ2ZDLEVBQUFBLE9BQU8sRUFBRSxTQUFTQSxPQUFULEdBQW1CO0FBQzFCLFFBQUlDLHFCQUFxQixHQUFJLFlBQTdCOztBQUVBLFFBQUlDLGlCQUFpQixHQUFHWCxZQUFZO0FBQ2pDWSxJQUFBQSxRQURxQixDQUNYLGlDQURXLEVBQ3VCLEVBQUVULEdBQUcsRUFBRUMsU0FBUCxFQUFrQlMsUUFBUSxFQUFFLE1BQTVCLEVBRHZCO0FBRXJCQyxJQUFBQSxPQUZxQixDQUViLEtBRmEsRUFFTixFQUZNO0FBR3JCQyxJQUFBQSxJQUhxQixFQUF4Qjs7O0FBTUEsUUFBSUosaUJBQWlCLENBQUNLLFFBQWxCLENBQTJCLFNBQTNCLENBQUosRUFBMkNDLE9BQU8sQ0FBQ0MsR0FBUixDQUFhLDhDQUFiLEVBQTNDOztBQUVFbEIsSUFBQUEsWUFBWSxDQUFDWSxRQUFiO0FBQ0U7QUFDRyw0RkFESDs7QUFHRyxnRUFBMkRGLHFCQUFzQixVQUhwRjtBQUlFUyxJQUFBQSxJQUpGLENBSU8sVUFKUCxDQURGO0FBTUVqQixJQUFBQSxrQkFORjs7QUFRSCxHQXBCYyxFQUFqQiIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNoaWxkUHJvY2VzcyA9IHJlcXVpcmUoJ2NoaWxkX3Byb2Nlc3MnKVxuY29uc3QgY2hpbGRQcm9jZXNzT3B0aW9uID0geyBjd2Q6IF9fZGlybmFtZSwgc2hlbGw6IHRydWUsIHN0ZGlvOiBbMCwgMSwgMl0gfVxuXG4vKiBcbk5vZGVHaXQgbnBtIHBhY2tnZSAtIFJlcXVpcmVkIHByZWluc3RhbGwgcGFja2FnZXM6IFxuICAgIC0gaHR0cHM6Ly9wYWNrYWdlcy5kZWJpYW4ub3JnL3NvdXJjZS9zaWQvbGliZ2l0MiBodHRwczovL2dpdGh1Yi5jb20vbGliZ2l0Mi9saWJnaXQyXG4gICAgbGliZ2l0MiB1bml4IHBhY2thZ2UgaXMgYSBkZXBlbmRlbmN5IGZvciBub2RlZ2l0IG5wbSBwYWNrYWdlLlxuICAgIChkbyBub3QgdXNlIGRldmVsb3BtZW50IHZlcnNpb24gYGxpYmdpdDItZGV2YCwgdXNlIHRoZSBzdGFibGUgb25lIGluc3RlYWQuKVxuICAgIC0gT3B0aW9uYWwgZGVwZW5kZW5jaWVzOiBodHRwczovL3NhbHNhLmRlYmlhbi5vcmcvZGViaWFuL2xpYmdpdDIjb3B0aW9uYWwtZGVwZW5kZW5jaWVzXG4gICAgICAgIC0gaHR0cHM6Ly9wYWNrYWdlcy5kZWJpYW4ub3JnL3NvdXJjZS9qZXNzaWUvb3BlbnNzbFxuTm90ZTogdGhhdCB0aGUgcGFja2FnZSB2ZXJzaW4gbWF5IG5vdCBzdXBwb3J0IHRoZSBsYXRlc3Qgbm9kZWpzIHZlcnNpb24sIGUuZy4gbm9kZWdpdEBuZXh0IHN1cHBvcnRzIE5vZGVqcyAxMiB3aGlsZSB0aGUgZm9ybWVyIHZlcnNpb25zIHRocm93IGVycm9ycyBkdXJpbmcgaW5zdGFsbGF0aW9uLlxuTm90ZTogdGhlIHBhY2thZ2UgZXhpc3RzIGZvciBsYXRlc3QgZGViaWFuL3VidW50dSByZWxlYXNlcy4gU29tZSByZWxlYXNlcyBzdXBwb3J0IG9ubHkgb2xkZXIgdmVyc2lvbnMuXG5cbiMgSWYgZXJyb3JzIG9jY3VyIHRyeSBpbnN0YWxsaW5nIHRoZSBmb2xsb3dpbmcgcGFja2FnZXM6XG5odHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNzYzNDg4My9pbnN0YWxsaW5nLWxpYmdpdDItYW5kLXB5Z2l0Mi1vbi1kZWJpYW4tZG9ja2VyXG5gYGBcbiAgICBERUJJQU5fRlJPTlRFTkQ9bm9uaW50ZXJhY3RpdmUgc3VkbyBhcHQtZ2V0IHVwZGF0ZSAtcXEgJiYgREVCSUFOX0ZST05URU5EPW5vbmludGVyYWN0aXZlIHN1ZG8gYXB0LWdldCBpbnN0YWxsIC15cXEgb3BlbnNzbCBsaWJzc2wtZGV2IGxpYmdpdDItMjcgbGlic3NoMi0xLWRldiAgbGliZmZpLWRldiAgemxpYjFnLWRldiBweXRob24tY2ZmaSBweXRob24tZGV2ICBweXRob24tcGlwIGJ1aWxkLWVzc2VudGlhbCBjbWFrZSAgZ2NjICBwa2ctY29uZmlnICBnaXQgbGliaHR0cC1wYXJzZXItZGV2IHB5dGhvbi1zZXR1cHRvb2xzIHdnZXRcbmBgYFxuKi9cbm1vZHVsZS5leHBvcnRzID0ge1xuICBpbnN0YWxsOiBmdW5jdGlvbiBpbnN0YWxsKCkge1xuICAgIGxldCBsaWJnaXQyUGFja2FnZVZlcnNpb24gPSBgbGliZ2l0Mi0yN2AgLy8gSW1wb3J0YXRudCEgV2hlbiB1cGdyYWRlIHRoZSB2ZXJzaW9uIG1ha2Ugc3VyZSB0aGUgbm9kZWpzIHBhY2tnZSBgbm9kZWdpdGAgd2hpY2ggZGVwZW5kcyBvbiBgbGliZ2l0MmAgc3VwcG9ydHMgdGhlIHZlcnNpb24uXG4gICAgLy8gZm9yIFVidW50dSAxOSsgb3IgRGViaWFuIDEwKyAoaS5lLiBwYWNrYWdlIGBsaWJnaXQyLTI3YCBtdXN0IGV4aXN0KVxuICAgIGxldCBwYWNrYWdlc0luc3RhbGxlZCA9IGNoaWxkUHJvY2Vzc1xuICAgICAgLmV4ZWNTeW5jKGBsaXN0PVwiJChkcGtnIC1sKVwiICYmIGVjaG8gJGxpc3RgLCB7IGN3ZDogX19kaXJuYW1lLCBlbmNvZGluZzogJ3V0ZjgnIH0gLyoqIHRvIGFsbG93IGNhdGNoaW5nIHJldHVybmVkIHJlc3VsdCAqLylcbiAgICAgIC5yZXBsYWNlKC9cXG4kLywgJycpXG4gICAgICAudHJpbSgpIC8vIHJlbW92ZSBuZXcgbGluZSBhbmQgd2hpdGUgc3BhY2UgdG8gcHJldmVudCBjb21wYXJpc29uIGlzc3Vlc1xuXG4gICAgLy8gdHJ5IGBkcGtnIC1sIHwgZ3JlcCBsaWJnaXQyYCB0byBjaGVjayB2ZXJzaW9uXG4gICAgaWYgKHBhY2thZ2VzSW5zdGFsbGVkLmluY2x1ZGVzKCdsaWJnaXQyJykpIGNvbnNvbGUubG9nKGBub2RlZ2l0J3MgZGVwZW5kZW5jeSAnbGliZ2l0MicgaXMgaW5zdGFsbGVkLmApXG4gICAgZWxzZVxuICAgICAgY2hpbGRQcm9jZXNzLmV4ZWNTeW5jKFxuICAgICAgICBbXG4gICAgICAgICAgYGVjaG8gJ01hY2hpbmUgZ2xvYmFsIHBlZXIgZGVwZW5kZW5jeSBcIm5vZGVnaXRcIiBpcyByZXF1aXJlZC4gQ2hlY2tpbmcgZm9yIGxpYmdpdDIuLi5cXG4nYCxcbiAgICAgICAgICAvLyBgLXFxYCA9IE5vIG91dHB1dCBleGNlcHQgZm9yIGVycm9yc1xuICAgICAgICAgIGBERUJJQU5fRlJPTlRFTkQ9bm9uaW50ZXJhY3RpdmUgc3VkbyBhcHQtZ2V0IGluc3RhbGwgLXlxcSAke2xpYmdpdDJQYWNrYWdlVmVyc2lvbn0gb3BlbnNzbGAsXG4gICAgICAgIF0uam9pbignICYmIFxcXFxcXG4nKSxcbiAgICAgICAgY2hpbGRQcm9jZXNzT3B0aW9uLFxuICAgICAgKVxuICB9LFxufVxuIl19 \ No newline at end of file diff --git a/source/packageInstallation/unixPackage/updateLinux.js b/source/packageInstallation/unixPackage/updateLinux.js index 98d6192..d518932 100644 --- a/source/packageInstallation/unixPackage/updateLinux.js +++ b/source/packageInstallation/unixPackage/updateLinux.js @@ -1,9 +1,10 @@ -const childProcessOption = { cwd: __dirname, shell: true, stdio: [0, 1, 2] } -const childProcess = require('child_process') - -export function updateAndUpgrade() { - childProcess.execSync([ - `sudo apt update -y`, - `sudo apt upgrade -y` - ].join(' && \\\n'), childProcessOption) -} +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.updateAndUpgrade = updateAndUpgrade;const childProcessOption = { cwd: __dirname, shell: true, stdio: [0, 1, 2] }; +const childProcess = require('child_process'); + +function updateAndUpgrade() { + childProcess.execSync([ + `sudo apt update -y`, + `sudo apt upgrade -y`]. + join(' && \\\n'), childProcessOption); +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NvdXJjZS9wYWNrYWdlSW5zdGFsbGF0aW9uL3VuaXhQYWNrYWdlL3VwZGF0ZUxpbnV4LmpzIl0sIm5hbWVzIjpbImNoaWxkUHJvY2Vzc09wdGlvbiIsImN3ZCIsIl9fZGlybmFtZSIsInNoZWxsIiwic3RkaW8iLCJjaGlsZFByb2Nlc3MiLCJyZXF1aXJlIiwidXBkYXRlQW5kVXBncmFkZSIsImV4ZWNTeW5jIiwiam9pbiJdLCJtYXBwaW5ncyI6InVIQUFBLE1BQU1BLGtCQUFrQixHQUFHLEVBQUVDLEdBQUcsRUFBRUMsU0FBUCxFQUFrQkMsS0FBSyxFQUFFLElBQXpCLEVBQStCQyxLQUFLLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSixFQUFPLENBQVAsQ0FBdEMsRUFBM0I7QUFDQSxNQUFNQyxZQUFZLEdBQUdDLE9BQU8sQ0FBQyxlQUFELENBQTVCOztBQUVPLFNBQVNDLGdCQUFULEdBQTRCO0FBQy9CRixFQUFBQSxZQUFZLENBQUNHLFFBQWIsQ0FBc0I7QUFDbkIsc0JBRG1CO0FBRW5CLHVCQUZtQjtBQUdwQkMsRUFBQUEsSUFIb0IsQ0FHZixVQUhlLENBQXRCLEVBR29CVCxrQkFIcEI7QUFJSCIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNoaWxkUHJvY2Vzc09wdGlvbiA9IHsgY3dkOiBfX2Rpcm5hbWUsIHNoZWxsOiB0cnVlLCBzdGRpbzogWzAsIDEsIDJdIH1cclxuY29uc3QgY2hpbGRQcm9jZXNzID0gcmVxdWlyZSgnY2hpbGRfcHJvY2VzcycpXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlQW5kVXBncmFkZSgpIHtcclxuICAgIGNoaWxkUHJvY2Vzcy5leGVjU3luYyhbXHJcbiAgICAgIGBzdWRvIGFwdCB1cGRhdGUgLXlgLFxyXG4gICAgICBgc3VkbyBhcHQgdXBncmFkZSAteWBcclxuICAgIF0uam9pbignICYmIFxcXFxcXG4nKSwgY2hpbGRQcm9jZXNzT3B0aW9uKVxyXG59XHJcbiJdfQ== \ No newline at end of file diff --git a/source/script.js b/source/script.js index 4ab82d4..8e806d3 100644 --- a/source/script.js +++ b/source/script.js @@ -1,20 +1,2 @@ -export * as isElevatedPermission from './terminal/isElevatedPermission.js' -export * as readInput from './terminal/readInput.js' - -export * as installJshint from './packageInstallation/nodejsPackage/installJshint.js' -export * as installPackageUsingJspm from './packageInstallation/nodejsPackage/installPackageUsingJspm.js' -export * as installPackageUsingNpm from './packageInstallation/nodejsPackage/installPackageUsingNpm.js' -export * as installPackageUsingYarn from './packageInstallation/nodejsPackage/installPackageUsingYarn.js' - -export * as installDocker from './packageInstallation/unixPackage/installDocker.js' -export * as installGit from './packageInstallation/unixPackage/installGit.js' -export * as installJSPM from './packageInstallation/unixPackage/installJSPM.js' -export * as installShellZsh from './packageInstallation/unixPackage/installShellZsh.js' -export * as installYarn from './packageInstallation/unixPackage/installYarn.js' -export * as nodeGitDepenencyInstallation from './packageInstallation/unixPackage/nodeGitDepenencyInstallation.js' -export * as updateLinux from './packageInstallation/unixPackage/updateLinux.js' - -export * as copyFile from './filesystemOperation/copyFile.js' -export * as createSymlink from './filesystemOperation/createSymlink.js' -export * as ensureFile from './filesystemOperation/ensureFile.js' -export * as synchronizeFile from './filesystemOperation/synchronizeFile.js' +"use strict";var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");Object.defineProperty(exports, "__esModule", { value: true });exports.synchronizeFile = exports.ensureFile = exports.createSymlink = exports.copyFile = exports.updateLinux = exports.nodeGitDepenencyInstallation = exports.installYarn = exports.installShellZsh = exports.installJSPM = exports.installGit = exports.installDocker = exports.installPackageUsingYarn = exports.installPackageUsingNpm = exports.installPackageUsingJspm = exports.installJshint = exports.readInput = exports.isElevatedPermission = void 0;var _isElevatedPermission = _interopRequireWildcard(require("./terminal/isElevatedPermission.js"));exports.isElevatedPermission = _isElevatedPermission;var _readInput = _interopRequireWildcard(require("./terminal/readInput.js"));exports.readInput = _readInput;var _installJshint = _interopRequireWildcard(require("./packageInstallation/nodejsPackage/installJshint.js"));exports.installJshint = _installJshint;var _installPackageUsingJspm = _interopRequireWildcard(require("./packageInstallation/nodejsPackage/installPackageUsingJspm.js"));exports.installPackageUsingJspm = _installPackageUsingJspm;var _installPackageUsingNpm = _interopRequireWildcard(require("./packageInstallation/nodejsPackage/installPackageUsingNpm.js"));exports.installPackageUsingNpm = _installPackageUsingNpm;var _installPackageUsingYarn = _interopRequireWildcard(require("./packageInstallation/nodejsPackage/installPackageUsingYarn.js"));exports.installPackageUsingYarn = _installPackageUsingYarn;var _installDocker = _interopRequireWildcard(require("./packageInstallation/unixPackage/installDocker.js"));exports.installDocker = _installDocker;var _installGit = _interopRequireWildcard(require("./packageInstallation/unixPackage/installGit.js"));exports.installGit = _installGit;var _installJSPM = _interopRequireWildcard(require("./packageInstallation/unixPackage/installJSPM.js"));exports.installJSPM = _installJSPM;var _installShellZsh = _interopRequireWildcard(require("./packageInstallation/unixPackage/installShellZsh.js"));exports.installShellZsh = _installShellZsh;var _installYarn = _interopRequireWildcard(require("./packageInstallation/unixPackage/installYarn.js"));exports.installYarn = _installYarn;var _nodeGitDepenencyInstallation = _interopRequireWildcard(require("./packageInstallation/unixPackage/nodeGitDepenencyInstallation.js"));exports.nodeGitDepenencyInstallation = _nodeGitDepenencyInstallation;var _updateLinux = _interopRequireWildcard(require("./packageInstallation/unixPackage/updateLinux.js"));exports.updateLinux = _updateLinux;var _copyFile = _interopRequireWildcard(require("./filesystemOperation/copyFile.js"));exports.copyFile = _copyFile;var _createSymlink = _interopRequireWildcard(require("./filesystemOperation/createSymlink.js"));exports.createSymlink = _createSymlink;var _ensureFile = _interopRequireWildcard(require("./filesystemOperation/ensureFile.js"));exports.ensureFile = _ensureFile;var _synchronizeFile = _interopRequireWildcard(require("./filesystemOperation/synchronizeFile.js"));exports.synchronizeFile = _synchronizeFile; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0= \ No newline at end of file diff --git a/source/terminal/isElevatedPermission.js b/source/terminal/isElevatedPermission.js index 958e0a2..93f0993 100644 --- a/source/terminal/isElevatedPermission.js +++ b/source/terminal/isElevatedPermission.js @@ -1 +1,2 @@ -export const isRootPermission = () => process.getuid && process.getuid() === 0 // check if process running with root permissions. +"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.isRootPermission = void 0;const isRootPermission = () => process.getuid && process.getuid() === 0;exports.isRootPermission = isRootPermission; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NvdXJjZS90ZXJtaW5hbC9pc0VsZXZhdGVkUGVybWlzc2lvbi5qcyJdLCJuYW1lcyI6WyJpc1Jvb3RQZXJtaXNzaW9uIiwicHJvY2VzcyIsImdldHVpZCJdLCJtYXBwaW5ncyI6IjZHQUFPLE1BQU1BLGdCQUFnQixHQUFHLE1BQU1DLE9BQU8sQ0FBQ0MsTUFBUixJQUFrQkQsT0FBTyxDQUFDQyxNQUFSLE9BQXFCLENBQXRFLEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgaXNSb290UGVybWlzc2lvbiA9ICgpID0+IHByb2Nlc3MuZ2V0dWlkICYmIHByb2Nlc3MuZ2V0dWlkKCkgPT09IDAgLy8gY2hlY2sgaWYgcHJvY2VzcyBydW5uaW5nIHdpdGggcm9vdCBwZXJtaXNzaW9ucy5cclxuIl19 \ No newline at end of file diff --git a/source/terminal/readInput.js b/source/terminal/readInput.js index f033181..b281cfd 100644 --- a/source/terminal/readInput.js +++ b/source/terminal/readInput.js @@ -1,17 +1,18 @@ -import readline from 'readline' - -export const readInput = question => { - const readlineInstance = readline.createInterface({ input: process.stdin, output: process.stdout }) - readlineInstance.setPrompt(question) - readlineInstance.prompt() - return new Promise((resolve, reject) => { - let response - readlineInstance.on('line', userInput => { - response = userInput - readlineInstance.close() - }) - readlineInstance.on('close', () => { - resolve(response) - }) - }) -} +"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports.readInput = void 0;var _readline = _interopRequireDefault(require("readline")); + +const readInput = question => { + const readlineInstance = _readline.default.createInterface({ input: process.stdin, output: process.stdout }); + readlineInstance.setPrompt(question); + readlineInstance.prompt(); + return new Promise((resolve, reject) => { + let response; + readlineInstance.on('line', userInput => { + response = userInput; + readlineInstance.close(); + }); + readlineInstance.on('close', () => { + resolve(response); + }); + }); +};exports.readInput = readInput; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NvdXJjZS90ZXJtaW5hbC9yZWFkSW5wdXQuanMiXSwibmFtZXMiOlsicmVhZElucHV0IiwicXVlc3Rpb24iLCJyZWFkbGluZUluc3RhbmNlIiwicmVhZGxpbmUiLCJjcmVhdGVJbnRlcmZhY2UiLCJpbnB1dCIsInByb2Nlc3MiLCJzdGRpbiIsIm91dHB1dCIsInN0ZG91dCIsInNldFByb21wdCIsInByb21wdCIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicmVzcG9uc2UiLCJvbiIsInVzZXJJbnB1dCIsImNsb3NlIl0sIm1hcHBpbmdzIjoiMkxBQUE7O0FBRU8sTUFBTUEsU0FBUyxHQUFHQyxRQUFRLElBQUk7QUFDbkMsUUFBTUMsZ0JBQWdCLEdBQUdDLGtCQUFTQyxlQUFULENBQXlCLEVBQUVDLEtBQUssRUFBRUMsT0FBTyxDQUFDQyxLQUFqQixFQUF3QkMsTUFBTSxFQUFFRixPQUFPLENBQUNHLE1BQXhDLEVBQXpCLENBQXpCO0FBQ0FQLEVBQUFBLGdCQUFnQixDQUFDUSxTQUFqQixDQUEyQlQsUUFBM0I7QUFDQUMsRUFBQUEsZ0JBQWdCLENBQUNTLE1BQWpCO0FBQ0EsU0FBTyxJQUFJQyxPQUFKLENBQVksQ0FBQ0MsT0FBRCxFQUFVQyxNQUFWLEtBQXFCO0FBQ3RDLFFBQUlDLFFBQUo7QUFDQWIsSUFBQUEsZ0JBQWdCLENBQUNjLEVBQWpCLENBQW9CLE1BQXBCLEVBQTRCQyxTQUFTLElBQUk7QUFDdkNGLE1BQUFBLFFBQVEsR0FBR0UsU0FBWDtBQUNBZixNQUFBQSxnQkFBZ0IsQ0FBQ2dCLEtBQWpCO0FBQ0QsS0FIRDtBQUlBaEIsSUFBQUEsZ0JBQWdCLENBQUNjLEVBQWpCLENBQW9CLE9BQXBCLEVBQTZCLE1BQU07QUFDakNILE1BQUFBLE9BQU8sQ0FBQ0UsUUFBRCxDQUFQO0FBQ0QsS0FGRDtBQUdELEdBVE0sQ0FBUDtBQVVELENBZE0sQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCByZWFkbGluZSBmcm9tICdyZWFkbGluZSdcclxuXHJcbmV4cG9ydCBjb25zdCByZWFkSW5wdXQgPSBxdWVzdGlvbiA9PiB7XHJcbiAgY29uc3QgcmVhZGxpbmVJbnN0YW5jZSA9IHJlYWRsaW5lLmNyZWF0ZUludGVyZmFjZSh7IGlucHV0OiBwcm9jZXNzLnN0ZGluLCBvdXRwdXQ6IHByb2Nlc3Muc3Rkb3V0IH0pXHJcbiAgcmVhZGxpbmVJbnN0YW5jZS5zZXRQcm9tcHQocXVlc3Rpb24pXHJcbiAgcmVhZGxpbmVJbnN0YW5jZS5wcm9tcHQoKVxyXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICBsZXQgcmVzcG9uc2VcclxuICAgIHJlYWRsaW5lSW5zdGFuY2Uub24oJ2xpbmUnLCB1c2VySW5wdXQgPT4ge1xyXG4gICAgICByZXNwb25zZSA9IHVzZXJJbnB1dFxyXG4gICAgICByZWFkbGluZUluc3RhbmNlLmNsb3NlKClcclxuICAgIH0pXHJcbiAgICByZWFkbGluZUluc3RhbmNlLm9uKCdjbG9zZScsICgpID0+IHtcclxuICAgICAgcmVzb2x2ZShyZXNwb25zZSlcclxuICAgIH0pXHJcbiAgfSlcclxufVxyXG4iXX0= \ No newline at end of file