Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

liferay-theme-tasks

liferay20.4kMIT11.5.6

A set of tasks for building and deploying Liferay Portal themes.

liferay, theme

readme

:warning: This project is now deprecated. This tool is deprecated as of Liferay 2024.Q4/7.4 GA129. The Liferay Theme Tasks are being deprecated and they will be removed in the future. The feature is based in Gulp 4 which is also deprecated. Customers are encouraged to use third party tooling to substitute it.


Liferay Theme Tasks Build Status

The liferay-theme-tasks module is intended for use with the yeoman generator for Liferay themes.

Available tasks

Build

gulp build

The build task generates the base theme files, compiles sass into css, and zips all theme files into a .war file, ready to be deployed to a Liferay server.

Deploy

gulp deploy

The deploy initially runs the build task, and once the .war file has been created it deploys to the specified local appserver.

If you want to deploy to a live site, use the --live flag to deploy to a remote server.

gulp deploy --live

Note that the specified server must have the server-manager-web plugin deployed. The --live flag will deploy to the remote server specified in the init task.

If you want to deploy to a different server without changing the default server specified in init, you may use the --url flag.

gulp deploy --live --url http://some-host.com

You may also specify your login credentials using the -u/--username and -p/--password flags.

gulp deploy --live -u test@liferay.com -p test

Note: the deploy --live task is not currently working for Liferay 7.0 as the server-manager-web plugin has not been migrated to work with OSGi.

Extend

gulp extend

The extend task is what allows you to specify what base theme you are extending from. By default, themes created with the theme generator will base off the styled theme.

You first are prompted if you want to extend a Base theme or Themelet, then you will be prompted for where you would like to search for modules. Globally installed npm modules will search npm modules that have been installed on your computer with the -g flag. Selecting npm registry will search for published modules on npm.

Once it gives you the options and you make your selection, it will add any selected modules to your package.json under dependencies and run npm install.

Kickstart

gulp kickstart

The kickstart task allows you to copy the css, images, js, and templates from another theme into the src directory of your own. This allows you to quickly get up and running with a production ready theme.

kickstart is similar to extend. The difference is that kickstarting from another theme is a one time inheritance, while extending from another theme is a dynamic inheritance that applies your src files on top of the base theme on every build.

Status

gulp status

Displays what base theme/themelets your theme is extending.

Watch

gulp watch

The watch task allows you to see the changes you make to your theme without a full redeploy.

After invoking the watch task, every time you save any changes to a file in your theme it compiles (if applicable) and copies it directly to your appserver.

Init

gulp init

Prompts user for local and remote appserver information used for deployment purposes (see deploy task).

API

registerTasks

To register the liferay-theme-tasks you must call the registerTasks method in your theme's gulpfile.js, gulp being the only required parameter.

var gulp = require('gulp');
var liferayThemeTasks = require('liferay-theme-tasks');

liferayThemeTasks.registerTasks({
    gulp: gulp,
});

Options

distName

type: string
required: false

The name that will be given to the generated war file. The distName can also be a template which has access to the theme's package.json fields.

liferayThemeTasks.registerTasks({
    distName: '${name}-${version}',
    gulp: gulp,
});

// my-theme-1.0.0

Note: in 7.0 changing the war file name will also affect the context path of the theme when using gulp deploy which can result in having multiple versions of your theme deployed at the same time.

gulp

type: gulp instance
required: true

A gulp instance for exposing liferay-theme-tasks.

hookFn

type: function

Allows theme developers to hook and overwrite tasks/sub tasks.

var gulp = require('gulp');
var liferayThemeTasks = require('liferay-theme-tasks');

liferayThemeTasks.registerTasks({
    gulp: gulp,
    hookFn: function (gulp) {
        gulp.hook('before:build:src', function (done) {
            // Fires before build:src task
        });

        gulp.hook('after:build', function (done) {
            // Fires after build task
        });

        gulp.task('build:base', function (done) {
            // Overwrites build:base task
        });
    },
});

Note: hook callback function must invoke done argument OR return a stream.

pathBuild

type: string
default: ./build

Determines the destination of built files.

Must be in POSIX format (i.e: use / instead of \).

pathDist

type: string
default: ./dist

Determines the destination of the generated .war file.

Must be in POSIX format (i.e: use / instead of \).

pathSrc

type: string
default: ./src

Determines where theme source files are located. If set to anything other than default value, you must manually relocate all files in src directory to new location.

Must be in POSIX format (i.e: use / instead of \).

postcss

type: array

