Skip to content

Releases: bigbite/build-tools

1.2.0 β3

16 Dec 10:10
Compare
Choose a tag to compare
1.2.0 β3 Pre-release
Pre-release

⚠️ This is a Beta release. Do not use in production.

Whats New?

WordPress Dependency Extraction

Support for usage of @wordpress packages within code to allow for more native and standard usage of Gutenberg elements.

// Previously
const { registerBlockType } = wp.block;
const { __ } = wp.i18n;

// Now supported:
import { registerBlockType } from '@wordpress/blocks';
import { __ } from '@wordpress/i18n';

Accessing Dependency Array

As outlined in the Working with your Assets page on the wiki, asset information is placed in global PHP constants from the inc/asset-settings.php file. If we have an entry point of editor.js in a plugin/project called test-plugin that takes advantage of @wordpress packages, a new constant will be defined.

Constants with the suffix of _DEPENDENCIES will contant the array required.

define( 'TEST_PLUGIN_EDITOR_CSS', 'editor.css' );
define( 'TEST_PLUGIN_EDITOR_JS', 'editor.js' );

define( 'TEST_PLUGIN_EDITOR_DEPENDENCIES', ["react","wp-blocks","wp-i18n"] );
define( 'TEST_PLUGIN_VERSION', 'v0.0.0' );

Any entrypoints and subsequent scripts without dependencies will contain an empty array.

Aliases

To aide with directory traversion within components or files we can add a number of predefined aliases that allow for easier time with referencing directories based around a common structure that we use for our projects. This means we can avoid backstepping through directories to get back to a base directory. For example we may find we have a situation where we're backstepping to get to the components directory like this;

const { MyButtons } from '../../../components/buttons';

With aliases, this can easily be replaced with the following if required;

const { MyButtons } from '@Components/buttons';

The following are currently supported;

  • @Components{project-root}/src/components
  • Components{project-root}/src/components
  • @Static{project-root}/src/static
  • Static{project-root}/src/static
  • @Utils{project-root}/src/utils
  • Utils{project-root}/src/utils

Change Log

  • Adds alias resolving support to projects.
  • Adds support for @wordpress packages using DependencyExtraction as a custom extension of @wordpress/dependency-extraction-webpack-plugin package. See #60.
  • Removes HTMLWebpack plugin.
  • Adds custom TemplateGenerator plugin.
  • Refactors assetSettings template function.

1.2.0 β2

14 Dec 16:57
Compare
Choose a tag to compare
1.2.0 β2 Pre-release
Pre-release

⚠️ This is a Beta release. Do not use in production.

Whats New?

WordPress Dependency Extraction

Support for usage of @wordpress packages within code to allow for more native and standard usage of Gutenberg elements.

// Previously
const { registerBlockType } = wp.block;
const { __ } = wp.i18n;

// Now supported:
import { registerBlockType } from '@wordpress/blocks';
import { __ } from '@wordpress/i18n';

Aliases

To aide with directory traversion within components or files we can add a number of predefined aliases that allow for easier time with referencing directories based around a common structure that we use for our projects. This means we can avoid backstepping through directories to get back to a base directory. For example we may find we have a situation where we're backstepping to get to the components directory like this;

const { MyButtons } from '../../../components/buttons';

With aliases, this can easily be replaced with the following if required;

const { MyButtons } from '@Components/buttons';

The following are currently supported;

  • @Components{project-root}/src/components
  • Components{project-root}/src/components
  • @Static{project-root}/src/static
  • Static{project-root}/src/static
  • @Utils{project-root}/src/utils
  • Utils{project-root}/src/utils

Change Log

  • Adds alias resolving support to projects.
  • Adds support for @wordpress packages using the WordPress dependency extraction package.

1.2.0 β1

14 Dec 12:53
Compare
Choose a tag to compare
1.2.0 β1 Pre-release
Pre-release

⚠️ This is a Beta release. Do not use in production.

Whats New?

Aliases

To aide with directory traversion within components or files we can add a number of predefined aliases that allow for easier time with referencing directories based around a common structure that we use for our projects. This means we can avoid backstepping through directories to get back to a base directory. For example we may find we have a situation where we're backstepping to get to the components directory like this;

const { MyButtons } from '../../../components/buttons';

With aliases, this can easily be replaced with the following if required;

const { MyButtons } from '@Components/buttons';

The following are currently supported;

  • @Components{project-root}/src/components
  • Components{project-root}/src/components
  • @Static{project-root}/src/static
  • Static{project-root}/src/static
  • @Utils{project-root}/src/utils
  • Utils{project-root}/src/utils

Change Log

  • Adds alias resolving support to projects.

1.1.0

12 Dec 16:55
Compare
Choose a tag to compare

Introduces helper commands for recursively npm install and npm ci multiple projects across themes and plugins.

Commands

Install

Installing recursively can be done with a simple install command. This would replace npm install when working locally.

build-tools install

CI

When working in a CI environment, you can use the same ci command as expected from npm ci.

build-tools ci

with Additional Arguments

Sometimes you may want to have additional parameters for your installs, for example you may want to rebuild all available package lock files. So, you can chain arguments like below;

build-tools install -- --package-lock-only

Change Log

  • Adds build-tools install command.
  • Adds build-tools ci command.

1.0.0

06 Dec 12:40
Compare
Choose a tag to compare

Build Tools aims to cater for various needs of the Big Bite team when creating new sites, plugins and themes for projects. This means we need to have a tooling structure that allows us to develop in isolation when building a plugin or theme along side a whole site project without having to switch or configure tooling for when we change contexts.

See the wiki for configuration and further feature details.

Features

  • Compile plugins and themes in one command from the project root.
  • Target specific plugins and/or themes from a single command.
  • Support for multiple entrypoints.

1.0.0 RC4

20 May 21:44
ed8adae
Compare
Choose a tag to compare
1.0.0 RC4 Pre-release
Pre-release

What's Changed

Full Changelog: 1.0.0-rc.3...1.0.0-rc.4

1.0.0 RC3

16 May 10:59
242ed1f
Compare
Choose a tag to compare
1.0.0 RC3 Pre-release
Pre-release

What's Changed

Full Changelog: 1.0.0-rc.2...1.0.0-rc.3

1.0.0 RC2

06 May 14:25
Compare
Choose a tag to compare
1.0.0 RC2 Pre-release
Pre-release

What's Changed

Full Changelog: 1.0.0-rc.1...1.0.0-rc.2

1.0.0 RC1

31 Mar 08:02
Compare
Choose a tag to compare
1.0.0 RC1 Pre-release
Pre-release

What's Changed

Full Changelog: 1.0.0-beta.6...1.0.0-rc.1

1.0.0-beta.6

15 Dec 16:35
fb98d59
Compare
Choose a tag to compare
1.0.0-beta.6 Pre-release
Pre-release

What's Changed

Full Changelog: 1.0.0-beta.5...1.0.0-beta.6