diff options
author | Minteck <contact@minteck.org> | 2023-02-23 19:34:56 +0100 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2023-02-23 19:34:56 +0100 |
commit | 3d1cd02f27518f1a04374c7c8320cd5d82ede6e9 (patch) | |
tree | 75be5fba4368472fb11c8015aee026b2b9a71888 /includes/external/school/node_modules/axios/gulpfile.js | |
parent | 8cc1f13c17fa2fb5a4410542d39e650e02945634 (diff) | |
download | pluralconnect-3d1cd02f27518f1a04374c7c8320cd5d82ede6e9.tar.gz pluralconnect-3d1cd02f27518f1a04374c7c8320cd5d82ede6e9.tar.bz2 pluralconnect-3d1cd02f27518f1a04374c7c8320cd5d82ede6e9.zip |
Updated 40 files, added 37 files, deleted 1103 files and renamed 3905 files (automated)
Diffstat (limited to 'includes/external/school/node_modules/axios/gulpfile.js')
-rw-r--r-- | includes/external/school/node_modules/axios/gulpfile.js | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/includes/external/school/node_modules/axios/gulpfile.js b/includes/external/school/node_modules/axios/gulpfile.js new file mode 100644 index 0000000..7d35343 --- /dev/null +++ b/includes/external/school/node_modules/axios/gulpfile.js @@ -0,0 +1,88 @@ +import gulp from 'gulp'; +import fs from 'fs-extra'; +import axios from './index.js'; + +gulp.task('default', async function(){ + console.log('hello!'); +}); + +const clear = gulp.task('clear', async function() { + await fs.emptyDir('./dist/') +}); + +const bower = gulp.task('bower', async function () { + const npm = JSON.parse(await fs.readFile('package.json')); + const bower = JSON.parse(await fs.readFile('bower.json')); + + const fields = [ + 'name', + 'description', + 'version', + 'homepage', + 'license', + 'keywords' + ]; + + for (let i = 0, l = fields.length; i < l; i++) { + const field = fields[i]; + bower[field] = npm[field]; + } + + await fs.writeFile('bower.json', JSON.stringify(bower, null, 2)); +}); + +async function getContributors(user, repo, maxCount = 1) { + const contributors = (await axios.get( + `https://api.github.com/repos/${encodeURIComponent(user)}/${encodeURIComponent(repo)}/contributors`, + { params: { per_page: maxCount } } + )).data; + + return Promise.all(contributors.map(async (contributor)=> { + return {...contributor, ...(await axios.get( + `https://api.github.com/users/${encodeURIComponent(contributor.login)}` + )).data}; + })) +} + +const packageJSON = gulp.task('package', async function () { + const CONTRIBUTION_THRESHOLD = 3; + + const npm = JSON.parse(await fs.readFile('package.json')); + + try { + const contributors = await getContributors('axios', 'axios', 15); + + npm.contributors = contributors + .filter( + ({type, contributions}) => type.toLowerCase() === 'user' && contributions >= CONTRIBUTION_THRESHOLD + ) + .map(({login, name, url}) => `${name || login} (https://github.com/${login})`); + + await fs.writeFile('package.json', JSON.stringify(npm, null, 2)); + } catch (err) { + if (axios.isAxiosError(err) && err.response && err.response.status === 403) { + throw Error(`GitHub API Error: ${err.response.data && err.response.data.message}`); + } + throw err; + } +}); + +const env = gulp.task('env', async function () { + var npm = JSON.parse(await fs.readFile('package.json')); + + await fs.writeFile('./lib/env/data.js', Object.entries({ + VERSION: npm.version + }).map(([key, value]) => { + return `export const ${key} = ${JSON.stringify(value)};` + }).join('\n')); +}); + +const version = gulp.series('bower', 'env', 'package'); + +export { + bower, + env, + clear, + version, + packageJSON +} |