The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
January 27, 2023
config.img.optimiseGIFs
which allows more granular control over whether GIFs get optimised or not.config.img.optimiseJPEGs
which allows more granular control over whether JPEGs get optimised or not.config.img.optimisePNGs
which allows more granular control over whether PNGs get optimised or not.
December 22, 2022
config.img.optimiseSVGs
which allows more granular control over whether SVGs get minified or not.
December 22, 2022
gulp-svgmin
package updated to latest.- Some other minor dependency updates.
October 4, 2022
- Assorted security updates via dependabot.
August 1, 2022
eyeglass
package. Consuming applications will need to specify the path to modules correctly.- e.g 'import fozzie' > '@use @justeat/fozzie/src/scss/fozzie'
July 26, 2022
- Upgraded the version of
gulp-sass
from4.0.2
to5.1.0
May 27, 2022
- Variable name
May 25, 2022
customTasks
property to JavaScript config.- This allows tasks (provided by the consuming application) to be run as part of the
gulp:scripts
command, in parallel withscripts:bundle
.
- This allows tasks (provided by the consuming application) to be run as part of the
May 23, 2022
- Failing
images
tasks. - Character warnings, e.g.,
❯❯
->>>
.
- Re-enable
optimiseImages
andspriteSvgs
by default now that they're working again.
- Some unnecessary callbacks (they were showing as
<anonymous>
in the output).
May 19, 2022
- Use circleci instead of Travis for CI
- Use of spread operator for tasks:
service-worker
images:optimise
copy:img:docs
images:svg-sprite
May 6, 2020
watch
tasks so they work with Gulp v4.
May 5, 2020
- Adapted the
default
task so that it works with Gulp v4.
March 10, 2020
- Turns out there were more changes needed for Gulp v4 😆
Specifically, regarding
runSequence
(which no longer works in Gulp v4). Have converted these tasks to usegulp.series
andgulp.parallel
instead. This ahs been tested with how HomeWeb uses its default task – this is likely to need more specific testing/updates if/when we migrate this into other applications that use this package).
March 6, 2020
- Upgrade
gulp
to v4 (so that it's now compatible with Node v12)
February 19, 2020
- Upgrade
jest-cli
to v25, and usejest
package instead to supportrunCLI
command - Minor package updates
- Destructure some imports
December 11, 2019
- Copy issue where for some reason the
gulpif
package was incorrectly stopping all images being copied over whengulp.dest
was run. Have split out the base copy and the docs copy streams so they don't impact one another.
November 12, 2019
- Updating dependencies. ESLint to v6, Eslint config updated to latest, and a host of other smaller dependency changes
October 25, 2019
- problematic
images:optimise
andimages:svg-sprite
from images task can now be toggled on/off in config. default is off.
- Linting in
assemble.js
.
February 12, 2019
- Adjusted
copy:assets
task so that it copies the assets over to the relevant docs folder when running in docs mode.
November 27, 2018
- Downgrading
event-stream
due to security vulnerability
- Updating package dependencies
October 12, 2018
- Updating README with Babel 7 FAQ info
October 12, 2018
- Babel 7 config is now added into the
gulp-build-fozzie
module directly, rther than managing in each separate projectpackage.json
. Resolutions for babel 7 bridge and Espree (Eslint fix) also added.
October 10, 2018
- README updated with Babel 7 config changes. Also includes note about adding Espree v3.5.4 as a resolution when adding linting with ESLint v6.
October 10, 2018
- Updated
f-templates-loader
dependency.
October 3, 2018
- Package dependency updates. Using the package will now require an upgrade to Babel 7.
September 1, 2018
gulp-stylelint
plugin replaces postcss for the SCSS compilation so that the task can autofix any issues (as the postcss plugin isn't capable of doing this).
- Updated
eslint-config-fozzie
dependency to remove warnings coming from airbnb-base config. - Update a bunch of minor dependencies.
August 24, 2018
- Updated
eslint-config-fozzie
dependency.
August 23, 2018
- Use ES6 compatible uglify component
August 20, 2018
Can now lint sub-modules Sass (for local development) by using the --lintModules
flag.
- Dependency on gulp-gh-pages removed in favour of our own forked version (as the maintainer had moved it to Gulp 4, which hasn't been released).
- Tests updated in line with config changes to CSS lintPaths
- Gemnasium removed from README
August 3, 2018
- Lots of BAU package updates as well as for f-template-loader to allow importing inline SVGs.
July 13, 2018
- Package versions updated (including
gulp-gh-pages
after contacting package owner). - Updated to v2 of
eslint-config-fozzie
- Quoted glob pattern in
scripts lint
config, as was picking up package names such asasn1.js
incorrectly for linting.
- New eslint config updates reflected in
--fix
of task js files
July 10, 2018
- Added resolutions value for
gift
, asgulp-gh-pages
was using an old version of this package which was stopping thedocs:deploy
task from running.
July 6, 2018
- Adding
copy:docs
task for copying docs sites specific files (such as CNAME records)
April 11, 2018
- Added
copy:img:docs
task and documentation.
- The
images:optimise
no longer copies images into the docs asset dist folder. - The
images
task now copies all of the images in the assets dist folder over to the docs dist folder if running a docs task.
April 11, 2018
- Register shared templates as partials rather than helpers.
April 10, 2018
- Updated
f-templates-loader
module.
April 9, 2018
- Added
f-templates-loader
module which handles locating and registering shared templates. - Added
config.docs.excludeTemplateDirs
property to allow directories to be ignored when adding shared templates.
.gitignore
updated to exclude yalc config files
April 3, 2018
- ESLint flag for automatically fixing ESLint rule violations. Will now fix a number of issues in-line when the lint task is run. For more info, check out the fix rule in the ESLint docs and to see a list of the rules this will auto-fix, see the ESLint rule list.
.gitignore
updated to exclude yalc config files
March 26, 2018
- Tests added to take coverage to 100%
- Unminified JS files compiled to docs folder
- Lodash clonedeep added for deep cloning objects in tests
- Split out the tests into more manageable chunks
March 8, 2018
- Default gulp tasks so that the logger file is created when gulp is run.
- Updated the pathBuilder
jsErrorLoggerDir
property toassetDistDir
so it outputs in the correct directory. - Updated
pathBuilder
unit tests.
February 16, 2018
gulp-file
to dependencies
- Add
logger-file.js
to tasks - this will add the server-side file required for the errorLogger to be inserted into the filesystem - Add logger paths to config
- Add logger paths to pathbuilder
- Updated unit tests
- Added
.idea
togitignore
- Updated
config.logger.dir
to bejs
- Updated
config.logger.subDir
to beshared
- Updated
readme
docs
- Removed
jsErrorLoggerDir
frompathBuilder.js
February 7, 2018
- Javascript task to handle versioning if
usePackageVersion
is set totrue
.
February 7, 2018
- Changed
imagemin
config to maintain svgviewBox
.
February 2, 2018
stripDebug
option toconfig.js
to allow the inclusion of console statements in production builds.--noStripDebug
command line flag.
- Jest rollback from v22.1.4 to v21.2.1.
February 1, 2018
- Added the ability to pass environment variables into the SCSS compilation
- Added $isDev, $isProd, $env and $server variables that are now available in Sass
- 🐻 added to fozzie log notification
- Minor package updates
January 30, 2018
- Run npm scripts concurrently.
- Updated eslint module versions.
- Updated jest version.
- Using
Object.assign
in jest task as object spread is only supported in node v8.6.0 and up.
- Removed eslint jest module as Jest is already specified within
eslint-config-fozzie
.
January 30, 2018
- Updated
f-copy-assets
module.
January 30, 2018
- Fix the way that arguments are combined when calling
jestTestRun
.
January 30, 2018
- Set
passWithNoTests
argument totrue
for all Jest test runs to prevent error when there are no tests in the project.
January 30, 2018
- Set
bail
argument totrue
only when run in production.
January 23, 2018
- Added
usePackageVersion
to config file to handle the css versioning, default value is set tofalse
. - Added
packageVersion
to config file which returns the current scoped package version. - Updated
config.test
tests to cover the above changes.
January 18, 2018
- Set
bail
argument totrue
for all Jest test runs so that it returns the correct exit code when a test run fails.
January 17, 2018
- Whole host of packages updated. Main ones to know about are:
- stylelint-config-fozzie updated to v2.0.0
- Babelify and Browserify major version bumps to v8 and v15 respectively
- Updated the Danger config in Travis, as the call is now
yarn danger ci
to run the checks
December 4, 2017
- Output unhashed, minified JS file
December 4, 2017
- Move
applyRevision
variable out of the JS-only config so that it can be used for applying revision identifiers to the CSS files as well. - Updated readme to reflect new config structure.
- Updated unit tests.
October 18, 2017
- Updated dependencies.
- Updated
jest.runCLI
to match new signature. - Moved duplicate jest calls out into a single function.
- Updated code formatting in
css:bundle
task.
October 4, 2017
- Changed the log message to display the consuming package name and gulp-build-fozzie version.
October 3, 2017
- Updated the CSS task so that it produces map files for both the concatenated and the minified files produced
September 22, 2017
- Commit message for docs:deploy updated so that it doesn't clash with commit checks
September 20, 2017
- Run
cleanupIDs
plugin to ensure all IDs are unique inside SVG sprite.
September 1, 2017
copy:assets
task has moved from thecss
task to theimages
task.- Changed the order in which the
images
tasks run — images are now copied, optimised, and then the SVG sprite is created. - SVG sprite is created from assets found in the
dist
directory rather thansrc
.
August 25, 2017
- Lint task plumber only used in dev (so that it breaks the travis build if it errors)
August 25, 2017
- Better error handling for JS bundling so that errors in the browserify build don’t break the stream
August 24, 2017
- Fixed a bug in
copy:assets
where the task callback was called too many times.
August 24, 2017
- Added
config.importedAssets.verbose
option. - Added unit tests for
config.importedAssets.verbose
option.
copy:assets
task uses thef-copy-assets
module rather thannpm-assets
- The Readme
config.importedAssets
section was updated.
August 22, 2017
copy:assets
task copies toconfig.assetDistDir
instead of thepathBuilder.importedAssetsDistDir
.css:bundle
task loads theconfig.DistDir
into postcss rather thanimportedAssetsDistDir
- The Readme
copy:assets
andconfig.importedAssets
sections were updated.
- Removed
config.importedAssets.importedAssetsDir
. - Removed
pathBuilder.importedAssetsDistDir
. - Removed unit tests for above properties.
- Removed
clean:assets
task. - The above properties and task were removed from the Readme.
August 21, 2017
- License update
August 18, 2017
- Added the
scripts:test:coverage
task.
August 18, 2017
- Added
docs:deploy
anddocs:release
tasks. - Added documentation for the new
docs
tasks.
- Removed
debug
from assemble task. - Removed
copy:fonts
task fromdocs
as it's called later in thedefault
task.
- Renamed the
Options
section toConfig
in the README.
August 16, 2017
- Added
browser-sync
task along with config settings and tests. - Added
docsAssetsDistDir
path topathBuilder
.
August 16, 2017
- JavaScript task can now handle multiple files to be bundled via Browserify/Babel. Check the README for updated config changes.
- Updatd
copy
task error handling
August 15, 2017
test:cover
task simplified.docs
task now copies fonts correctly.default
task refactored — now using the spread operator to conditionally add theservice-worker
task torunSequence
.
August 11, 2017
- Changed
config.importedAssets.importedAssetsSrcGlob
default option. copy:assets
task no longer recursively checks dependencies of dependencies.- Fixed a bug with the callback in
copy:assets
- Dangerfile updated – result json couldn’t be accessed, so had to pass in
result
variable
- Removed
watch:assets
task.
August 10, 2017
- Added
config.importedAssets
object. - Added imported assets paths to pathBuilder.
- Added
copy:assets
task. - Added
clean:assets
task. - Added
watch:assets
task. - Unit tests added for new config and pathBuilder properties.
- The Readme Imported Assets config section was added.
- The Readme Imported Assets pathBuilder section was added.
- The Readme was updated to document the new tasks added.
- Updated clean task comments.
- The
css:bundle
task loads theimportedAssetsDistDir
into postcss, so that Fozzie modules can access assets copied there.
August 8, 2017
- Added
config.fonts
object. - Added fonts paths to pathBuilder.
- Added
copy.fonts
object. - Added
copy:fonts
task. - Unit tests added for new config and pathBuilder properties.
- Unit tests added to test all
config.copy
properties are updated correctly. - The Readme Fonts config section was added.
- The Readme Fonts pathBuilder section was added.
- Updated copy task comments.
- If no
dest
property is defined in thecopy
config then it will default to an empty string. - Improved logging for
copy
tasks. - The Readme
config.copy
andcopy
tasks sections were updated to include the new font additions. - Updated
copy
task comments.
August 8, 2017
- Fixed lint errors in
danger.js
.
August 7, 2017
- Danger.js has been added to do basic PR checks. This will leave comments on the PR when the
changelog
hasn’t been updated, the version needs incrementing or if it thinks theREADME
might need an update.
August 4, 2017
- The return value is now an object containing the
build
,config
, andpathBuilder
objects instead of thebuild
function. - Service worker path no longer contains the service worker filename.
- The Readme Setup section was updated to reflect the changes to the default return value.
- The Readme Path Builder section was added.
August 3, 2017
- Added
copy:js
,copy:css
andcopy:img
tasks to copy over separate files without bundling. See README for more information.
August 3, 2017
- Added
lint
task which uses eslint to lint all of the JavaScript files in the project. The task is run — along with thetest
task — both BEFORE the package is packed and published, and on local npm install.
- The
for...in
loop inassemble.js
was throwing eslint errors, in order to fix this we converted the loop to useObject.keys
andforEach
instead.
August 2, 2017
config.docs.helpers
object added for passing through helper function for handlebars to use
August 2, 2017
- Updating numerous package dependencies in
package.json
andyarn.lock
August 2, 2017
- Fixed
isProduction
check for docs base URL.
August 2, 2017
- Consistent formatting of
gulp-if
statements.
- CSS sourcemap hack removed as the original issue appears to have been fixed.
- CSS sourcemaps are written to separate files.
- JavaScript sourcemaps are now written correctly.
watch:docs
task now outputs assets correctly.