Add build-stork script

This commit is contained in:
Sam Carlton 2022-05-08 10:58:45 -05:00
parent 43ef3bd5ce
commit d90d109ca9
2 changed files with 53 additions and 0 deletions

48
build-stork.js Normal file
View file

@ -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 )
})()

View file

@ -11,6 +11,10 @@
"tsconfig-paths/register" "tsconfig-paths/register"
] ]
}, },
"stork": {
"in": "./public/stork-index.toml",
"out": "./public/stork-index.st"
},
"scripts": { "scripts": {
"test-prebuild": "ava ./test/prebuild/**/*.js --verbose", "test-prebuild": "ava ./test/prebuild/**/*.js --verbose",
"test-prebuild-functions": "npm run test-prebuild && npm run test-listings", "test-prebuild-functions": "npm run test-prebuild && npm run test-listings",
@ -25,6 +29,7 @@
"generate-dev": "npm run generate && npm test", "generate-dev": "npm run generate && npm test",
"generate": "npm run clone-readme && npm run build-lists && npm run generate-nuxt && npm run generate-eleventy", "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-lists": "npm run test-prebuild && node -r esm build-lists.js",
"build-stork": "node -r esm build-stork.js",
"dev-astro": "astro dev", "dev-astro": "astro dev",
"generate-astro": "astro build --experimental-ssr", "generate-astro": "astro build --experimental-ssr",
"generate-nuxt": "NODE_OPTIONS=--max-old-space-size=60000 nuxt generate", "generate-nuxt": "NODE_OPTIONS=--max-old-space-size=60000 nuxt generate",