diff --git a/package.json b/package.json index d6d1c47..b92f346 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "stylelint": "stylelint scss/**/*.scss", "build:stylelint": "npm run stylelint -- --fix", "build:clean": "rimraf css", - "build:sass": "node-sass --output-style expanded --source-map true --functions scss/functions.js scss/nes.scss css/nes.css", + "build:sass": "node-sass --output-style expanded --source-map true --functions scripts/scssFunctions.js scss/nes.scss css/nes.css", "build:autoprefix": "postcss --use autoprefixer --map false --output css/nes.css css/nes.css", "build:cleancss": "cleancss -o css/nes.min.css css/nes.css", "storybook": "start-storybook -p 6006", diff --git a/scripts/getBuildData.js b/scripts/getBuildData.js new file mode 100644 index 0000000..369d1ef --- /dev/null +++ b/scripts/getBuildData.js @@ -0,0 +1,26 @@ +const git = require('git-rev-sync'); /* eslint-disable-line import/no-extraneous-dependencies */ + +module.exports = (isCompiled = false) => { + let buildData = ''; + + if (git.branch() !== 'master') { + buildData += '\n'; + + if (isCompiled) { + buildData += ` + Build Date: ${(new Date()).toISOString()} + Node Version: ${process.version}`; + } + + buildData += ` + Branch: ${git.branch()} + Commit: ${git.long()}`; + + if (process.env.CIRCLECI) { + buildData += ` + Build Number (CircleCI): ${process.env.CIRCLE_BUILD_NUM}`; + } + } + + return buildData.replace(/\n/, '').replace(/^ +/gm, ' '); +}; diff --git a/scripts/scssFunctions.js b/scripts/scssFunctions.js new file mode 100644 index 0000000..d18960a --- /dev/null +++ b/scripts/scssFunctions.js @@ -0,0 +1,7 @@ +const { types } = require('node-sass'); /* eslint-disable-line import/no-extraneous-dependencies */ + +const getBuildData = require('./getBuildData'); + +module.exports = { + 'build-data()': () => types.String(getBuildData(true)), +}; diff --git a/scss/functions.js b/scss/functions.js deleted file mode 100644 index 468d277..0000000 --- a/scss/functions.js +++ /dev/null @@ -1,28 +0,0 @@ -const git = require('git-rev-sync'); /* eslint-disable-line import/no-extraneous-dependencies */ -const { types } = require('node-sass'); /* eslint-disable-line import/no-extraneous-dependencies */ - -module.exports = { - 'version()': () => { - const packageData = require('../package.json'); /* eslint-disable-line global-require */ - - let buildData = ` - NES.css Framework - Version: ${(git.branch() === 'develop') ? 'development' : `v${packageData.version}`} - `; - - if (git.branch() !== 'master') { - buildData += ` - Build Date: ${(new Date()).toISOString()} - Node Version: ${process.version} - Branch: ${git.branch()} - Commit: ${git.long()}`; - } - - if (process.env.CIRCLECI) { - buildData += ` - Build Number (CircleCI): ${process.env.CIRCLE_BUILD_NUM}`; - } - - return types.String(buildData.replace(/\n/, '').replace(/^ +/gm, ' ')); - }, -}; diff --git a/scss/nes.scss b/scss/nes.scss index f1936ab..19c622f 100644 --- a/scss/nes.scss +++ b/scss/nes.scss @@ -1,7 +1,9 @@ @charset "utf-8"; /*****************************************************************************\ -#{version()} + NES.css Framework + Version: development +#{build-data()} \*****************************************************************************/ @import "base/_index.scss";