Specifies a list of PostCSS plugins to run on the compiled CSS after the SASS compilation

sassOptions

type: object

Whatever properties are set in sassOptions get passed to node-sass.

liferayTheme

The liferayTheme object is located in a theme's package.json file and contains various options that relate to the gulp tasks.

{
    "name": "my-liferay-theme",
    "version": "1.0.0",
    "main": "package.json",
    "keywords": [
        "liferay-theme"
    ],
    "liferayTheme": {
        "baseTheme": "styled",
        "templateLanguage": "ftl",
        "version": "7.0"
    },
    "devDependencies": {
        "gulp": "^3.8.10",
        "liferay-theme-deps-7.1": "*",
        "liferay-theme-tasks": "*"
    }
}

baseTheme

Determines the base theme. This property is set by the extend task.

hookModules

The name or names of npm modules. These modules must expose a function that follows the same pattern as a hookFn.

If a module is listed in hookModules, it must also be added to the devDependencies of the theme.

themelets

Determines the themelets that are implemented by this theme. This property is set by the extend task.

version

Version of Liferay Portal this theme is intended for.

Disabling Dart Sass

Liferay Theme Tasks 11.x uses Dart Sass by default. Dart Sass has introduced some breaking changes that causes builds of older themes (e.g., 7.3) to fail. The workaround to this is to revert back to using Libsass.

Node Version 12+

In package.json:

{
    "liferayTheme": {
        "sassOptions": {
            "dartSass": false
        }
    },
    "devDependencies": {
        "node-sass": "7.0.1"
    }
}

Then in the terminal:

npm install

Using / for Division Deprecation Warning

Deprecation Warning: Using / for division is deprecated and will be removed in Dart Sass 2.0.0.

Recommendation: math.div($numerator, $denominator)

More info and automated migrator: https://sass-lang.com/d/slash-div

The warning can be removed by adding the line @use "sass:math" as *; to the top of your _clay_variables.scss file.

Themes Cannot Be Built When Using Sass Version 1.65.1

Error in plugin "sass"
Message:
    build/_css/clay/functions/_type-conversion-functions.scss
Error: Expected number, variable, function, or calculation.
   ╷
40 │         $_: log('Invalid unit `#{$unit}`.');
   │                 ^
   ╵
  build/_css/clay/functions/_type-conversion-functions.scss 40:11  @import
  build/_css/clay/functions/_global-functions.scss 9:9             @import
  build/_css/clay/base.scss 5:9                                    @import
  build/_css/clay.scss 1:9

This error was not present before Dart Sass 1.65.1. You can update liferay-theme-tasks to v11.5.3 with npm update liferay-theme-tasks@11.5.3 in your theme or workspace directory.

Additional Theme Dependencies

In order for themes to successfully build, they must declare additional dependencies in their package.json file such as liferay-frontend-theme-unstyled and liferay-frontend-theme-styled.

If you would like to require specific versions of these dependencies, specify them directly in your theme's package.json file and npm install afterwards.

Updating Dependencies via CLI

Get the latest liferay-frontend-theme-unstyled:

npm install --save-dev --save-exact liferay-frontend-theme-unstyled@latest

Get the latest liferay-frontend-theme-styled:

npm install --save-dev --save-exact liferay-frontend-theme-styled@latest

Get the Right Dependency Version for Your Theme

Liferay liferay-frontend-theme-unstyled liferay-frontend-theme-styled
7.4.x 6.x.x 6.x.x
7.3.x 5.x.x 5.x.x
7.2.x 4.x.x 4.x.x
7.1.x 3.x.x 3.x.x
7.0.x 2.x.x 2.x.x

MIT

changelog

liferay-theme-tasks/v11.5.6 (2025-04-09)

Full changelog

