From d4e226e857a0e02563e896185e9835f565a96908 Mon Sep 17 00:00:00 2001 From: Shrey Gupta Date: Thu, 7 Mar 2024 17:30:30 +0530 Subject: [PATCH] feat(integration): Add support to execute packaged custom scripts --- .github/workflows/update-origins.js | 7 +++++-- src/content/_custom_SampleScript.js | 8 ++++++++ src/custom-scripts.js | 6 ++++++ src/index.d.ts | 9 ++++++++- src/origins.js | 3 +++ 5 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 src/content/_custom_SampleScript.js create mode 100644 src/custom-scripts.js diff --git a/.github/workflows/update-origins.js b/.github/workflows/update-origins.js index 97216a8a5..907eef7d4 100644 --- a/.github/workflows/update-origins.js +++ b/.github/workflows/update-origins.js @@ -27,7 +27,9 @@ const getOrigins = () => { }; const formatOriginsFile = (origins) => - `export default {\n${Object.entries(origins) + `export { CustomScripts } from './custom-scripts' + +export default {\n${Object.entries(origins) .sort((a, b) => a[1].name.toLowerCase() < b[1].name.toLowerCase() ? -1 : 1 ) @@ -40,11 +42,12 @@ const formatOriginsFile = (origins) => .join(",\n")}\n};\n`; exec(`git diff --name-only HEAD^ HEAD`, (_, out) => { - const files = out.split(/[\r\n]+/).filter((name) => !!name && name.startsWith('src/content/')); + const files = out.split(/[\r\n]+/).filter((name) => !!name && name.startsWith('src/content/') && !path.basename(name).startsWith("_custom_")); if (files.length === 0) { console.log(`::No files to process`); process.exit(0); } + const infos = files .map((file) => ({ ...getFileInfo(readFileSync(file).toString()), diff --git a/src/content/_custom_SampleScript.js b/src/content/_custom_SampleScript.js new file mode 100644 index 000000000..f94d7ad56 --- /dev/null +++ b/src/content/_custom_SampleScript.js @@ -0,0 +1,8 @@ +/** + * @name SampleScript + * @urlAlias script_a_shortcode + * @urlRegex app.sample.com + */ +'use strict' + +console.log('Custom script executed') \ No newline at end of file diff --git a/src/custom-scripts.js b/src/custom-scripts.js new file mode 100644 index 000000000..add8bcbec --- /dev/null +++ b/src/custom-scripts.js @@ -0,0 +1,6 @@ +export const CustomScripts = { + 'script_a_shortcode': { + name: 'Custom Script For XYZ', + file: '_custom_SampleScript.js', + }, +} \ No newline at end of file diff --git a/src/index.d.ts b/src/index.d.ts index ad3dd54ee..1f77534d4 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -1,4 +1,4 @@ -import origins from './origins'; +import origins, { CustomScripts as customScripts } from './origins'; declare const _default = origins as { [key: string]: { @@ -9,3 +9,10 @@ declare const _default = origins as { }; export default _default; + +export declare const CustomScripts = customScripts as { + [key: string]: { + name: string; + file?: string; + }; +} diff --git a/src/origins.js b/src/origins.js index 175c7fa96..24d001830 100644 --- a/src/origins.js +++ b/src/origins.js @@ -1,3 +1,5 @@ +export { CustomScripts } from './custom-scripts' + export default { 'airtable.com': { url: '*://airtable.com/*', @@ -707,3 +709,4 @@ export default { name: 'Zube' } }; +