TEC UTilities (or tut) are a collection of tools for managing plugins.

Overview

TEC Utilities

TEC UTilities (or tut) are a collection of tools for managing plugins.

                              /^\
           L L               /   \               L L
        __/|/|_             /  .  \             _|\|\__
       /_| [_[_\           /     .-\           /_]_] |_\
      /__\  __`-\_____    /    .    \    _____/-`__  /__\
     /___] /=@>  _   {>  /-.         \  <}   _  <@=\ [___\
    /____/     /` `--/  /      .      \  \--` `\     \____\
   /____/  \____/`-._> /               \ <_.-`\____/  \____\
  /____/    /__/      /-._     .   _.-  \      \__\    \____\
 /____/    /__/      /         .         \      \__\    \____\
|____/_  _/__/      /          .          \      \__\_  _\____|
 \__/_ ``_|_/      /      -._  .        _.-\      \_|_`` _\___/
   /__`-`__\      <_         `-;           _>      /__`-`__\
      `-`           `-._       ;       _.-`           `-`
                        `-._   ;   _.-`
                            `-._.-`

Installation

  1. Clone the repository git clone [email protected]:the-events-calendar/tut.git
  2. Go to the new directory cd tut.
  3. Copy .env.sample to .env. (you don't have to fill in the values for most commands to work)
  4. Run composer install
  5. Add the cloned repo into your PATH (edit your .bashrc / .bash_profile / .zshrc or whatever)
export PATH=/path/to/tut:$PATH

Typical use cases

Top-level Commands

Command Description
analyze Changelog entries for Hooks and Template changes
build Mass composer/npm/gulp building
changed-views Find all view changes in a branch
generate-css-override Finds CSS rules for the purposes of providing overrides.
get-build-number Gets the build number based on recent commit timestamp
get-hash Gets current repo hash
get-zip-filename Gets the expected zip filename for the plugin
list-templates List templates in plugin
package Package zips for release
release-date Updates the release date in the readme.txt changelog
reset Resets repo back to main/master
sync Git branch synchronization
submodule-sync Synchronizes submodules between repositories
tbd TBD Locator
upgrade Upgrades tut!
version Update version numbers

Git Subcommands

Command Description
git:clone Clone a repository
git:file Fetch a file from a repository

Extension Subcommands

Command Description
extension:create Create a TEC/ET extension
extension:set-dependency Modifies or adds a dependency to an extension repo on GitHub
Comments
  • Don't output empty items

    Don't output empty items

    Current (changelog):

    tribe-common

    • Tweak - Changed views: ``

    the-events-calendar

    • Tweak - Added filters: tec_events_integrations_should_load, tec_events_integrations_{$type}_should_load, tec_events_integrations_{$type}_{$slug}_should_load, tec_events_integrations_{$integration_type}_{$integration_slug}_events_schema_is_needed, tec_events_integrations_{$integration_type}_{$integration_slug}_json_ld_{$type}_data, tec_events_views_v2_view_label, tec_events_views_v2_{$slug}_view_label
    • Tweak - Removed filters: tribe_events_views, tribe_events_views_v2_manager_view_label_domain, tribe_events_views_v2_manager_{$slug}_view_label_domain, tribe_events_views_v2_manager_view_label, tribe_events_views_v2_manager_{$slug}_view_label
    • Tweak - Changed views: ``

    Changelog:

    tribe-common

    the-events-calendar

    • Tweak - Added filters: tec_events_integrations_should_load, tec_events_integrations_{$type}_should_load, tec_events_integrations_{$type}_{$slug}_should_load, tec_events_integrations_{$integration_type}_{$integration_slug}_events_schema_is_needed, tec_events_integrations_{$integration_type}_{$integration_slug}_json_ld_{$type}_data, tec_events_views_v2_view_label, tec_events_views_v2_{$slug}_view_label
    • Tweak - Removed filters: tribe_events_views, tribe_events_views_v2_manager_view_label_domain, tribe_events_views_v2_manager_{$slug}_view_label_domain, tribe_events_views_v2_manager_view_label, tribe_events_views_v2_manager_{$slug}_view_label

    List:

    tribe-common

    the-events-calendar

    Added

    • tec_events_integrations_should_load
    • tec_events_integrations_{$type}_should_load
    • tec_events_integrations_{$type}_{$slug}_should_load
    • tec_events_integrations_{$integration_type}_{$integration_slug}_events_schema_is_needed
    • tec_events_integrations_{$integration_type}_{$integration_slug}json_ld{$type}_data
    • tec_events_views_v2_view_label
    • tec_events_views_v2_{$slug}_view_label Removed
    • tribe_events_views
    • tribe_events_views_v2_manager_view_label_domain
    • tribe_events_views_v2_manager_{$slug}_view_label_domain
    • tribe_events_views_v2_manager_view_label
    • tribe_events_views_v2_manager_{$slug}_view_label

    HTML:

    tribe-common

    the-events-calendar

    Filters added

    • tec_events_integrations_should_load
    • tec_events_integrations_{$type}_should_load
    • tec_events_integrations_{$type}_{$slug}_should_load
    • tec_events_integrations_{$integration_type}_{$integration_slug}_events_schema_is_needed
    • tec_events_integrations_{$integration_type}_{$integration_slug}_json_ld_{$type}_data
    • tec_events_views_v2_view_label
    • tec_events_views_v2_{$slug}_view_label

    Filters removed

    • tribe_events_views
    • tribe_events_views_v2_manager_view_label_domain
    • tribe_events_views_v2_manager_{$slug}_view_label_domain
    • tribe_events_views_v2_manager_view_label
    • tribe_events_views_v2_manager_{$slug}_view_label
    opened by Camwyn 1
  • Include a GlotPress command for i18n

    Include a GlotPress command for i18n

    This is the first step of many in trying to stabilize our Language files.

    We were originally relying on gulp glotpress which didn't have a reliable way for us to debug certain parts and didn't correctly expose this particular task to the higher level of CD that we need for this to be a process that we can reliably call on a plugin.

    With this command being executed by PHP on tut we can clearly trigger the command without having to execute the expensive task of installing all the node packages for a plugin.

    Also important to note that the command tut i18n:glotpress allows multiple retries for each file.

    image
    opened by bordoni 1
  • update npm install to npm ci, remove updating product taskmaster

    update npm install to npm ci, remove updating product taskmaster

    Ticket: N/A

    This PR updates npm install to npm ci and removes updating product taskmaster. With moving product-taskmaster from the github source to npm, there would be no need to update product taskmaster as the package-lock.json should have the correct version. We should merge this in first before merging in the work to install product taskmaster from npm.

    Artifact: TBD

    opened by paulmskim 0
  • Use source instead of bash to prevent issues on more environments

    Use source instead of bash to prevent issues on more environments

    More details about the issue here: https://lw.slack.com/archives/G01H7Q57P1C/p1609432590051800

    Error this prevents:

    Error Output:
    ================
    sh: nvm: command not found
    The command "cd common && bash /Users/sc0ttkclark/.nvm/nvm.sh && nvm use && gulp" failed.
    Exit Code: 127(Command not found)
    Working directory: /Users/sc0ttkclark/Dropbox/Local Sites/test.tribe.local/app/public/wp-content/plugins/event-tickets
    

    To be further discussed on whether this fix is necessary or if bash usage was supposed to solve something else.

    opened by sc0ttkclark 0
  • Move POT generation from `gulp` to `tut`

    Move POT generation from `gulp` to `tut`

    Currently, the generation of the base POT file happens on gulp pot, which causes problems and inconsistencies because it is not flexible enough to create separate files for translation, which is something we will need to improve how JS translations happen.

    We can make gulp pot flexible for that purpose, but like in #10 I want to avoid including I18n tasks that require us to install all our Node Modules since these can be extremely time-consuming due to other dependencies on a plugin level.

    I am just registering this particular issue here, as I am already working on a solution that makes use of the WP-CLI wp i18n command.

    opened by bordoni 0
  • tut build should optionally discard git changes from the build process

    tut build should optionally discard git changes from the build process

    Every time I run tut build, the git repos have lock changes that I don't intend to keep/commit. We should add an option for the tut build command that allows for resetting each plugin git changes to the lock files specifically. Discarding those changes if they have changes.

    Files to discard changes for:

    • package-lock.json
    • package.json (if changed)
    • common/package-lock.json (if exists)
    • common/package.json (if changed, if exists)

    The package.json files change some times, but that's usually because of formatting changes that the build process introduces. Leads should handle those exceptions themselves and it will be self-evident when they run their builds without the discard option.

    opened by sc0ttkclark 0
Releases(1.2.7)
Owner
The Events Calendar
Calendars, ticketing, and powerful WordPress tools to manage your events from start to finish.
The Events Calendar
This library provides a collection of native enum utilities (traits) which you almost always need in every PHP project.

This library provides a collection of native enum utilities (traits) which you almost always need in every PHP project.

DIVE 20 Nov 11, 2022
A collection of useful codes and utilities for WordPress plugin development..

WordPress Utils A collection of useful codes and utilities for WordPress plugin development. These simplifies common tasks and promote code reusabilit

weDevs 5 Jun 9, 2023
A collection of command-line utilities to aid in debugging browser engines.

Browser debug utilities This project contains several scripts that make the process of debugging browser engines much easier (some special cases excep

Clay Freeman 5 May 29, 2023
A PHP script that converts PMMP-3 Plugins into PMMP-4 plugins

This script tries to convert pm3 plugins to pm4 as good as possible, but sadly not perfect. Please open issues if you find any unexpected behaviour, to help improving this script.

null 43 Dec 3, 2022
This is a collection of tutorials for learning how to use Docker with various tools. Contributions welcome.

Docker Tutorials and Labs At this time we are not actively adding labs to this repository. Our focus is on training.play-with-docker.com where new lab

Docker 11.1k Jan 2, 2023
A set of utilities for working with vk api!

vk-utils Документация на русском языке Installation composer require labile/vk-utils How to use it? Simple example use Astaroth\VkUtils\Client; $api

null 1 Jan 3, 2022
Open-source library used in Gigadrive projects with common PHP utilities

PHP Commons This library provides PHP utilities used in Gigadrive projects, provided for the open-source community. Functions are registered globally

Gigadrive UG 3 Nov 10, 2021
This is php utilities

PHP-UTILITY This is php utilities. Requirements PHP >= 7.4 Curl extension for PHP7 must be enabled. Download Using Composer From your project director

null 2 Aug 28, 2022
Magento-bulk - Bulk Import/Export helper scripts and CLI utilities for Magento Commerce

Magento Bulk Bulk operations for Magento. Configuration Copy config.php.sample to config.php and edit it. Product Attribute Management List All Attrib

Bippo Indonesia 23 Dec 20, 2022
Utilities to scan PHP code and generate class maps.

composer/class-map-generator Utilities to generate class maps and scan PHP code. Installation Install the latest version with: $ composer require comp

Composer 55 Dec 26, 2022
Demo of symfony/console features to build rich command line utilities

Symfony Console Demo This project is a demonstration of symfony/console features. To run the project with Docker. With bash: docker build -t myconsole

Jérôme Tamarelle 3 Jun 16, 2022
Utilities for the Contentful Rich Text

rich-text.php This library is built to help you with the parsing and rendering of the rich text field type in Contentful. It requires PHP 7.2 and up o

Contentful 8 Oct 1, 2022
Testing utilities for the psr/log package that backs the PSR-3 specification.

FIG - Log Test Testing utilities for the psr/log package that backs the PSR-3 specification. Psr\Log\Test\LoggerInterfaceTest provides a base test cla

PHP-FIG 3 Nov 19, 2022
A tool for managing SSH key access to any number of servers.

Revons - SSH Key Authority Features Easily manage SSH key access for all accounts on your servers. Manage user access and server-to-server access rule

Revons Community 1 Mar 14, 2022
A simple mini pos that handles managing product data's and product categories

What is CodeIgniter CodeIgniter is an Application Development Framework - a toolkit - for people who build web sites using PHP. Its goal is to enable

Mahendra Dwi Purwanto 0 Dec 26, 2021
Smd imagery - A Textpattern CMS plugin for managing images in the Write panel.

smd_imagery Insert images into your Write panel. Very handy for people who run photoblog or image-heavy sites, or those who categorise images for incl

Stef Dawson 5 Nov 15, 2022
Sspak - Tool for managing bundles of db/assets from SilverStripe environments

SSPak SSPak is a SilverStripe tool for managing database and assets content, for back-up, restoration, or transfer between environments. The file form

Silverstripe CMS 45 Dec 14, 2022
An application for building and managing Phars.

An application for building and managing Phars.

Box Project 1.2k Nov 9, 2022
Version is a library that helps with managing the version number of Git-hosted PHP projects

Version Version is a library that helps with managing the version number of Git-hosted PHP projects. Installation You can add this library as a local,

Sebastian Bergmann 6.3k Dec 26, 2022