Обфускация и минификация JavaScript в конвейере битбакета

Я знаю, что мой код не стоит воровать, но он стоит «копейки» каждый раз, когда кто-то его скачивает — так как же я могу сделать его меньше (должен иметь)/менее читаемым (хорошо иметь) помимо того, чтобы делать это самостоятельно и подтолкнуть его к развертываемой ветке?

Мой текущий производственный конвейер выглядит так:

pipelines:
   branches:
      master:
      - step:
         deployment: production
         caches:
         - node
         script:
         - npm install -g firebase-tools
         - firebase deploy --token=TOKEN --project PROJECT --non-interactive

Что у меня есть:

  • Хостинг Firebase
  • простой сайт HTML + CSS + JS

Идеальное решение для меня было бы:

  • Оставьте основную ветку без изменений
  • Выполните минимизацию (и, возможно, обфускацию) кода
  • Разверните его в firebase
Интеграция Angular - Firebase Analytics
Интеграция Angular - Firebase Analytics
Узнайте, как настроить Firebase Analytics и отслеживать поведение пользователей в вашем приложении Angular.
3
0
580
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Итак, вот решение, которое я решил использовать:

pipelines:
  default:
    - step:
        deployment: production 
        # trigger: manual  # Uncomment to make this a manual deployment.
        caches:
          - node

    script: 
      - npm install uglify-es -g
      - uglifyjs ./public/scripts/NAME.js -c -m -o ./public/scripts/NAME.js 
      - uglifyjs ./public/scripts/NAME2.js -c -m -o ./public/scripts/NAME2.js 
      - pipe: atlassian/firebase-deploy:0.3.1
        variables:
          FIREBASE_TOKEN: 'TOKEN'
          PROJECT_ID: 'PROJECT' 

Это все еще WIP, но он работает так, как просили. Файлы минимизированы.

Аргументация в пользу uglify-es — это версия, которая поддерживает правила кодирования ES6.

Другие вопросы по теме