Releases: bigbite/build-tools
1.5.0
Individual entrypoints
As well as individual projects, it is now possible to define specific, or individual entrypoints to build by specifying them using @
symbol and separating entrypoints by +
symbol.
Build all frontend entrypoints
build-tools build @frontend+editor
Build single project entrypoitns
build-tools build my-plugin@frontend
What's Changed
New Contributors
Full Changelog: 1.4.1...1.5.0
1.4.1
What's Changed
- Pass through asset info for hash removal in asset template by @ampersarnie in #126
Full Changelog: 1.4.0...1.4.1
1.4.0
What's Changed
This update changes the minification plugin away from the inbuilt Webpack flavour to Terser. The configuration used for Terser is the same that can be found in @wordpress/scripts
which means we are now more capable of using translation functions and translators:
comments effectively without workaround.
- Translation functions (
__()
,_x()
,_n()
, etc) no longer get obfuscated. translators:
comments are no longer stripped from minified files.
Change Log
- Change webpack config from native minification to use TerserPlugin. by @ampersarnie in #125
Full Changelog: 1.3.3...1.4.0
1.3.3
1.3.2
What's Changed
- Update style lint to v15 by @jordanharris-6 in #113
- Update development docs - build tools by @jordanharris-6 in #115
- Add postcss-scss package to parse SCSS using Stylelint version 14 or higher by @PaulREnglish in #121
- Adds Node version 20 compatibility by @PaulREnglish in #122
New Contributors
- @jordanharris-6 made their first contribution in #113
- @PaulREnglish made their first contribution in #121
Full Changelog: 1.3.1...1.3.2
1.3.1
What's Changed
- Create directories that do not exist from asset-settings.php path by @ampersarnie in #99
- Correct the nested structure for eslint config by @ampersarnie in #104
Full Changelog: 1.3.0...1.3.1
1.3.0
Whats New?
TypeScript
1.3 introduces support for TypeScript within Build Tools with the aims of creating an easy to use implementation that requires as little configuration as possible to keep a consistent approach to projects that are written in TypeScript and are compiled using Build Tools.
TypeScript Default Config and Rules
The aim for bundling the config was to provide a sane setup for each developer that is working within TypeScript that will also provide consistency across all projects that utilise it.
The configuration for TypeScript can be found in the configs/tsconfig.json
file.
There are also some image definition types that can be found in the configs/tsconfig/images.d.ts
file.
An addition of TypeScript ESLint has also been included to ensure that we've support for ESLint within our builds.
Project tsconfig.json
As part of the aim is to provide a bundled configuration file, the tsconfig.json
is defined within the project and can be found amongs other related configuration files within the /configs
directory. The config file aims to provide a sane standard as recommended in the issue comment here.
To ensure the config file is visible by IDEs and any other related software for error and syntax highlighting, you need to define and extend the tsconfig.json
within the root of your project.
{
"extends": "@bigbite/build-tools/configs/tsconfig"
}
Customising tsconfig.json
There are a number of situations where you may need to customise or extend the tsconfig.json
. This can be easily achieved by utilising the extends
property and pointing to the build-tools config to use as the base.
{
"extends": "@bigbite/build-tools/configs/tsconfig",
"include": [
"src/entrypoints",
"src/types"
],
}
Please note that extending has additional effects when implementing include
and exclude
. Read the documentation for extends
here.
Alternatively, if you need an entirely different tsconfig.json
than the one that is provided, a tsconfig.json
that is placed in the root of the project will be picket up by the build-tools, whether it is extended or not.
Performance Improvements
An improvement to project discovery has been added to speed up seeking of compatible projects. There should be no breaking changes or alterations for existing usages and implementations of build-tools
.
What's Changed
- Base project discovery around package.json first by @g-elwell in #70
- TypeScript Support by @ampersarnie in #90
- Set typescript import resolver for stylesheets by @ampersarnie in #95
- Add include path to tsconfig by @ampersarnie in #98
- Upgrade Babel plugins from proposed to implemented by @jonmcp in #102
- Fix issues with ESLint Import Resolver by @ampersarnie in #103
Full Changelog: 1.2.5...1.3.0
1.3.0 β4
Whats New?
TypeScript
1.3 introduces support for TypeScript within Build Tools with the aims of creating an easy to use implementation that requires as little configuration as possible to keep a consistent approach to projects that are written in TypeScript and are compiled using Build Tools.
TypeScript Default Config and Rules
The aim for bundling the config was to provide a sane setup for each developer that is working within TypeScript that will also provide consistency across all projects that utilise it.
The configuration for TypeScript can be found in the configs/tsconfig.json
file.
There are also some image definition types that can be found in the configs/tsconfig/images.d.ts
file.
An addition of TypeScript ESLint has also been included to ensure that we've support for ESLint within our builds.
Project tsconfig.json
As part of the aim is to provide a bundled configuration file, the tsconfig.json
is defined within the project and can be found amongs other related configuration files within the /configs
directory. The config file aims to provide a sane standard as recommended in the issue comment here.
To ensure the config file is visible by IDEs and any other related software for error and syntax highlighting, you need to define and extend the tsconfig.json
within the root of your project.
{
"extends": "@bigbite/build-tools/configs/tsconfig"
}
Customising tsconfig.json
There are a number of situations where you may need to customise or extend the tsconfig.json
. This can be easily achieved by utilising the extends
property and pointing to the build-tools config to use as the base.
{
"extends": "@bigbite/build-tools/configs/tsconfig",
"include": [
"src/entrypoints",
"src/types"
],
}
Please note that extending has additional effects when implementing include
and exclude
. Read the documentation for extends
here.
Alternatively, if you need an entirely different tsconfig.json
than the one that is provided, a tsconfig.json
that is placed in the root of the project will be picket up by the build-tools, whether it is extended or not.
Performance Improvements
An improvement to project discovery has been added to speed up seeking of compatible projects. There should be no breaking changes or alterations for existing usages and implementations of build-tools
.
What's Changed
- chore(deps): bump webpack from 5.72.1 to 5.76.0 by @dependabot in #75
- Add unit and integration tests by @g-elwell in #67
- Add unit test run in ci by @ampersarnie in #81
- Base project discovery around package.json first by @g-elwell in #70
- TypeScript Support by @ampersarnie in #90
- Set typescript import resolver for stylesheets by @ampersarnie in #95
- Add include path to tsconfig by @ampersarnie in #98
Full Changelog: 1.3.0-beta.3...1.3.0-beta.4
1.2.5
What's Changed
Change brings in allowance for an additional config for further compatibility with an editor.
VSCode (or other Editor) Config
While most packages and config will work out of the box there are a number of configs that need defining to give yourself the best compatibility with your Editor setup. These include:
- Prettier
- ESLint
To get these working correctly with your Editor you simply need to reference them in your package.json
as seen below for prettier
and eslintConfig
keys.
{
"name": "my-package",
"version": "1.0.0",
"prettier": "@bigbite/build-tools/configs/prettier",
"eslintConfig": {
"extends": "./node_modules/@bigbite/build-tools/configs/eslint",
},
"dependencies": {}
}
Changelog
- Alter eslint config to not use function by @ampersarnie in #97
Full Changelog: 1.2.4...1.2.5
1.3.0 β3
Whats New?
TypeScript
1.3 introduces support for TypeScript within Build Tools with the aims of creating an easy to use implementation that requires as little configuration as possible to keep a consistent approach to projects that are written in TypeScript and are compiled using Build Tools.
TypeScript Default Config and Rules
The aim for bundling the config was to provide a sane setup for each developer that is working within TypeScript that will also provide consistency across all projects that utilise it.
The configuration for TypeScript can be found in the configs/tsconfig.json
file.
There are also some image definition types that can be found in the configs/tsconfig/images.d.ts
file.
An addition of TypeScript ESLint has also been included to ensure that we've support for ESLint within our builds.
Project tsconfig.json
As part of the aim is to provide a bundled configuration file, the tsconfig.json
is defined within the project and can be found amongs other related configuration files within the /configs
directory. The config file aims to provide a sane standard as recommended in the issue comment here.
To ensure the config file is visible by IDEs and any other related software for error and syntax highlighting, you need to define and extend the tsconfig.json
within the root of your project.
{
"extends": "@bigbite/build-tools/configs/tsconfig"
}
Customising tsconfig.json
There are a number of situations where you may need to customise or extend the tsconfig.json
. This can be easily achieved by utilising the extends
property and pointing to the build-tools config to use as the base.
{
"extends": "@bigbite/build-tools/configs/tsconfig",
"include": [
"src/entrypoints",
"src/types"
],
}
Please note that extending has additional effects when implementing include
and exclude
. Read the documentation for extends
here.
Alternatively, if you need an entirely different tsconfig.json
than the one that is provided, a tsconfig.json
that is placed in the root of the project will be picket up by the build-tools, whether it is extended or not.
Performance Improvements
An improvement to project discovery has been added to speed up seeking of compatible projects. There should be no breaking changes or alterations for existing usages and implementations of build-tools
.
What's Changed
- chore(deps): bump webpack from 5.72.1 to 5.76.0 by @dependabot in #75
- Add unit and integration tests by @g-elwell in #67
- Add unit test run in ci by @ampersarnie in #81
- Base project discovery around package.json first by @g-elwell in #70
- TypeScript Support by @ampersarnie in #90
- Set typescript import resolver for stylesheets by @ampersarnie in #95
Full Changelog: 1.2.4...1.3.0-beta.3