2021-02-11 21:31:41 +08:00

77 lines
2.1 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env node
'use strict';
/* eslint-disable no-console */
const execa = require('execa');
const replace = require('replace-in-file');
const NetlifyAPI = require('netlify');
const client = new NetlifyAPI(process.env.NETLIFY_API_KEY);
function logStdOut(opts) {
console.log(opts.stdout);
}
if (!process.env.NETLIFY_API_KEY || !process.env.NETLIFY_SITE_ID) {
console.warn(
'Both NETLIFY_API_KEY and NETLIFY_SITE_ID are required. ' +
'They can be found on ' +
'https://app.netlify.com/sites/autocompletejs-playgrounds/settings/general' +
' and https://app.netlify.com/account/applications'
);
process.exit(0);
}
execa('yarn', ['build'])
.then(logStdOut)
.then(() => execa('rm', ['-rf', 'netlify-dist']))
.then(() => execa('mkdir', ['-p', 'netlify-dist/examples']))
.then(() => execa('cp', ['-r', 'examples', 'netlify-dist']))
.then(() => execa('mv', ['netlify-dist/examples/index.html', 'netlify-dist']))
.then(() =>
replace({
files: 'netlify-dist/index.html',
from: /href="\.\./g,
to: 'href=".'
})
)
.then(() => execa('mkdir', ['-p', 'netlify-dist/test']))
.then(() =>
execa('cp', [
'test/playground.css',
'test/playground.html',
'test/playground_angular.html',
'test/playground_jquery.html',
'netlify-dist/test'
])
)
.then(() => execa('cp', ['-r', 'dist', 'netlify-dist']))
.then(() =>
replace({
files: [
'netlify-dist/examples/basic.html',
'netlify-dist/examples/basic_angular.html',
'netlify-dist/examples/basic_jquery.html'
],
from: /https:\/\/cdn.jsdelivr.net\/autocomplete.js\/0/g,
to: '../dist'
})
)
.then(() =>
client.deploy(process.env.NETLIFY_SITE_ID, 'netlify-dist', {
draft: true,
message: process.env.TRAVIS_COMMIT_MESSAGE || ''
})
)
.then(({deploy: {id, name, deploy_ssl_url: url}}) =>
console.log(
'🕸 site is available at ' +
url +
'\n\n' +
'Deploy details available at https://app.netlify.com/sites/' +
name +
'/deploys/' +
id
)
);