:wrench: Bug fixes

  • fix(js-themes-toolkit): use rtlcss for conversion and keep r2 export for compatibility (#1246)

:house: Chores

  • chore: add deprecation notices (#1236)

liferay-theme-tasks/v11.5.5 (2024-12-09)

Full changelog

:wrench: Bug fixes

  • fix(theme-tasks): update dependence to avoid using Lodash 3 which is vulnerable (#1234)

liferay-theme-tasks/v11.5.4 (2024-08-26)

Full changelog

:new: Features

  • feat(npm-scripts): update for node v20 (#1184)

:wrench: Bug fixes

  • fix(liferay-theme-task): Update regex to allow mulitple semicolons for @import (#1194)

:house: Chores

  • chore(liferay-theme-tasks): Adds docs for Sass 1.65.1 error and div d… (#1169)

liferay-theme-tasks/v11.5.3 (2023-08-25)

Full changelog

:wrench: Bug fixes

  • fix(liferay-theme-tasks): Fix sass version to 1.64.1 (#1163)

liferay-theme-tasks/v11.5.1 (2023-07-20)

Full changelog

:leftwards_arrow_with_hook: Reverts

  • revert: "chore: prepare liferay-theme-tasks/v11.5.2 release" (#1153)

liferay-theme-tasks/v11.5.0 (2023-02-15)

Full changelog

:new: Features

  • feat: update theme deps to latest version numbers (#1074)

liferay-theme-tasks/v11.4.0 (2022-07-06)

Full changelog

:wrench: Bug fixes

  • fix(theme-tasks): update liferay-frontend-theme-styled, liferay-front… (#970)

liferay-theme-tasks/v11.3.0 (2022-07-01)

Full changelog

:new: Features

  • feat(npm-scripts): add minification when NODE_ENV is production (#964)
  • feat(eslint-plugin): handful of additions (#949)

liferay-theme-tasks/v11.2.2 (2022-03-01)

Full changelog

:wrench: Bug fixes

  • fix(theme-tasks): update liferay-font-awesome version reference (#872)

liferay-theme-tasks/v11.2.1 (2022-01-25)

Full changelog

:wrench: Bug fixes

  • fix(js-themes-toolkit): mark completion of upgrade:css (#833)

:book: Documentation

  • docs(liferay-theme-tasks): Update the readme.md (#824)

liferay-theme-tasks/v11.2.0 (2021-11-23)

Full changelog

:new: Features

  • feat(theme-tasks): update theme dependencies to match Liferay 7.4.13 (#766)

liferay-theme-tasks/v11.1.0 (2021-11-18)

Full changelog

:new: Features

  • feat(theme-tasks): update liferay-font-awesome version reference (#759)

:house: Chores

  • chore: update engines field to match our node lts (#748)

liferay-theme-tasks/v11.0.0 (2021-11-11)

Full changelog

:new: Features

  • feat(theme-tasks): upgrade gulp-sass and node-sass for newer node versions (#741)

liferay-theme-tasks/v10.5.3 (2021-10-07)

:wrench: Bug Fixes

  • chore(theme-tasks): Add confirmation warning when adding compat layer when upgrading theme (#678)

Full changelog

liferay-theme-tasks/v10.5.2 (2021-09-30)

Full changelog

:wrench: Bug fixes

  • fix(js-theme-toolkit): Fix RTL conversion for translate properties (#660)

liferay-theme-tasks/v10.5.1 (2021-08-26)

Full changelog

:house: Chores

  • chore: move devDependency to the project it is used in (#614)

liferay-theme-tasks/v10.5.0 (2021-06-30)

Full changelog

:new: Features

  • feat(bs3-bs4-compat): add new package for bootstrap 3 to 4 compatibility layer (#597)
  • feat(eslint-config): Add lint to catch common abbreviations (#564)

:house: Chores

  • chore(bs3-bs4-compat): make sure naming is consistent (#602)

liferay-theme-tasks/v10.4.0 (2021-05-14)

Full changelog

:new: Features

  • feat(themes-toolkit): support Liferay 7.4 (#529)

liferay-theme-tasks/v10.3.0 (2021-02-22)

Full changelog

:new: Features

  • feat(js-themes-toolkit): add build option for using dart-sass instead of lib-sass (#368)

liferay-theme-tasks/v10.2.0 (2020-12-23)

Full changelog

:new: Features

  • feat(js-themes-toolkit): adds js minification step (Fixes #364) (#365)

liferay-theme-tasks/v10.1.0 (2020-12-17)

Full changelog

:new: Features

  • feat(js-themes-toolkit): expose r2 API (#301)

:house: Chores

  • chore(js-themes-toolkit): restore missing license information (#302)

liferay-theme-tasks/v10.0.3 (2020-12-14)

Full changelog

:wrench: Bug fixes

  • fix(js-themes-toolkit): make adjustments to make CI pass on GitHub (#260)

:house: Chores

  • chore(js-themes-toolkit): hoist v10 devDependencies to workspace root (#287)

liferay-theme-tasks/v10.0.3-pre.0 (2020-06-29)

Full changelog

:wrench: Bug fixes

  • fix: #495 support yarn workspaces (#496)

liferay-theme-tasks/v10.0.2 (2020-04-22)

Full changelog

:wrench: Bug fixes

  • fix: #485 move temporary files out of /tmp (#486)

liferay-theme-tasks/v10.0.1 (2020-04-17)

Full changelog

:wrench: Bug fixes

  • fix: #482 reverse themes inheritance order (#483)

liferay-theme-tasks/v10.0.0 (2020-04-15)

Full changelog

:eyeglasses: Tests

  • test: remove flaky test (#471)

liferay-theme-tasks/v10.0.0-alpha.2 (2020-04-08)

Full changelog

:new: Features

  • feat: #455 support --config option (#467)

:wrench: Bug fixes

  • fix: #457 gulp deploy fails in Windows (#461)
  • fix: #456 gulp upgrade fails with TypeError (#460)

:woman_juggling: Refactoring

  • refactor: #462 normalize file path handling (#465)
  • refactor: #462 normalize paths (#464)

liferay-theme-tasks/v10.0.0-alpha.1 (2020-03-26)

Full changelog

:new: Features

  • feat: #148 support for gulp 4 / node 12 (#448)

:house: Chores

  • chore: switch to independent releases (#454)
  • chore: fix release script (#453)
  • chore: update release process (#452)
  • chore: Add release-snapshot script (#450)
  • chore: update for compliance with current Outbound Licensing Policy (#441)

v9.5.0 (2020-01-30)

Full changelog

:new: Features

  • feat: add final theme thumbnail placeholder (#103) (#434)

:wrench: Bug fixes

  • fix: exclude .css files when extracting classic/admin theme (#432) (#433)

:book: Documentation

  • docs: explain the role of PR titles in changelog generation (#430)

v9.5.0-beta.0 (2020-01-27)

Full changelog

:package: Miscellaneous

v9.4.3 (2019-12-12)

Full changelog

:wrench: Bug fixes

  • fix: make layout generator produce correct paths on Windows (#412) (#413)

v9.4.2 (2019-12-11)

Full changelog

:wrench: Bug fixes

  • fix: correct misspelled function in layout generator (#409) (#410)

v9.4.1 (2019-11-25)

Full changelog

:new: Features

  • feat: configure Semantic Pull Requests bot (#385)

:house: Chores

  • chore: update dependencies (#401)
  • chore: upgrade dependencies (#397)
  • chore: update eslint-config-liferay to v11.0.1 (#394)
  • chore: update eslint, eslint-config-liferay, prettier (#393)
  • chore: update dependencies (#391)
  • chore: use liferay-changelog-generator instead of scripts/changelog.js (#389)

v9.4.0 (2019-08-05)

Full changelog

:new: Features

  • feat: add font-awesome in upgrade process (#382)

v9.3.0 (2019-07-22)

Full changelog

:new: Features

  • feat: add support for font awesome on theme creation (#377)

v9.2.1 (2019-07-02)

Full changelog

:wrench: Bug fixes

  • fix: silent npm install failures on Windows in extend and kickstart (#370)
  • fix: Windows compatibility extending themes via URL (#365) (#369)

v9.2.0 (2019-06-27)

Full changelog

:new: Features

  • feat: teach gulp extend to accept a package URL (9.x) (#266) (#333)

v9.1.5 (2019-06-24)

Full changelog

:wrench: Bug fixes

  • fix: prevent proxy errors from killing the watcher (#358)

v9.1.4 (2019-06-11)

Full changelog

:wrench: Bug fixes

  • fix: Fix typo in JS MIME type (9.x) (#349) (#351)

:house: Chores

  • chore: strictly peg dependency versions (#352) (#353)

v9.1.3 (2019-06-06)

Full changelog

:new: Features

  • feat: add a runtime NodeJS version check (#339) (#343)
  • feat: handle lightweight tags in changelog script (#335)

:wrench: Bug fixes

  • fix(tasks): non-CSS/JS file changes break CSS when using "watch" (#340) (#345)

:house: Chores

  • chore: Update theme dependencies for Liferay 7.2 release (#341) (#342)
  • chore: remove backup/revert functionality (9.x) (#267) (#286)

v9.1.2 (2019-04-17)

Full changelog

:wrench: Bug fixes

  • fix: invalid "this" in deploy-live:war task (9.x) (#322)

:racing_car: Peformance

  • perf: avoid unnecessary buffering of responses in watch mode (#324) (#325)

v9.1.1 (2019-04-12)

Full changelog

:wrench: Bug fixes

  • fix: make "watch" mode work with portal gzipped (#311) (#314)
  • fix: broken CSS and sign-in when using "watch" proxy (#309, #310) (#312)

:book: Documentation

  • doc: add v7 to the compatibility table (9.x) (#313) (#317)

v9.1.0 (2019-04-10)

Full changelog

:new: Features

  • feat: teach theme tasks to accept --sass-include-paths option (#305) (#306)

v9.0.0 (2019-04-10)

Full changelog

:new: Features

  • feat: auto-deploy when starting gulp watch (#291) (#299)

:wrench: Bug fixes

  • fix: failure to update after non-JS/CSS changes in watch mode (#291) (#297)

v9.0.0-beta.1 (2019-04-09)

Full changelog

:new: Features

  • feat: add ability to config PostCSS plug-ins (9.x) (#126) (#289)

:wrench: Bug fixes

  • fix: silent failures when using autoprefixer (9.x) (#274) (#287)

:book: Documentation

  • doc: remove Gulp entry from version table (v9.x) (#294)

v9.0.0-beta.0 (2019-04-05)

Full changelog

:new: Features

  • feat: print watch info when starting watch (#277) (#278)
  • feat: automatically prefetch tags before running changelog generator (#275)

:wrench: Bug fixes

  • fix: make it harder to accidentally produce duplicate entries in changelog (#276)

:book: Documentation

  • doc: remove stale references to Visual Studio (#271) (#272)

:house: Chores

  • chore: Update references to "DXP" in user-facing messages (9.x) (#280) (#283)

:package: Miscellaneous

  • Teach the changelog generator to correct errors with "v" prefix (#243)
  • Fix broken links in generated changelog (#242)

v9.0.0-alpha.1 (2019-03-21)

Full changelog

:package: Miscellaneous

  • Create new changelog generator and use it to create 9.0.0-alpha.1 changelog (#239)
  • Make gulp watch pick up changes in subdirectories (v8.x) (#237)

v9.0.0-alpha.0 (2019-03-19)

Full changelog

:package: Miscellaneous

  • Update dependencies to point at new snapshots (#232)
  • Remove references to "classic" theme (#230)
  • Clean yarn check (#228)
  • Bump version numbers in preparation for first v9 release (#226)
  • Update CONTRIBUTING.md (#223)
  • Remove lodash from generator-liferay-theme (#219)
  • Clean out packages directory (#218)
  • Address some yarn audit issues (for toolkit v9) (#217)
  • Remove unused "doctor" fixtures (#215)
  • Fold liferay-plugin-node-tasks into liferay-theme-tasks (#213)
  • Kill dead watch_socket.js and gogo-shell code (v9) (#212)
  • Prepare for v8/v9 split (#187)
  • Update template paths (#210)
  • Send correct MIME type (Content-Type) header for local css files (#209)
  • Fix "packageVersion is not defined" generator an "All" themelet (#207)
  • Remove incomplete DXP 7.2 support from v8 of toolkit (#206)
  • Add license headers to files (#203)
  • Add LICENSE.md files (#202)
  • Apply clean-up to new "watch" implementation (#201)
  • Provide content for top-level README.md (v8) (#200)
  • Update references to old repository name (v8) (#197)
  • Make watch task more robust (2nd approach) (#190)
  • Update yeoman-generator v0.18.0 to 3.2.0 (for v8 of toolkit) (#195)
  • Fix post-install for layout generator (#194)
  • Remove nested .travis.yml file (#191)
  • Rename SDK reference to "toolkit" (#186)
  • Address security issues reported by "yarn audit" (#183)
  • Update eslint and eslint-config-liferay to latest (#181)
  • Don't use string-concatenation to build up devDependencies (#180)
  • Replace the "divert()" abstraction with something simpler (#179)
  • Overhaul normalize processing (#178)
  • Remove generator dependence on globally installed gulp instance (#172) (#173)
  • Remove unnecessary dynamism of getDependencyName (#176)
  • Freshen lockfile (#177)
  • Remove scary warnings from normalize process in the generator (#175)
  • Remove deprecated liferay-theme-finder package (#167)
  • Fold "divert" into liferay-theme-tasks (#165)
  • Remove _.isPlainObject calls in divert.js (x2) (#163)
  • Format even more files with prettier (#162)
  • Update lerna, and let it know that we are using Yarn workspaces (#160)
  • Remove lodash from liferay-theme-finder (#159)
  • Remove update-notifier functionality (#156)
  • Fixes #147 | Add support for 7.2 themes (#158)
  • Remove rubySass (#155)
  • Use Prettier to format all eligible files (#153)
  • Migrate to Yarn (#150)
  • Fixes #128 - Imports compat/mixins to add missing BS3 mixins used in base files (#145)
  • Fixes #143 - Replaces lexicon- prefix from lexicon-base occurrences (#144)

v8.0.0 (2019-03-18)

Full Changelog

Implemented enhancements:

  • Use prettier to format all eligible files, not just JS #151
  • Migrate to Yarn #149
  • Layouts sub-generator should generate FTL layout template file #129
  • Make watch task more robust #127
  • Cannot update packages caused by vulnerabilities for newly created theme #70
  • Use Prettier to format all eligible files #153 (wincent)

Fixed bugs:

  • Remove generator dependence on globally installed gulp instance #172
  • Imports with lexicon- prefix are not upgraded properly to 7.1 #143
  • Erroneous update message: Update available 8.0.0-beta.1 → 8.0.0-beta.5 #92
  • Add proper outbound licensing #48
  • Fix post-install for layout generator #194 (wincent)
  • Rename SDK reference to "toolkit" #186 (wincent)
  • Overhaul normalize processing #178 (wincent)
  • Remove generator dependence on globally installed gulp instance (#172) #173 (wincent)

Closed issues:

  • Send the correct MIME type header when watching #208
  • Retire doctor #196
  • Fold liferay-plugin-node-tasks into liferay-theme-tasks #193
  • Rename to liferay-js-themes-toolkit #185
  • Clarify "compatibility matrix" between versions of liferay-js-themes-toolkit and Liferay DXP and Portal CE #184
  • Add LICENSE.md files #169
  • [RFC] Eliminate liferay-theme-deps-* packages #168
  • Fold liferay-theme-finder package into main SDK package #166
  • Unwind some aspects of monorepoization #164
  • Provide content for top-level README.md #154
  • Drop rubySass support #152
  • 8.0.0-rc.4 #146
  • Gulp watch doesn't work correctly when making a change on scss file #142
  • Liferay Theme Dependencies uses a version of Lodash that is vulnerable to CVE-2018-3721 #141
  • gulp watch with docker does not change the code #136
  • 7.1 Theme build fails due to missing import #128
  • gulp watch fail to install theme bundle if you have liferay-hook.xml in WEB-INF #120
  • gulp watch not taking correct version number #107
  • make created folder name more readable from "yo liferay-theme:layout" #101
  • Upgrade default dependencies #97
  • gulp watch broken on Windows 10 #95

Merged pull requests:

  • Clean out packages directory #218 (wincent)
  • Address some yarn audit issues (for toolkit v9) #217 (wincent)
  • Address some yarn audit issues (for toolkit v8) (#199) #216 (wincent)
  • Remove unused "doctor" fixtures #215 (wincent)
  • Fold liferay-plugin-node-tasks into liferay-theme-tasks #213 (wincent)
  • Kill dead watch_socket.js and gogo-shell code (v9) #212 (wincent)
  • Kill dead watch_socket.js and gogo-shell code #211 (wincent)
  • Update template paths #210 (julien)
  • Send correct MIME type (Content-Type) header for local css files #209 (julien)
  • Fix "packageVersion is not defined" generator an "All" themelet #207 (wincent)
  • Remove incomplete DXP and Portal CE 7.2 support from v8 of toolkit #206 (wincent)
  • Add license headers to files #203 (wincent)
  • Add LICENSE.md files #202 (wincent)
  • Apply clean-up to new "watch" implementation #201 (julien)
  • Provide content for top-level README.md (v8) #200 (wincent)
  • Update references to old repository name (v8) #197 (wincent)
  • Update yeoman-generator v0.18.0 to 3.2.0 (for v8 of toolkit) #195 (wincent)
  • Update yeoman-generator v0.18.0 to 3.2.0 (for v9 of toolkit) #192 (wincent)
  • Remove nested .travis.yml file #191 (wincent)
  • Make watch task more robust (2nd approach) #190 (julien)
  • Prepare for v8/v9 split #187 (wincent)
  • Address security issues reported by "yarn audit" #183 (wincent)
  • Update eslint and eslint-config-liferay to latest #181 (wincent)
  • Don't use string-concatenation to build up devDependencies #180 (wincent)
  • Replace the "divert()" abstraction with something simpler #179 (wincent)
  • Freshen lockfile #177 (wincent)
  • Remove unnecessary dynamism of getDependencyName #176 (wincent)
  • Remove scary warnings from normalize process in the generator #175 (wincent)
  • Remove deprecated liferay-theme-finder package #167 (wincent)
  • Fold "divert" into liferay-theme-tasks #165 (wincent)
  • Remove _.isPlainObject calls in divert.js (x2) #163 (wincent)
  • Format even more files with prettier #162 (wincent)
  • Update lerna, and let it know that we are using Yarn workspaces #160 (wincent)
  • Remove lodash from liferay-theme-finder #159 (wincent)
  • Fixes #147 | Add support for 7.2 themes #158 (julien)
  • Remove update-notifier functionality #156 (wincent)
  • Remove rubySass #155 (wincent)
  • Migrate to Yarn #150 (wincent)
  • Fixes #128 - Imports compat/mixins to add missing BS3 mixins used in base files #145 (jbalsas)
  • Fixes #143 - Replaces lexicon- prefix from lexicon-base occurrences #144 (jbalsas)

v8.0.0-rc.3 (2019-02-13)

Full Changelog

Closed issues:

  • TypeError thrown when upgrading a theme from 7.0 to 7.1 with 8.0.0-rc.2 #138
  • Remove ruby-sass option from Theme Generator as it's no longer required for Windows #137

Merged pull requests:

  • Fixes #137 - Updates theme deps versions #140 (jbalsas)
  • Fixes #138 - Adds bootstrap log buffer #139 (jbalsas)

v8.0.0-rc.2 (2019-01-28)

Full Changelog

Fixed bugs:

  • Gulp upgrade changes camel-case to kebab-case only within some files #133
  • TypeError: colors.bgblack is not a function in liferay-theme-tasks/lib/upgrade/7.0/upgrade.js:482:30) #125
  • gulp kickstart unable to find globally installed themes #100
  • Building an extended theme doesn't add the parent theme files #11

Merged pull requests:

v8.0.0-rc.1 (2018-12-12)

Full Changelog

Fixed bugs:

  • Programatically created Bourbon file breaks sourcemap #83

Merged pull requests:

  • v8.0.0-rc.1 #122 (jbalsas)
  • Fixes #72 - Make watch work by using a single WatchSocket for everything #121 (izaera)

v8.0.0-rc.0 (2018-12-04)

Full Changelog

Implemented enhancements:

  • Generate SourceMaps by default #86
  • Dependencies warning message is missing module name #78
  • Support Docker Development #72
  • Add out-of-the-box support for PostCSS #46

Fixed bugs:

  • gulp theme build script does not correctly expand liferay-hook.xml language property settings #106
  • gulp watch doesn't work #102
  • When using gulp:watch, activate theme by default #93
  • Theme generator uses Velocity syntax instead of FreeMarker for 7.1 #91
  • Standard as an option in gulp kickstart #85
  • liferay-theme-deps-7.1 is left when reverting 7.1 theme to 7.0 #77

Closed issues:

  • generator-liferay-theme is using event-stream 3.3.5 #112
  • Deploy with gulp watch fails with NPE #94
  • Fix Sourcemap support for libsass #81
  • Minor typo in prompt #76
  • Theme dependent on another OSGi bundle: how? #49

Merged pull requests:

  • v8.0.0-rc.1 #119 (jbalsas)
  • Fixes #72 - Show error messages #118 (jbalsas)
  • Fixes #112 - Updates packages affected by event-stream@3.3.6 to latest versions #117 (jbalsas)
  • Fixes #102 - Fix tests #115 (izaera)
  • Fixes #106 - Updates tests #109 (jbalsas)
  • Add keyword to be found by a yeoman search #108 (marcoscv-work)
  • Fixes #91 - Fixes typos #99 (jbalsas)
  • Fixes #86 - Enables sourcemap generation by default #89 (jbalsas)
  • Fixes #85 - Removes Standard option from Kickstart task #88 (jbalsas)
  • Fixes #46 - Documents postcss option #87 (jbalsas)
  • Fixes #77 - Sets rubySass to false by default since node-sass should be more stable now. If necessary, a developer can always set it to true following the instructions #84 (jbalsas)
  • Fixes #78 - Display module name with warning #82 (jbalsas)

v8.0.0-beta.5 (2018-08-31)

Full Changelog

Fixed bugs:

  • Liferay Theme Generator adds 7.0-theme-deps for new 7.1 theme #71
  • Generator-Liferay-Theme: Do not insist on app server directory #67
  • Generator-Liferay-Theme crashes on Node 8 #43

Merged pull requests:

  • v8.0.0-beta.5 Prepares templates #75 (jbalsas)
  • Fixes #67 - Updates liferay-plugin-node-tasks to v2.0.0 #74 (jbalsas)
  • Fixes #71 - Diverts generated theme devDependencies for 7.0 and 7.1 versions #73 (jbalsas)

v8.0.0-beta.4 (2018-08-30)

Full Changelog

Fixed bugs:

  • Import generator fails on Gulp init task #64

Merged pull requests:

v8.0.0-beta.3 (2018-08-29)

Full Changelog

Implemented enhancements:

  • Create pre-publish build step to properly update package versions #60
  • Remove alloy-font-awesome import during upgrade task from a 6.2 theme #36

Fixed bugs:

  • Version reverts to 8.0.0-beta.1 after running Gulp Upgrade task for 7.0 theme #57
  • Generated liferay-theme-tasks version is outdated for liferay-theme:import #56
  • Remove alloy-font-awesome import during upgrade task from a 6.2 theme #36

Merged pull requests:

  • v8.0.0-beta.3 #63 (jbalsas)
  • Fixes #60 - Creates script to update package dependencies within files #62 (jbalsas)
  • Fixes #36 - Removes alloy-font-awesome imports #61 (jbalsas)
  • Fixes #57 - Updates dependencies #59 (jbalsas)
  • Fixes #56 - Updates dependency version #58 (jbalsas)

v8.0.0-beta.2 (2018-08-28)

Full Changelog

Implemented enhancements:

  • "Upgrade" Gulp Task: Add note about Bootstrap 3's box model changes #51
  • Upgrade task should warn about expected portlet_header dynamic-include extension point #35
  • Improve information regarding theme/themelet npm search #31
  • Setup watching of UI files outside of the standard Liferay theme directories #28

Fixed bugs:

  • Upgrade task overwrites properties in package.json with incorrect values #37
  • Using gulp extend searching for themelet results in error #33
  • URL in upgrade script is giving a 404 error #10

Closed issues:

  • Update liferay-theme-deps-7.0 to include latest liferay-frontend-theme-styled #42
  • 8.0.0-beta.1 doesn't include liferay-theme-deps-6.2 #38
  • gulp extend search npm search is not finding some packages #25
  • ConfigGenerator task in es2015 hook doesn't namespace modules #21
  • gulp watch crashes after restart on Windows 10 #18
  • Error when we search a themelet in NPM #17

Merged pull requests:

  • Prepares v8.0.0-beta.2 #55 (jbalsas)
  • Fixes #35 - Adds warning if a portlet.ftl file is found and does not contain the portlet_header extension point #54 (jbalsas)
  • Fixes #38 - Adds liferay-theme-deps-6.2 dependency to support upgrading from 6.2 with the 8.x version of the theme-tasks directly #53 (jbalsas)
  • Fixes #51 - Adds Note regarding Bootstrap3 box model change #52 (jbalsas)
  • Don't overwrite rubySass setting when upgrading theme #41 (izaera)
  • Update links to documentation and stop using deprecated Google URL shortener #40 (izaera)
  • Setup watching of UI files outside of the standard Liferay theme directories #39 (izaera)
  • Fix broken references to "this" #34 (izaera)
  • Improve information regarding theme/themelet npm search #32 (izaera)
  • SF #29 (izaera)
  • Update package-lock.json files #27 (izaera)

v8.0.0-beta.1 (2018-07-11)

Full Changelog

Merged pull requests:

v8.0.0-beta.0 (2018-07-03)

Full Changelog

Closed issues:

  • Deprecation support in the generator #15

Merged pull requests:

v8.0.0-alpha.6 (2018-06-18)

Full Changelog

v8.0.0-alpha.5 (2018-06-18)

Full Changelog

Fixed bugs:

  • Npm's github repository links points to old repository for the majority of the packages #12

Merged pull requests:

v8.0.0-alpha.4 (2018-03-23)

Full Changelog

Merged pull requests:

v8.0.0-alpha.3 (2018-03-20)

Full Changelog

Merged pull requests:

  • Updates generator output dependencies #5 (jbalsas)

v8.0.0-alpha.2 (2018-03-19)

Full Changelog

Merged pull requests:

v8.0.0-alpha.1 (2018-03-16)

Merged pull requests:

  • Adapt tests to changes #3 (jbalsas)
  • Updates lock files #2 (jbalsas)
  • Makes 7.1 default and removes theme-deps-6.2 as it won't be supported in 7.1 #1 (jbalsas)