UNPKG

@shopify/cli-kit

Version:

A set of utilities, interfaces, and models that are common across all the platform features

14 lines 735 B
import { replaceInvalidCharacters } from './replace-invalid-characters.js'; import { randomBytes } from 'crypto'; import { hostname } from 'os'; export const API_NAME_LIMIT = 50; export function generateThemeName(context) { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion const hostNameWithoutDomain = hostname().split('.')[0]; const hash = randomBytes(3).toString('hex'); const name = `${context} ()`; const hostNameCharacterLimit = API_NAME_LIMIT - name.length - hash.length - 1; const identifier = replaceInvalidCharacters(`${hash}-${hostNameWithoutDomain.substring(0, hostNameCharacterLimit)}`); return `${context} (${identifier})`; } //# sourceMappingURL=generate-theme-name.js.map