mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-19 11:01:15 +00:00
Initial commit to release
This commit is contained in:
36
packages/node-dev/src/Create.ts
Normal file
36
packages/node-dev/src/Create.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
|
||||
import * as fs from 'fs';
|
||||
import replaceInFile, { ReplaceInFileConfig } from 'replace-in-file';
|
||||
|
||||
const { promisify } = require('util');
|
||||
const fsCopyFile = promisify(fs.copyFile);
|
||||
|
||||
|
||||
/**
|
||||
* Creates a new credentials or node
|
||||
*
|
||||
* @export
|
||||
* @param {string} sourceFilePath The path to the source template file
|
||||
* @param {string} destinationFilePath The path the write the new file to
|
||||
* @param {object} replaceValues The values to replace in the template file
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function createTemplate(sourceFilePath: string, destinationFilePath: string, replaceValues: object): Promise<void> {
|
||||
|
||||
// Copy the file to then replace the values in it
|
||||
await fsCopyFile(sourceFilePath, destinationFilePath);
|
||||
|
||||
// Replace the variables in the template file
|
||||
const options: ReplaceInFileConfig = {
|
||||
files: [
|
||||
destinationFilePath
|
||||
],
|
||||
from: [],
|
||||
to: [],
|
||||
};
|
||||
options.from = Object.keys(replaceValues).map((key) => {
|
||||
return new RegExp(key, 'g');
|
||||
});
|
||||
options.to = Object.values(replaceValues);
|
||||
await replaceInFile(options);
|
||||
}
|
||||
Reference in New Issue
Block a user