Как создавать простые пользовательские сценарии для создания версий приложений на основе времени без использования сторонних библиотек.

Этот метод управления версиями больше подходит для приложений с очень гибкой разработкой или прототипов с частыми крайними сроками, чтобы определить, какая старая версия в настоящее время развернута на сервере.

Этот метод управления версиями не является стандартным, но имеет ряд существенных преимуществ. Например, он более удобочитаем, и как разработчик, так и клиент имеют лучшее представление о том, когда была собрана версия приложения, что позволяет им отслеживать, когда в код в последний раз вносились изменения. Иногда я сталкиваюсь с разработчиками, которые не понимают, как им версионировать свои приложения, так что это, наверное, самый простой способ хоть какую-то версию записать без особых усилий и в автоматическом режиме.

Даже если вы позже переключитесь на Семантическое управление версиями или Календарное управление версиями, сохранение этой версии временной сборки все равно будет полезно. Вы никогда не знаете, когда это может пригодиться, и к нему относительно легко получить доступ, не причиняя никакого вреда.

Следующие скрипты подходят для всех интерфейсных фреймворков, таких как Angular, React, Vue, Svelte и им подобных, поскольку они основаны на чистом JavaScript без необходимости установки сторонних библиотек.

💡Временное управление версиями имеет смысл, когда хронологический порядок и даты выпуска версий программного обеспечения имеют решающее значение. Если вместо этого вам нужно автоматическое семантическое управление версиями, которое поможет вашей команде независимо работать над компонентами и быстро понять последствия обновления до новой версии только на основе номера версии, используйте Bit.

Узнать больше:



Пример структуры файла

└── src
    └── app
    │   └── environments
    │   │   └── version.ts // generated file ts or js
    │   ├── version
    │   │   ├── version-file-generator.js // version file generator
    │   │   └── version-generator.js // version string generator
    └── package.json

Упрощенная приблизительная структура фреймворка Angular.

Генератор строк версии

exports.generate = function() {
  const now = new Date();
  return formatDate(now);
}

function formatDate(date) {
  const year = date.getFullYear();
  const month = padZero(date.getMonth() + 1);
  const day = padZero(date.getDate());
  const hours = padZero(date.getHours());
  const minutes = padZero(date.getMinutes());

  return `${year}.${month}.${day}-${hours}${minutes}`;
}

function padZero(value) {
  return value.toString().padStart(2, '0');
}

версия-generator.js

Генератор файлов версий

const { resolve } = require('path');
const { writeFileSync } = require('fs');

const version = require('./version-generator').generate();

// set path for created file and choose ts or js suffix
const file = resolve(__dirname, '../', 'environments', 'version.ts');

writeFileSync(file, `export const VERSION = '${version}';`);

console.info('VERSION', version);

версия-файл-генератор.js

NPM определяет версию скрипта

"scripts": {
  "version": "node src/version/version-file-generator.js",
},

package.json

Версия сценария запуска NPM

$ npm run version
> node src/version/version-file-generator.js

VERSION 2023.07.15-1648
export const VERSION = '2023.07.15-1648';

version.ts или version.js —автоматически создаваемый файл.

import { VERSION } from './version';

export class FooterComponent {
  public readonly version: string = VERSION;
}
<footer>{{ version }}</footer>

пример использования в компоненте нижнего колонтитула

Нравится ли вам гибкое управление версиями на основе времени? Хлопайте👏, подписывайтесь и делитесь в социальных сетях.

Создавайте составные приложения с повторно используемыми компонентами, как Lego.

Bit – это цепочка инструментов с открытым исходным кодом для разработки компонуемого программного обеспечения.

С помощью Bit вы можете разрабатывать любую часть программного обеспечения — современное веб-приложение, компонент пользовательского интерфейса, серверную службу или сценарий CLI — как независимую, повторно используемую и компонуемую единицу программного обеспечения. Совместно используйте любой компонент в своих приложениях, чтобы упростить совместную работу и ускорить сборку.

Присоединяйтесь к более чем 100 000 разработчиков, которые вместе создают компонуемое программное обеспечение.

Начните с этих руководств:

→ Микро-Фронтенды: Видео // Гид

→ Кодшеринг: Видео // Гид

→ Модернизация: Видео // Путеводитель

→ Монорепозиторий: Видео // Путеводитель

→ Микросервисы: Видео // Путеводитель

→ Дизайн-система: Видео // Путеводитель

Рекомендуемые статьи: