feat: move utils away from root directory (#3028)

Co-authored-by: srwang <srwang@users.noreply.github.com>
This commit is contained in:
srwang 2024-04-03 11:17:14 -04:00 committed by GitHub
parent ca2154e37f
commit f5a5c057a7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 25 additions and 27 deletions

View File

@ -5,7 +5,7 @@ const helpCommand = require('../lib/help');
const buildTokensCommand = require('../lib/build-tokens'); const buildTokensCommand = require('../lib/build-tokens');
const replaceVariablesCommand = require('../lib/replace-variables'); const replaceVariablesCommand = require('../lib/replace-variables');
const buildScssCommand = require('../lib/build-scss'); const buildScssCommand = require('../lib/build-scss');
const { sendTrackInfo } = require('../utils'); const { sendTrackInfo } = require('../lib/utils');
const versionCommand = require('../lib/version'); const versionCommand = require('../lib/version');
const commandAliases = { const commandAliases = {

View File

@ -8,7 +8,7 @@ const {
addComponentToExports, addComponentToExports,
addComponentToGit, addComponentToGit,
} = require('./utils'); } = require('./utils');
const { sendTrackInfo } = require('../utils'); const { sendTrackInfo } = require('../lib/utils');
program program
.argument('<ComponentName>', 'Component must have a name', validateComponentName) .argument('<ComponentName>', 'Component must have a name', validateComponentName)

View File

@ -1,4 +1,25 @@
// eslint-disable-next-line import/prefer-default-export const axios = require('axios');
/**
* Sends request to the Netlify function to inform about specified event.
* @param {string} eventId - tracking event id
* @param {object} properties - tracking properties
*/
function sendTrackInfo(eventId, properties) {
const { BASE_URL, TRACK_ANONYMOUS_ANALYTICS } = process.env;
if (TRACK_ANONYMOUS_ANALYTICS) {
const url = `${BASE_URL}/.netlify/functions/sendTrackData`;
axios.post(url, { eventId, properties })
.then(result => {
// eslint-disable-next-line no-console
console.log(`Track info is successfully sent (status ${result.status})`);
}).catch(error => {
// eslint-disable-next-line no-console
console.log(`Track info request failed (${error})`);
});
}
}
function capitalize(str) { function capitalize(str) {
if (typeof str !== 'string' || str.length === 0) { if (typeof str !== 'string' || str.length === 0) {
return ''; return '';
@ -6,4 +27,4 @@ function capitalize(str) {
return str.charAt(0).toUpperCase() + str.slice(1); return str.charAt(0).toUpperCase() + str.slice(1);
} }
module.exports = { capitalize }; module.exports = { sendTrackInfo, capitalize };

View File

@ -1,23 +0,0 @@
const axios = require('axios');
/**
* Sends request to the Netlify function to inform about specified event.
* @param {string} eventId - tracking event id
* @param {object} properties - tracking properties
*/
function sendTrackInfo(eventId, properties) {
const { BASE_URL, TRACK_ANONYMOUS_ANALYTICS } = process.env;
if (TRACK_ANONYMOUS_ANALYTICS) {
const url = `${BASE_URL}/.netlify/functions/sendTrackData`;
axios.post(url, { eventId, properties })
.then(result => {
// eslint-disable-next-line no-console
console.log(`Track info is successfully sent (status ${result.status})`);
}).catch(error => {
// eslint-disable-next-line no-console
console.log(`Track info request failed (${error})`);
});
}
}
module.exports = { sendTrackInfo };