mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-16 17:46:45 +00:00
ci: Remove gulp (no-changelog) (#9283)
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
This commit is contained in:
committed by
GitHub
parent
7b925ab871
commit
cf441e0294
19
packages/core/bin/copy-icons
Executable file
19
packages/core/bin/copy-icons
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const glob = require('fast-glob');
|
||||
const pLimit = require('p-limit');
|
||||
const { cp } = require('fs/promises');
|
||||
const { packageDir } = require('./common');
|
||||
|
||||
const limiter = pLimit(20);
|
||||
const icons = glob.sync('{nodes,credentials}/**/*.{png,svg}', { cwd: packageDir });
|
||||
|
||||
(async () => {
|
||||
await Promise.all(
|
||||
icons.map((icon) =>
|
||||
limiter(() => {
|
||||
return cp(icon, `dist/${icon}`, { recursive: true });
|
||||
}),
|
||||
),
|
||||
);
|
||||
})();
|
||||
99
packages/core/bin/generate-translations
Executable file
99
packages/core/bin/generate-translations
Executable file
@@ -0,0 +1,99 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const {
|
||||
existsSync,
|
||||
promises: { writeFile },
|
||||
} = require('fs');
|
||||
const path = require('path');
|
||||
const { packageDir } = require('./common');
|
||||
|
||||
const ALLOWED_HEADER_KEYS = ['displayName', 'description'];
|
||||
const PURPLE_ANSI_COLOR_CODE = 35;
|
||||
|
||||
function getNodeTranslationPaths() {
|
||||
const nodeDistPaths = require(`${packageDir}/package.json`).n8n.nodes;
|
||||
const { N8N_DEFAULT_LOCALE: locale } = process.env;
|
||||
|
||||
return nodeDistPaths.reduce((acc, cur) => {
|
||||
const nodeTranslationPath = path.join(
|
||||
packageDir,
|
||||
cur.split('/').slice(1, -1).join('/'),
|
||||
'translations',
|
||||
locale,
|
||||
toTranslationFile(cur),
|
||||
);
|
||||
|
||||
if (existsSync(nodeTranslationPath)) {
|
||||
acc.push(nodeTranslationPath);
|
||||
}
|
||||
|
||||
return acc;
|
||||
}, []);
|
||||
}
|
||||
|
||||
function getHeaders(nodeTranslationPaths) {
|
||||
return nodeTranslationPaths.reduce((acc, cur) => {
|
||||
const { header } = require(cur);
|
||||
const nodeType = cur.split('/').pop().replace('.json', '');
|
||||
|
||||
if (isValidHeader(header, ALLOWED_HEADER_KEYS)) {
|
||||
acc[nodeType] = header;
|
||||
}
|
||||
|
||||
return acc;
|
||||
}, {});
|
||||
}
|
||||
|
||||
// ----------------------------------
|
||||
// helpers
|
||||
// ----------------------------------
|
||||
|
||||
function toTranslationFile(distPath) {
|
||||
const raw = distPath.split('/').pop().replace('.node', '') + 'on';
|
||||
return raw.charAt(0).toLowerCase() + raw.slice(1);
|
||||
}
|
||||
|
||||
function isValidHeader(header, allowedHeaderKeys) {
|
||||
if (!header) return false;
|
||||
|
||||
const headerKeys = Object.keys(header);
|
||||
|
||||
return headerKeys.length > 0 && headerKeys.every((key) => allowedHeaderKeys.includes(key));
|
||||
}
|
||||
|
||||
function writeDistFile(data, distPath) {
|
||||
writeFile(distPath, `module.exports = ${JSON.stringify(data, null, 2)}`);
|
||||
}
|
||||
|
||||
const log = (string, { bulletPoint } = { bulletPoint: false }) => {
|
||||
if (bulletPoint) {
|
||||
process.stdout.write(colorize(PURPLE_ANSI_COLOR_CODE, `- ${string}\n`));
|
||||
return;
|
||||
}
|
||||
|
||||
process.stdout.write(`${string}\n`);
|
||||
};
|
||||
|
||||
const colorize = (ansiColorCode, string) =>
|
||||
['\033[', ansiColorCode, 'm', string, '\033[0m'].join('');
|
||||
|
||||
/**
|
||||
* Write node translation headers to single file at `/dist/nodes/headers.js`.
|
||||
*/
|
||||
const { N8N_DEFAULT_LOCALE: locale } = process.env;
|
||||
|
||||
log(`Default locale set to: ${colorize(PURPLE_ANSI_COLOR_CODE, locale || 'en')}`);
|
||||
|
||||
if (!locale || locale === 'en') {
|
||||
log('No translation required - Skipping translations build...');
|
||||
return;
|
||||
}
|
||||
|
||||
const nodeTranslationPaths = getNodeTranslationPaths();
|
||||
const headers = getHeaders(nodeTranslationPaths);
|
||||
const headersDistPath = path.join(packageDir, 'dist', 'nodes', 'headers.js');
|
||||
|
||||
writeDistFile(headers, headersDistPath);
|
||||
|
||||
log('Headers file written to:');
|
||||
log(headersDistPath, { bulletPoint: true });
|
||||
Reference in New Issue
Block a user