From 72555b73267875cc6c84b100bd4b4c3d3eb85e11 Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Thu, 16 Oct 2025 12:32:36 +0100 Subject: [PATCH] AAE-37097 Cleanup unused Docker layer (#11269) --- .eslintrc.js | 11 +- .github/workflows/git-tag.yml | 13 -- .github/workflows/pull-request.yml | 13 -- .github/workflows/release-branch.yml | 13 -- .github/workflows/release.yml | 15 -- Dockerfile | 27 ---- docker/default.conf.template | 57 ------- docs/user-guide/authentication.md | 19 --- lib/cli/README.md | 57 ++----- lib/cli/scripts/docker.ts | 222 --------------------------- lib/cli/scripts/exec.ts | 60 -------- lib/cli/scripts/index.ts | 2 - 12 files changed, 17 insertions(+), 492 deletions(-) delete mode 100644 Dockerfile delete mode 100644 docker/default.conf.template delete mode 100644 lib/cli/scripts/docker.ts delete mode 100644 lib/cli/scripts/exec.ts diff --git a/.eslintrc.js b/.eslintrc.js index 6fe8768683..2aa81dcd2b 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,16 +1,7 @@ module.exports = { root: true, - ignorePatterns: [ - 'projects/**/*', - '**/node_modules/**/*', - 'lib/cli/node_modules/**/*', - '**/node_modules', - '**/docker', - '**/assets', - '**/scripts', - '**/docs' - ], + ignorePatterns: ['projects/**/*', '**/node_modules/**/*', 'lib/cli/node_modules/**/*', '**/node_modules', '**/assets', '**/scripts', '**/docs'], plugins: ['@nx'], diff --git a/.github/workflows/git-tag.yml b/.github/workflows/git-tag.yml index 5acd66042c..eb45d84e2d 100644 --- a/.github/workflows/git-tag.yml +++ b/.github/workflows/git-tag.yml @@ -19,27 +19,14 @@ env: HEAD_REF: ${{ github.head_ref }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - GITHUB_BRANCH: ${{ github.ref_name }} - GH_BUILD_DIR: ${{ github.workspace }} GH_COMMIT: ${{ github.sha }} - BUILD_ID: ${{ github.run_id }} - GH_RUN_NUMBER: ${{ github.run_attempt }} GH_BUILD_NUMBER: ${{ github.run_id }} - JOB_ID: ${{ github.run_id }} LOG_LEVEL: "ERROR" S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }} NODE_OPTIONS: "--max-old-space-size=5120" - DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }} - DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_USERNAME }} - DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} NPM_REGISTRY_ADDRESS: ${{ secrets.NPM_REGISTRY_ADDRESS }} NPM_REGISTRY_TOKEN: ${{ secrets.NPM_REGISTRY_TOKEN }} BOT_GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }} - REPO_OWNER: "Alfresco" - REPO_NAME: "alfresco-ng2-components" - BUILT_LIBS_DIR: "./dist/libs" - NODE_MODULES_DIR: "./node_modules" - REDIRECT_URI: / jobs: diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 968676cdc2..a55a16d84f 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -35,24 +35,11 @@ env: HEAD_REF: ${{ github.head_ref }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - GITHUB_BRANCH: ${{ github.ref_name }} - GH_BUILD_DIR: ${{ github.workspace }} GH_COMMIT: ${{ github.sha }} - BUILD_ID: ${{ github.run_id }} - GH_RUN_NUMBER: ${{ github.run_attempt }} GH_BUILD_NUMBER: ${{ github.run_id }} - JOB_ID: ${{ github.run_id }} LOG_LEVEL: "ERROR" S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }} NODE_OPTIONS: "--max-old-space-size=5120" - DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }} - DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_USERNAME }} - DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} - REPO_OWNER: "Alfresco" - REPO_NAME: "alfresco-ng2-components" - BUILT_LIBS_DIR: "./dist/libs" - NODE_MODULES_DIR: "./node_modules" - REDIRECT_URI: / jobs: pre-checks: diff --git a/.github/workflows/release-branch.yml b/.github/workflows/release-branch.yml index 9837b41c69..5ee6c4d6fd 100644 --- a/.github/workflows/release-branch.yml +++ b/.github/workflows/release-branch.yml @@ -15,25 +15,12 @@ env: HEAD_REF: ${{ github.head_ref }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - GITHUB_BRANCH: ${{ github.ref_name }} - GH_BUILD_DIR: ${{ github.workspace }} GH_COMMIT: ${{ github.sha }} - BUILD_ID: ${{ github.run_id }} - GH_RUN_NUMBER: ${{ github.run_attempt }} GH_BUILD_NUMBER: ${{ github.run_id }} - JOB_ID: ${{ github.run_id }} LOG_LEVEL: "ERROR" S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }} NODE_OPTIONS: "--max-old-space-size=5120" - DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }} - DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_USERNAME }} - DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }} - REPO_OWNER: "Alfresco" - REPO_NAME: "alfresco-ng2-components" - BUILT_LIBS_DIR: "./dist/libs" - NODE_MODULES_DIR: "./node_modules" - REDIRECT_URI: / jobs: setup: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a460c4314c..385cd2fff0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -25,27 +25,12 @@ env: HEAD_REF: ${{ github.head_ref }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - GITHUB_BRANCH: ${{ github.ref_name }} - GH_BUILD_DIR: ${{ github.workspace }} GH_COMMIT: ${{ github.sha }} - BUILD_ID: ${{ github.run_id }} - GH_RUN_NUMBER: ${{ github.run_attempt }} GH_BUILD_NUMBER: ${{ github.run_id }} - JOB_ID: ${{ github.run_id }} - E2E_ADMIN_EMAIL_IDENTITY: ${{ secrets.E2E_ADMIN_EMAIL_IDENTITY }} - E2E_ADMIN_PASSWORD_IDENTITY: ${{ secrets.E2E_ADMIN_PASSWORD_IDENTITY }} LOG_LEVEL: "ERROR" S3_BUILD_BUCKET_SHORT_NAME: ${{ secrets.S3_BUILD_BUCKET_SHORT_NAME }} NODE_OPTIONS: "--max-old-space-size=5120" - DOCKER_REPOSITORY_DOMAIN: ${{ secrets.DOCKER_REPOSITORY_DOMAIN }} - DOCKER_REPOSITORY_USER: ${{ secrets.DOCKER_USERNAME }} - DOCKER_REPOSITORY_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }} - REPO_OWNER: "Alfresco" - REPO_NAME: "alfresco-ng2-components" - BUILT_LIBS_DIR: "./dist/libs" - NODE_MODULES_DIR: "./node_modules" - REDIRECT_URI: / jobs: setup: diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 47bb8a0909..0000000000 --- a/Dockerfile +++ /dev/null @@ -1,27 +0,0 @@ -# 1. Generate licenses - -FROM node:18.16-alpine3.17 AS builder -WORKDIR /usr/src/alfresco -COPY package.json package.json - -# 2. Generate image - -FROM nginxinc/nginx-unprivileged:1.21-alpine - -USER root -RUN apk update && apk upgrade -USER 101 - -ARG PROJECT_NAME - -COPY docker/default.conf.template /etc/nginx/templates/ - -COPY dist/$PROJECT_NAME /usr/share/nginx/html/ -COPY dist/$PROJECT_NAME/app.config.json /etc/nginx/templates/app.config.json.template - -USER root -RUN chmod a+w -R /etc/nginx/conf.d -USER 101 - -ENV BASE_PATH=/ -ENV NGINX_ENVSUBST_OUTPUT_DIR=/etc/nginx/conf.d diff --git a/docker/default.conf.template b/docker/default.conf.template deleted file mode 100644 index 36bb7fdfe1..0000000000 --- a/docker/default.conf.template +++ /dev/null @@ -1,57 +0,0 @@ -server { - listen 8080; - server_name localhost; - - #charset koi8-r; - #access_log /var/log/nginx/host.access.log main; - - root /usr/share/nginx/html; - - rewrite ^([^.]*[^/])$ $1/ permanent; - absolute_redirect off; - - location ${BASE_PATH} { - set $EVAL_BASE_PATH "${BASE_PATH}"; - if ($EVAL_BASE_PATH = "/") { - root /usr/share/nginx/html; - } - index index.html index.htm; - alias /usr/share/nginx/html; - } - - location ~ /app.config.json { - alias ${NGINX_ENVSUBST_OUTPUT_DIR}/app.config.json; - } - - #error_page 404 /404.html; - - # redirect server error pages to the static page /50x.html - # - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root /usr/share/nginx/html; - } - - # proxy the PHP scripts to Apache listening on 127.0.0.1:80 - # - #location ~ \.php$ { - # proxy_pass http://127.0.0.1; - #} - - # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 - # - #location ~ \.php$ { - # root html; - # fastcgi_pass 127.0.0.1:9000; - # fastcgi_index index.php; - # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; - # include fastcgi_params; - #} - - # deny access to .htaccess files, if Apache's document root - # concurs with nginx's one - # - #location ~ /\.ht { - # deny all; - #} -} diff --git a/docs/user-guide/authentication.md b/docs/user-guide/authentication.md index e54ff8fc66..a2037dcc04 100644 --- a/docs/user-guide/authentication.md +++ b/docs/user-guide/authentication.md @@ -144,23 +144,4 @@ To address this, include the following script tag within the section of y ``` - - -# Docker Environment Variables -These settings can be customized in a Docker environment using the following environment variables: - - APP_CONFIG_OAUTH2_HOST - APP_CONFIG_OAUTH2_CLIENTID - APP_CONFIG_OAUTH2_CLIENT_SECRET - APP_CONFIG_OAUTH2_IMPLICIT_FLOW - APP_CONFIG_OAUTH2_CODE_FLOW - APP_CONFIG_OAUTH2_AUDIENCE - APP_CONFIG_OAUTH2_SCOPE - APP_CONFIG_OAUTH2_LOGOUT_URL - APP_CONFIG_OAUTH2_LOGOUT_PARAMETERS - APP_CONFIG_OAUTH2_SILENT_LOGIN - APP_CONFIG_OAUTH2_REDIRECT_SILENT_IFRAME_URI - APP_CONFIG_OAUTH2_REDIRECT_LOGIN - APP_CONFIG_OAUTH2_REDIRECT_LOGOUT - Adjust the above examples according to your specific environment and authentication provider settings. These configurations ensure that the application can securely authenticate users through OAuth2, aligning with the current best practices in web application security. diff --git a/lib/cli/README.md b/lib/cli/README.md index 194f7037ea..2d2b6fc69c 100644 --- a/lib/cli/README.md +++ b/lib/cli/README.md @@ -40,16 +40,15 @@ In develop mode, the CLI takes the prebuilt scripts from the dist folder. ## Commands -| **Commands** |**Description** | -| --- | --- | -| changelog | Generate changelog report for two branches of git repository | -| check-cs-env | Check cs env is up | -| check-plugin-env | Check plugin status | -| docker | Build and publish a docker image or create additional tag link | -| init-aae-env | Init env | -| init-aps-env | Init aps | -| licenses | Create a 3th party license file | -| audit | Check the security risk dependency in your package.json | +| **Commands** | **Description** | +|------------------|----------------------------------------------------------------| +| changelog | Generate changelog report for two branches of git repository | +| check-cs-env | Check cs env is up | +| check-plugin-env | Check plugin status | +| init-aae-env | Init env | +| init-aps-env | Init aps | +| licenses | Create a 3th party license file | +| audit | Check the security risk dependency in your package.json | ## Examples @@ -128,29 +127,6 @@ npm install adf-cli audit ``` -### Docker - -The command provides 2 targets 'Publish' (default value) and 'Link' - -Publish target -Move in the folder where you have your `Dockerfile` and run the command: - -```bash -adf-cli docker --target "publish" --dockerRepo "${docker_repository}" --dockerTags "${TAGS}" -``` - -If you want to specify a different docker registry you can run -```bash ---loginCheck --loginUsername "username" --loginPassword "password" --loginRepo "quay.io"--dockerRepo "${docker_repository}" --dockerTags "${TAGS}" -``` - -Link target -In case you don't need to publish a new image but you would like to create a link to an already existing image (sourceTag) you can use the link target. - -```bash -adf-cli docker --target "link" --dockerRepo "${docker_repository}" --dockerTags "${TAGS}" --sourceTag "develop" -``` - ### Initialize activiti cloud env The following command is in charge of Initializing the activiti cloud env with the default apps: @@ -167,14 +143,13 @@ adf-cli init-aae-env --host "gateway_env" --oauth "identity_env" --identityHost If you want to add a new app the schema needs to be: ```text -TEST_APP: { -        name: 'testapp', -        file_location: 'https://github.com/Alfresco/alfresco-ng2-components/blob/branch/e2e/resources/testapp.zip?raw=true', -        security: [ -            {'role': 'APS_ADMIN', 'groups': ['myadmingroup'], 'users': ['myadminuser']}, -            {'role': 'APS_USER', 'groups': ['myusergroup'], 'users': ['myuser'] -        }] -    }, +TEST_APP: { + name: 'testapp', + file_location: 'https://github.com/Alfresco/alfresco-ng2-components/blob/branch/e2e/resources/testapp.zip?raw=true', + security:[ + {'role': 'APS_ADMIN', groups': ['myadmingroup'], 'users': ['myadminuser']}, + {'role': 'APS_USER', 'groups': ['myusergroup'], 'users': ['myuser']}] + }, ``` ### Checks plugin status diff --git a/lib/cli/scripts/docker.ts b/lib/cli/scripts/docker.ts deleted file mode 100644 index b133aa98f4..0000000000 --- a/lib/cli/scripts/docker.ts +++ /dev/null @@ -1,222 +0,0 @@ -#!/usr/bin/env node - -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { argv, exit } from 'node:process'; -import { exec } from './exec'; -import { Command } from 'commander'; -import { logger } from './logger'; -import { resolve } from 'path'; - -const program = new Command(); - -// eslint-disable-next-line no-shadow -enum TARGETS { - publish = 'publish', - link = 'link' -} - -const DOCKER_FILENAME = 'Dockerfile'; -export interface PublishArgs { - tag?: string; - dryrun?: boolean; - verbose?: boolean; - loginCheck?: boolean; - loginUsername?: string; - loginPassword?: string; - loginRepo?: string; - dockerRepo?: string; - buildArgs?: string[]; - dockerTags?: string; - pathProject: string; - fileName: string; - sourceTag?: string; -} - -/** - * Perform a login - * - * @param args arguments - */ -function login(args: PublishArgs) { - logger.info(`Perform docker login...${args.loginRepo}`); - const loginDockerRes = exec('docker', ['login', `-u=${args.loginUsername}`, `-p=${args.loginPassword}`, `${args.loginRepo}`]); - logger.info(loginDockerRes); -} - -/** - * Build Docker image - * - * @param args command arguments - * @param tag tag - */ -function buildImage(args: PublishArgs, tag: string) { - logger.info(`Perform docker build...${args.dockerRepo}:${tag}`); - - const buildArgs = []; - - if (typeof args.buildArgs === 'string') { - buildArgs.push(`--build-arg=${args.buildArgs}`); - } else { - args.buildArgs.forEach((envVar) => { - buildArgs.push(`--build-arg=${envVar}`); - }); - } - if (args.verbose) { - logger.info(`Dry-run Perform docker build -t=${args.dockerRepo}:${tag} ${buildArgs} -f=${args.fileName} ${args.pathProject}`); - } - const response = exec('docker', ['build', `-t=${args.dockerRepo}:${tag}`, ...buildArgs, `-f=${args.fileName}`, args.pathProject], {}); - logger.info(response); -} - -/** - * Tag Docker image - * - * @param args command arguments - * @param imageTag image tag - * @param newTag new image tag - */ -function tagImage(args: PublishArgs, imageTag: string, newTag: string) { - logger.info(`Perform docker tag... ${args.dockerRepo}:${imageTag} on ${args.dockerRepo}:${newTag}`); - const response = exec('docker', ['tag', `${args.dockerRepo}:${imageTag}`, `${args.dockerRepo}:${newTag}`], {}); - logger.info(response); -} - -/** - * Pull Docker image - * - * @param dockerRepo repository - * @param sourceTag tag - */ -function pullImage(dockerRepo: string, sourceTag: string) { - logger.info(`Perform docker pull... ${dockerRepo}:${sourceTag}`); - const response = exec('docker', ['pull', `${dockerRepo}:${sourceTag}`], {}); - logger.info(response); -} - -/** - * Push Docker image - * - * @param args command arguments - * @param tag tag - */ -function pushImage(args: PublishArgs, tag: string) { - if (args.dryrun) { - logger.info(`Dry-run Perform docker push... ${args.dockerRepo}:${tag}`); - } else { - logger.info(`Perform docker push... ${args.dockerRepo}:${tag}`); - const response = exec('docker', ['push', `${args.dockerRepo}:${tag}`], {}); - logger.info(response); - } -} - -/** - * Clean Docker image - * - * @param args command arguments - * @param tag tag - */ -function cleanImage(args: PublishArgs, tag: string) { - logger.info(`Perform docker clean on tag:${tag}...`); - const response = exec('docker', ['rmi', `-f`, `${args.dockerRepo}:${tag}`], {}); - logger.info(response); -} - -/** - * Publish to Docker command - * - * @param args command arguments - */ -export default function main(args: PublishArgs) { - program - .version('0.1.0') - .description( - 'Move in the folder where you have your Dockerfile and run the command:\n\n' + - 'adf-cli docker-publish --dockerRepo "${docker_repository}" --dockerTags "${TAGS}"' - ) - .option('--loginRepo [type]', 'URL registry') - .option('--loginPassword [type]', ' password') - .option('--loginUsername [type]', ' username') - .option('--dryrun [type]', 'dryrun') - .option('--verbose [type]', 'verbose') - .option('--loginCheck [type]', 'perform login') - .option('--pathProject [type]', 'the path build context') - .option('--sourceTag [type]', 'sourceTag') - .option('--buildArgs [type...]', 'buildArgs') - .option('--fileName [type...]', 'Docker file name', DOCKER_FILENAME) - .option('--target [type]', 'target: publish or link', TARGETS.publish) - .requiredOption('--dockerRepo [type]', 'docker repo') - .requiredOption('--dockerTags [type]', ' tags') - .parse(argv); - - if (argv.includes('-h') || argv.includes('--help')) { - program.outputHelp(); - return; - } - - if (!Object.values(TARGETS).includes(program.opts().target)) { - logger.error(`error: invalid --target value. It can be ${Object.values(TARGETS)}`); - exit(1); - } - - if (program.opts().target === TARGETS.publish && args.buildArgs === undefined) { - logger.error(`error: required option --buildArgs [type] in case the target is ${TARGETS.publish}`); - exit(1); - } - - if (program.opts().target === TARGETS.link && args.sourceTag === undefined) { - logger.error(`error: required option --sourceTag [type] in case the target is ${TARGETS.link}`); - exit(1); - } - - if (args.pathProject === undefined) { - args.pathProject = resolve('./'); - } - - if (args.fileName === undefined) { - args.fileName = DOCKER_FILENAME; - } - - if (args.loginCheck === true) { - login(args); - } - - let mainTag: string; - if (args.dockerTags !== '') { - args.dockerTags.split(',').forEach((tag, index) => { - if (tag) { - logger.info(`Analyzing tag:${tag} ... for target ${program.opts().target}`); - if (program.opts().target === TARGETS.publish) { - if (index === 0) { - logger.info(`Build only once`); - mainTag = tag; - buildImage(args, mainTag); - } - } else { - mainTag = args.sourceTag; - pullImage(args.dockerRepo, mainTag); - } - tagImage(args, mainTag, tag); - pushImage(args, tag); - } - }); - cleanImage(args, mainTag); - } else { - logger.error(`dockerTags cannot be empty ...`); - } -} diff --git a/lib/cli/scripts/exec.ts b/lib/cli/scripts/exec.ts deleted file mode 100644 index 0d8c63054a..0000000000 --- a/lib/cli/scripts/exec.ts +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env node - -/*! - * @license - * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { spawnSync } from 'child_process'; -import { logger } from './logger'; - -export interface ExecOptions { - cwd?: string; -} - -/** - * Exec function - * - * @param command command to execute - * @param args command arguments - * @param opts optional settings - * @returns void function - */ -export function exec(command: string, args?: string[], opts?: ExecOptions) { - if (process.platform.startsWith('win')) { - args.unshift('/c', command); - command = 'cmd.exe'; - } - - const { status, error, stderr, stdout } = spawnSync(command, args, { ...opts }); - - if (status !== 0) { - - if (args) { - logger.error(`Command failed: ${command} ${args.map((x) => JSON.stringify(x)).join(', ')}`); - } else { - logger.error(`Command failed ${command}`); - } - - if (error) { - logger.error('Error: ' + (error ? error.message : 'undefined')); - } else { - logger.error(`STDERR:\n${stderr}`); - } - throw error; - } else { - return stdout.toString(); - } -} diff --git a/lib/cli/scripts/index.ts b/lib/cli/scripts/index.ts index 3ed9410df7..ac7dc969c0 100644 --- a/lib/cli/scripts/index.ts +++ b/lib/cli/scripts/index.ts @@ -19,8 +19,6 @@ export * from './audit'; export * from './changelog'; export * from './check-cs-env'; export * from './check-plugin-env'; -export * from './docker'; -export * from './exec'; export * from './init-aae-env'; export * from './init-acs-env'; export * from './init-aps-env';