UNPKG

@dmgt/google-ad-manager-api

Version:
68 lines 2.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const lodash_1 = require("lodash"); const promises_1 = require("node:fs/promises"); const node_path_1 = tslib_1.__importDefault(require("node:path")); commit().then((message) => message && console.info(JSON.stringify(message))); async function commit() { const commit = await commitInfo(); if (!commit) { console.warn('no change to state'); return; } await updateState(); return commit; } async function commitInfo() { const { added, removed } = await checkState(); let type = ''; const body = []; const labels = []; if (added.length) { type = 'feat(state)'; body.push(`Added version${added.length > 1 ? 's' : ''} ${added.join(' ')}`); labels.push('enhancement'); } if (removed.length) { type = 'feat(state)!'; body.push(`BREAKING CHANGE: Removed version${removed.length > 1 ? 's' : ''} ${removed}`); labels.push('breaking change'); } return type ? { branch: 'gam/' + (added.length ? added.join('-') : removed.length ? `removed-${removed.join('-removed-')}` : type), commitType: type, commitMessage: `${type}: update gam api${body.length ? `\n\n${body.join('\n\n')}` : ''}`, labels: labels.join(','), prTitle: `GAM API Updates`, prBody: body.join('\n\n'), } : null; } async function checkState() { const state = require('../state.json'); const versions = await getVersions(); return { removed: (0, lodash_1.difference)(state.versions, versions), added: (0, lodash_1.difference)(versions, state.versions), }; } async function updateState() { await (0, promises_1.writeFile)('src/state.json', JSON.stringify({ ...require('../state.json'), versions: await getVersions(), })); } async function getVersions() { const versions = await (0, promises_1.readdir)('src/api'); return versions .map((version) => node_path_1.default.basename(version, node_path_1.default.extname(version))) .sort(); } //# sourceMappingURL=state.js.map