diff --git a/build-stork.js b/build-stork.js new file mode 100644 index 0000000..f8890e9 --- /dev/null +++ b/build-stork.js @@ -0,0 +1,48 @@ +import execa from 'execa' +import fs from 'fs-extra' +import axios from 'axios' + +import { isDarwin } from './helpers/environment.js' + + +const storkVersion = '1.4.2' + +const storkExecutableName = 'stork-executable' +const storkExecutablePath = `./${ storkExecutableName }` + +// https://stork-search.net/docs/install +const execDownloadUrls = { + darwin: `https://files.stork-search.net/releases/v${ storkVersion }/stork-macos-10-15`, + default: `https://files.stork-search.net/releases/v${ storkVersion }/stork-amazon-linux` +} + +;(async () => { + const envKey = isDarwin() ? 'darwin' : 'default' + + const execDownloadUrl = execDownloadUrls[ envKey ] + + console.log( 'execDownloadUrl', execDownloadUrl ) + + // Delete any existing executable + await fs.remove( storkExecutableName ) + + // Download the executable + await execa( `curl`, [ + execDownloadUrl, + + '-o', + storkExecutableName + ]) + + // const stat = await fs.stat( storkExecutableName ) + // console.log( 'stat', stat ) + + // Make sure the executable is executable + await fs.chmod( storkExecutableName, '755' ) + + const output = await execa( storkExecutableName, [ + '--version' + ]) + + console.log( 'output', output ) +})() diff --git a/package.json b/package.json index 8f8ab67..1822524 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,10 @@ "tsconfig-paths/register" ] }, + "stork": { + "in": "./public/stork-index.toml", + "out": "./public/stork-index.st" + }, "scripts": { "test-prebuild": "ava ./test/prebuild/**/*.js --verbose", "test-prebuild-functions": "npm run test-prebuild && npm run test-listings", @@ -25,6 +29,7 @@ "generate-dev": "npm run generate && npm test", "generate": "npm run clone-readme && npm run build-lists && npm run generate-nuxt && npm run generate-eleventy", "build-lists": "npm run test-prebuild && node -r esm build-lists.js", + "build-stork": "node -r esm build-stork.js", "dev-astro": "astro dev", "generate-astro": "astro build --experimental-ssr", "generate-nuxt": "NODE_OPTIONS=--max-old-space-size=60000 nuxt generate",