- Updated the minimum version of Node to
18.12.0
. - Updated all dependencies to the latest including
webpack-dev-server
version 5 and@testing-library/react
version 15.
- Updated
css-loader
to 7.x and changedcss-loader
options to restore 6.x behavior. - Added
--no-animation
option to build without effects such as animation and shadow.
- Updated docs to cover the latest commands of
enact pack
.
- Updated dependencies.
- Removed
getCSSModuleLocalIdent
to fix unexpected behaviors in css-loader. - Removed eslint related modules.
- Fixed
--framework
option to use strict lint rules. - Fixed webpack config to generate unique class names in module css.
- Fixed
--help
throws errors.
- Updated
prettier
version to^3.0.1
andeslint-plugin-prettier
version to^5.0.0
.
- Updated
chalk
version to^5.3.0
. - Updated
find-cache-dir
version to^7.1.0
.
- Updated dependencies.
- Updated all dependencies to the latest including Jest 29 and Typescript 5.
- Updated the minimum version of Node to
14.17.0
and dropped the support for Node 12 and 17.
- Added
--content-hash
option to add a unique hash to output file names to support better caching.
- Fixed to disable overlay for runtime errors.
- Removed
@testing-library/dom
dependency. - Updated
@testing-library/react
version to^14.0.0
. - Fixed
--watch
option is not working with the latestjest-watch-typeahead
module.
- Updated
eslint-plugin-react
version to^7.32.2
. - Updated dependencies.
- Updated
babel-preset-enact
to0.1.1
to fix isomorphic build failures on Node 12.
- Added
@testing-library/dom
8.x to fix unit test failures temporarily.
- Fixed
eslint-plugin-react
version to7.31.11
temporarily. - Updated dependencies.
- Updated
babel.config.js
to usebabel-preset-enact
module that holds the babel config for Enact.
- Unpinned versions of dependencies.
- Added
--custom-skin
option to build with custom skin for sandstone apps.
- Pinned versions of dependencies as same as 5.0.0.
- Fixed deprecation warning regarding middleware.
- Updated @enact/dev-utils fixing isomorphic build with the latest language list.
- Fixed Enact project setting
forceCSSModules
to enforce modular CSS.
- Updated dependencies.
- Fixed build failure when
.env
file exists. - Fixed
snapshot_blob.bin
file is not listed on the build results.
- Fixed
enact serve
fails to open another port when the default port is busy.
- Fixed
core-js
version to3.22.8
for compatibility. - Added
ENACT_PACK_ISOMORPHIC
as a global variable to usehydrateRoot
instead ofcreateRoot
from app when isomorphic build. - Added
ignoreWarning
config to ignore warnings from SnapshotPlugin. - Updated webpack config to support
sass-loader
for opt-in support of SASS/SCSS files.
- Updated the
lockfileVersion
of npm-shrinkwrap file to v2. - Updated to the latest
eslint-config-enact
,eslint-plugin-enact
, and@enact/dev-utils
dependency releases.
- Updated
@enact/template-sandstone
dependency.
- Updated Enact ESLint config to
4.1.0
including replacing deprecated modules and updated lint rules.
- Replaced
@testing-library/react-hooks
to@testing-library/react
for React 18 support.
- Fixed
enact pack
fails on windows by excluding unnecessary file emitting fromhtml-webpack-plugin
.
- Fixed
enact test
fails on windows by modifying glob patterns. - Removed
enzyme
and related modules.
- Fixed
enact lint
is not working on node 16 by moving ESLint plugins to dependencies.
- Fixed
--watch
option is not working by fixing the version ofjest-watch-typeahead
to0.6.5
.
- Updated
@enact/template-sandstone
dependency.
- Updated all dependencies to the latest including Webpack 5, React 18, and ESLint 8.
- Replaced
optimize-css-assets-webpack-plugin
tocss-minimizer-webpack-plugin
. - Fixed ICSS syntax in stylesheets.
- Added
source-map-loader
for debugging into original source of node_modules libraries that contain sourcemaps. - Added
tailwindcss
support. - Added
node-polyfill-webpack-plugin
to fix screenshot build fail.
- Fixed to disable overlay for warnings.
- Fixed to allow CORS on
webpack-dev-server
.
- Updated to Jest 27.
- Added
additionalModulePaths
to enact options to specify paths to check when resolving modules.
- Fixed V8 snapshot failure.
- No significant changes.
- Added
eslint-plugin-testing-library
as a dependency.
- Removed
sanitize.css
dependency. - Updated CLI dependency of
postcss
related modules includingpostcss-normalize
10.0.1.
- Enabled
testing-library
lint rules.
- Added
sanitize.css
dependency.
- No significant changes.
- Added
@testing-library/react
support. - Deprecated
enzyme
support.
- Fixed not reading a local
./src/setupTests.js
setup file. - Fixed
jest.restoreAllMocks()
throws errors.
- Changed
css-loader
options to not resolving url() of the absolute path to avoid build failures.
- Updated CLI dependency of
jest
to 26.6.3.
- Fixed not inserting title into the output HTML.
- Added conditions for linting Typescript files.
- Changed to
@enact/template-sandstone
as default for new apps.
- Fixed the glob patterns for test files
- Updated moonstone template for Enact 4.0.0-alpha.1 release.
- Replaced
inquirer
withprompts
.
- Updated CLI dependency of
react
andreact-dom
to 17.0.1. - Added
typescript
4.x as peerDependency. - Replaced deprecated
eslint-loader
byeslint-webpack-plugin
. - Added support for new JSX Transform.
- Updated CLI dependency of
@pmmmwh/react-refresh-webpack-plugin
to 0.4.3.
- Updated CLI dependency of
react-test-renderer
to 17.0.1.
- Added support for new JSX Transform.
- Fixed https serve is not working.
- Fixed
--bare
option to work.
- Switched back to
@enact/template-moonstone
as default templated included in CLI.
- Fixed error being thrown when dead symlinks are detected in template userspace.
- When transpiling in standalone mode, do not use
@babel/plugin-transform-runtime
.
- Fixed framework builds on
enact/i18n
package source to include local files as appropriate.
- Fixed builds with external framework delegating local ignoring modules.
All dependencies updated to latest release.
- Changed to
@enact/template-sandstone
as default for new apps.
- Added support for
TSC_COMPILE_ON_ERROR
environment variable which, when'true'
, will succeed/compile a Typescript build, regardless of whether errors exist on the webpack stack. - Added descriptive PostCSS error details on failure.
- Added full public URL support via
PUBLIC_URL
environment variable,publicUrl
Enact option, orpackage.json
homepage value. - Added support for mjs file extension.
- Added
postcss-normalize
PostCSS plugin to normalize browser quirks according to BROWSERSLIST. - Added
postcss-safe-parser
for production optimization to handle common CSS syntax issues without failing. - Updated Babel support:
- Added
plugin-proposal-decorators
,plugin-proposal-numeric-separator
,plugin-proposal-optional-chaining
, andplugin-proposal-nullish-coalescing-operator
- Disabled
transform-typeof-symbol
plugin as it is known to make code slower. - For Jest testing, include
babel-plugin-dynamic-import-node
to rewrite dynamicimport()
- For Typescript files, use
plugin-proposal-decorators
in loose mode
- Added
- Updated eslint pre-loader to scan typescript files as well as javascript
- Updated webpack config to only support
.ts
and.tsx
files whentsconfig.json
is found, to avoid confusing error messages.
- Added support for experimental fast react refresh. This can be enabled via the commandline option
-f
/--fast
. It may not work for all cases, but for general usage, will provide inline hot code reloading without the browser needing to refresh the webpage. - Added devserver support for public URL via
PUBLIC_URL
environment variable,publicUrl
Enact option, orpackage.json
homepage value. - Added support for LESS sourcemaps.
- Added custom sourcemap handling to provide organized filepaths and avoid css/style loader naming collisions.
- Added support for
WDS_SOCKET_HOST
,WDS_SOCKET_PATH
, andWDS_SOCKET_PORT
environment variables to control hot reloading websocket details. - Added support for
SSL_CRT_FILE
andSSL_KEY_FILE
environment variables to specify filepaths for relevant SSL files forhttps
support. - Added support for
TSC_COMPILE_ON_ERROR
environment variable flag to serve/compile Typescript even when there's webpack errors. - Updated to use newest webpack dev server client and error overlay middleware.
- Changed to native websockets for hot reloading
- Added additional supported Jest keys/options in
package.json
jest object. - Added support for a local
./src/setupTests.js
setup file - Added
jest-circus
test runner - Added
jest-watch-typeahead
watch plugins to support dynamic filtering by file name and test name. - Fixed
import()
in tests not being transpiled to dynamicrequire()
calls. - Updated test handling to reset mock functions between testing blocks.
- Removed workaround for
baseSize: 24
themes now that all resolution independence settings can be correctly detected and used.
- Uses latest linting standards, including jsx-a11y, babel rules, and optional support for Typescript. See linting config changelog for full details.
- Removed
tslint
logic/support and ESLint config will cover Typescript files as well.
- Fix watching Enact library dependencies, but not their nested children dependencies.
- Preserves symlink path names when copying files to output.
- Updated CLI dependency of
react
andreact-dom
to 16.13.1.
- Added support for custom webpack-dev-server middleware and proxy settings via an option app-side
./src/proxySetup.js
file.
- Updated CLI dependency of
react-test-renderer
to 16.13.1.
- Fixed iLib loading of internal ResBundles within non-Moonstone themes.
- Added option
-b
/--base
, enabled by default, which will enable bootstrapping on the root package. - Added option
-s
/--sampler
, enabled by default, which will enable bootstrapping on a relative sampler package (./samples/sampler
). - Added option
-a
/--allsamples
, disabled by default, which will enable bootstrapping on all detected sample packages (all packages within./samples
). - Added option
-l
/--link
, enabled by default, which will executeenact link
after NPM installing a package, as part of the bootstrap process. - Fixed a bug where symlinks in theme packages could be overridden during sampler install, on certain versions of NPM.
- Fixed theme feature detection on local theme files (eg. when a local ThemeDecorator is present)
- Fixed bug with
--framework
option with regards to erroneously including unneeded or invalid iLib dependencies and test files.
- Added support for a
-a
/--all
flag which will deletenode_modules
in addition to dist/build files. - Expanded cleaning support to handle cleaning dist/build files within screenshot and ui test directories.
Added new bootstrap
command, which will act as a simplified shortcut to npm install
and enact link
a project, and the subsequently for every child project optionally within ./samples
, also run npm install
and enact link
. This is useful for theme repos like moonstone and sandstone. If a project already has a npm run bootstrap
, that will be executed instead of installing/linking, to allow compatibility with lerna monorepos.
- Fixed framework builds to properly include iLib source modules.
- Updated Enact ESLint config and plugin for ES2018 support and improved support for Enact prop-types.
- Fixed issue where target file detection was falsly including node_modules in child directories.
- Fixed situations with hooks where multiple copies of React could be loaded at once.
- Narrowed testing scope to ignore
./docs
,./samples
,./tests/screenshot
and./tests/ui
directories.
- Narrowed transpiling scope to ignore
./docs
,./samples
and./tests
directories.
- Updated moonstone template for Enact 3.0.0 release.
- Fixed V8 snapshotting when
ilib
external package is not found.
- Redesigned
option-parser
with encapsulated theme option support and environment variable overriding. - Fixed V8 snapshot failure when attempting to polyfill
<TypedArray>.toLocaleString
, butInt8Array.prototype.toLocaleString
already exists. - Fixed bug where undefined
ri
values would result inInfinity
pixel values.
- Added mock support for
<Element>.animate
. - Added support for theme-based iLib resbundle resource paths.
- Fixed
.env
files not being processed and loaded intoprocess.env
.
- Added support for
type
template property (used during project creation messages ifprepare
is not overridden). Defaults to'app'
. - Fixed bug where template function parameters
defaultGenerator
andtype
could be accidentally overridden via command line arguments.
- Fixed alias prioritization for iLib to correctly locate/index iLib when build framework builds.
- Added support for
ilib
external NPM package (with backward compatibility for@enact/i18n/ilib
).
Fixed "Unexpected identifier" error on Node 6.x by using a compatible release of find-cache-dir
sub-dependency.
- Added React hook linting to help with adhering to the rules of hooks.
- Updated polyfills to the
core-js/stable
stable feature set rather than all stable+draft polyfills. - Updated default browserslist config from
last 2
stable versions of Chrome and Firefox tolast 5
. - Fixed build failing when prerendering for multiple locales.
- Added
./__mocks__
project directory as an optional fallback directory for server asset contents (secondary to./public
).
- Updated all dependencies to latest releases.
- Switched from
@babel/polyfill
tocore-js@3
for dynamic polyfill support. - Switched to
.babelrc
Babel config to isolatedbabel.config.js
.
- Fixed serve failing on TypeScript projects.
- Projects no longer use external CSS and now will use inline
<style>
tags (similar tocreate-react-app
). - Disable stylesheet sourcemaps to avoid async blob-based style loading in
style-loader
.
- Fixed linking when custom NPM prefixes are used via
.npmrc
files.
- Fixed ejected apps not correctly using Babel configuration and failing to transpile JSX during pack/serve.
Updated all Babel dependencies up to 7.3.x to fix edge-case errors with let
keyword usage, among other fixes.
- Added support for a
public
directory, where static assets within are copied, at build time, to./dist
. - Added support for
process.env.PUBLIC_URL
which is hardcoded to'.'
, for consistency with 3rd party standards.
- Added support for serving/watching file contents within
./public
.
- Fixed
--commonjs
option not being respected in transpiling process.
- Added support for
eslint-plugin-jest
, with theno-focused-tests
rule set to error for the strict ruleset (--strict
).
- Fixed tests being ignored when out-of-project parent directories are named
coverage
,dist
, orbuild
. Such is the case on TravisCI.
Updated all dependencies to latest releases and added support for TypeScript. In keeping with community standards, CSS/LESS is now processed in the global scope, while modular CSS can be retained by using the .module.css
/.module.less
extension or setting the forceCSSModules
Enact project setting in package.json
.
- Updated default included moonstone template for latest Enact with
.module.less
modular LESS naming format.
- Improved handling and errors when linking into a non-Enact project.
- Refactored build procedure for latest Webpack 4 and Babel 7.
- Added support for stage-3 CSS via
postcss-preset-env
, withcustom-properties
temporarily disabled while a bug is being resolved. - Added support for
.env
fileformat to declare environment variables for parsing/app-embedding. - Added support for TypeScript compilation.
- Added opt-in support for TypeScript type checking at build time (via
typescript
app-side dependency). - Additional CSS optimization applied via
optimize-css-assets-webpack-plugin
. - Modified Babel configuration to use built-in APIs rather than transpiling mini re-implementations.
- Modified CSS file handling to only process modular CSS on the
.module.css
extension. - Modified LESS file handling to be independence (only running LESS files through the LESS compiler), with
.module.less
file extension enabled modular context. - Switched from
less-plugin-resolution-independence
topostcss-plugin-resolution-independence
to apply to both LESS and CSS build chains. - Switched from
uglifyjs-webpack-plugin
toterser-webpack-plugin
as Uglify is no longer actively developed. - Switched from
extract-text-webpack-plugin
tomini-css-extract-plugin
for CSS content output. - Removed direct autoprefixer usage as
postcss-preset-env
contains embedded support. - Removed support for
.__DEV__
CSS class and replaced it with@__DEV__
LESS variable for usage as a CSS guard. - Removed legacy custom browser targeting format and now following
browserslist
standard for declaring supporting browsers.
- Added support for TSLint, when linting a TypeScript project and
tslint
is globally or locally installed.
- Replaced Karma/PhantomJS/Mocha/DirtyChai testing stack with a Jest-based alternative implementation.
- Supports Jest options like
--watch
and--coverage
as a result.
- Supports Jest options like
- Removed custom Enzyme webpack plugin since we can pre-setup Enzyme directly for Jest usage.
- Removed Sinon in favour of Jest built-in mocking/spy functionality.
- Added
--commonjs
option, enabled by default, which will convert all ES6 import/export statements into CommonJS. - LESS files will now be transpiled into CSS. Directories named
style
will not transpile LESS and will just copy the files (useful for sharing LESS variables/mixins). Directories namedinternal
withinstyles
will be ignored.
- Fixed test execution failures where an old copy of Enzyme was erroring out on the latest React 1.6 releases.
- Updated to latest
@enact/dev-utils
andmocha-react-proptype-checker
dependency releases.
- Added
core-js
as a direct dependency when creating a new project with--local
to prevent conflicting polyfill versions.
- Added support for
-m
/--meta
option to override theenact
object metadata from thepackage.json
.
- Updated default included moonstone template for Enact 2.x.
- Fixed locale classes failing to be applied on a multi-locale prerender when deep-linking is used.
- Fixed font style prerendering, with added support for font overrides.
- Added new option
--verbose
which outputs detailed build information as the process occurs, for specific information on what modules are being process and when. - Added support for dynamically injecting
REACT_APP_
prefixed environment variables into app code, when used underprocess.env
. - Added support for
@global-import "<file>";
syntax to import CSS files in a global context. - Added support for boolean flag option
externalStartup
in the enact options in a project'spackage.json
. When true, any prerender startup scripts will be external file assets, rather than embedded inline javascript. - Fixed
@babel/polyfill
failing to be transpiled into targetedcore-js
components. Additionally now ensures polyfills aren't loaded more than once. - Fixed v8 snapshot support for React 16.4.1.
- Relocated the old
./config/proptype-checker.js
into its own standalonemocha-react-proptype-checker
package. - Production mode limits the UglifyJS options to ECMA 5 optimizations only.
- Disabled CSS minifier support for calc simplification due to bugs with CSS variables that contain 'calc' string of letters. See postcss/postcss-calc#50.
- Updated React ESLint plugin to
7.9.1
and Enact ESLint plugin to1.2.0
.
- Relocated default moonstone app template into a separate standalone @enact/template-moonstone package dependency.
- Initial implementation of a
create-react-app
-style project ejection feature. A permanent process which extracts an app from the Enact CLI environment and converts it standalone, with exposed development tool config files. - Supports the
--bare
eject operation flag which removed the Enact CLI sugar from devtool commands and uses the barebones underlying 3rd party tools.
Updated dependencies to support React/ReactDOM 16.3.2.
Improved CLI runtime executing via v8-compile-cache
optimizations.
- Support
@enact/core/snapshot
window handling APIs when using v8 snapshot. - Preserve HTML comment nodes in prerendered app HTML content (to support empty nodes in React 15).
- Fixed memory leak during prerendering in isomorphic builds, where babel-polyfill would be loaded and disrupt the global Node scope.
- Default autodetection naming scheme will now filter out
enact-template-
andtemplate-
prefix.
- Ensure development helper transpile plugins are not applied to standalone ES5 transpile operations.
Updated resolution-independence
plugin dependency with fixed support Less 3.x.
Updated @enact/dev-utils
dependency with fixes for resolution-independence configuration autodetection and React16-based framework builds.
- Updated
@enact/dev-utils
fixing React 16 issues with v8 snapshot support.
- Fixed automatic name detection for NPM packages when using version/tag specifiers.
- Added
--framework
temporary alias for--strict
to fix build systems while they update to current syntax.
Dependency updates for most components.
Moved all plugins, mixins, and utility functions into @enact/dev-utils package.
Refactored all commands to support Promise-based API access for potential integration with 3rd party build systems.
Enact CLI source code now updated for eslint-plugin-import
and prettier
formatting.
- Default moonstone template updated for latest Enact 1.x/React 15.x dependencies.
- Updated to support customized templates via
-t
/--templates
option. - Refactored creation handling to be general purpose and support dynamic templates modifying the execution.
- Only link
@enact
-scoped dependencies found within the projectpackage.json
rather than all globally linked@enact
-scoped packages.
- Added support for
-i
/--ignore
regex string to ignore filepaths when transpiling/copying.
- Added support for targeted builds. Can be set via a
target
enactpackage.json
property or via Browserslist format. - Added support for Electron build target.
- Switched to use
@babel/preset-env
and@babel/polyfill
for on-demand transpiling/polyfilling to targeted build platforms. - Production mode build uses
uglifyjs-webpack-plugin
to support ES6-based minification (until the upgrade to webpack 4) - Dynamic handling of the
enact
options withpackage.json
, with support fortheme
preset values that simplify setup of for given Enact GUI theme libraries. - Allow
electron-renderer
webpack target to supportbrowser
as a main field. - Isomorphic builds now build
en-US
locale by default. Switched-l
/--locales
as a public option, allowing specifying of locale-lists for prerendering. - Switched
-s
/--snapshot
as a public option. Creates a v8 snapshot blob from the app bundle (provided mksnapshot binary is provided asV8_MKSNAPSHOT
environment variable). - Updated to Webpack 3.x support.
- Updated to Babel 7.x beta support.
- Allows attempted serving on all webpack targets other that
node
,async-node
andwebworker
.
- Fixed testing support for Windows when using modules that accessed
@enact/i18n
.
- Full template management support. See the docs for more details.
- Templates can be sourced from git URIs, npm packages, or local directories.
- Able to install, link, remove, list templates.
- Able to set templates as default when using
enact create
. - Templates can be static or dynamic generators, optionally hooking into the
enact create
execution.
- Added a
--fix
option to automatically attempt to have eslint fix linting errors.
- Updated to include
@babel/polyfill
and@babel/core
licenses in project scanning.
- Updated all links for enactjs github organization and fixed a broken docs link.
- Restored usage of extract-text-webpack-plugin with updated Webpack 3.6.0.
Updated copyright and license information for 2018 year.
Minor updates to documentation phrasing.
Fixed root-level -h
/--help
overriding command-level help information.
Renamed from enact-dev
to @enact/cli
for consistency, along with updated documentation.
Locked down dependencies to avoid potential regressions in patch updates to dependencies (as was the case with 2.0.8 karma-webpack).
- Improved prerender base font detection on irregular screens.
- Deep linking now injects prerendered app HTML dynamically, rather than removing prerendered HTML nodes.
- Template updated for Enact 1.8.0.
- Fixed ES6 module format not being transpiled to CommonJS standard.
- Improved support for
screenTypes
within theenact
object in thepackage.json
. Can now be:- Array of screen literal values (empty array fo no screen types to pass)
- String filepath to a local project json file
- String path to a dependency module json file
- Undefined/falsy to fallback to default Moonstone
- Added support for
deep
option within theenact
object in thepackage.json
. It represents 1 or more javascript conditions that, when met, indicate the page load was originating from an external deep link, and the prerender should not be shown (as the initial state of the window will not be the prerendered content). This can be a string or a string array.
Dependencies updated to latest release, including support for Webpack 3.x. Codebase updated for ES6 syntax and the minimum version is NodeJS is now 6.4.0.
- Template updated for Enact 1.7.0 and React 15.6.1
- Upgraded to Webpack 3 and associated loaders/config layout.
- Removed
url-loader
usage in favour of strictlyfile-loader
only. - Switched from implicit string loader names to explicit relative loader filepath resolving.
- Prevent removal of outdated CSS properties by
autoprefixer
inpostcss
- Prerenders moonstone font-face declarations into HTML head to preload fonts.
- Output error messages after build and have watcher mode disable bailing to ensure webpack doesn't exit during watching.
- Properly bail on error and properly avoid bailing on
--watch
flag. - Disable module traces when errors occur.
- Show any warnings successful
pack
executions (not just when there are errors). - Uses the
react-dev-utils
eslint formatter for displaying eslint warnings and errors. - Limited
autoprefixer
flexbox prefixing to final and IE versions of flexbox implementation. - Added support for
postcss-flexbugs-fixes
to automatically fix known platform-specific flexbox issues with workarounds. - Disabled webpack performance output.
- Support greater dev server functionality and UI from
react-dev-utils
. - Integrated support for
react-error-overlay
. - Fixed module access failure when rebuilding after editing LESS/CSS.
- Activity timeout extended for larger testbases to 60 seconds.
- Removed unneeded
extract-text-webpack-plugin
usage. - Carried over
url-loader
andpostcss
changes frompack
configuration.
Updated ilib-webpack-plugin
dependency to correctly support moonstone internal localization and associated fixes.
- Template updated for Enact 1.2.2
- Fixed prerendering of apps that use lazy loaded chunks.
- Support for moonstone internal localization.
- Disable host checks to allow IP serving.
- Added Array.from to the list of polyfills used with Phantomjs in tests.
- Added license checker command to detect all licenses used by content within an app.
With the exception of webpack2-related packages, all dependencies have been updated to their current releases.
- Template updated for Enact 1.1.0 and React 15.5.4.
- Added
prop-types
dependency. - Fixed
--local
option to useenact-dev
on NPM rather than git shorthand.
- Fixed
--port
option parsing along with support forPORT
environment variable.
- Improved console output when prerendering in isomorphic code layout.
- Uses
cheap-module-source-map
instead ofsource-map
. See webpack/webpack#2145 (comment) - Enabled support for eslint caching to improve development mode build speed.
- Appinfo files will now correctly be ignore by the ilib-webpack-plugin (as they're already handled by webos-meta-webpack-plugin).
- Improved communication between plugins.
- Updated use react-test-renderer with Enzyme with alias fallback to avoid any compatibility issues.
Added support for a link command (enact link
) as a shorthand to link in Enact library dependencies.
- Added support for appinfo.json sysAssetsBasePath and $-prefix in webos-meta-webpack-plugin.
- Will now warn about performance when building in development mode.
- HTML template will now be used in all situations and can be customized as desired.
- Vastly rewritten isomorphic app prerendering support with improved reliability and memory management.
- Depreciated prerendering of isomorphic apps within the HTML template has been removed. Please ensure all app entrypoints are able to self-render. See this example.
- Improved error handling with plugins to prevent certain scenarios that could cause tests to fail.
- Updated lint rules for disabling
no-spaced-func
andno-undefined
warnings for non-strict ruleset.
All enact-dev dependencies have been updated to latest applicable revisions. If you are using editor-based linting, please update your global dependencies to match.
- Template updated for Enact 1.0.0-beta.3 and React 15.4.2.
- Transitioned from the iLib-loader to a new iLibPlugin with enhanced support for compilation-unique caching in Enact 1.0.0-beta.3. This is not backward compatible; please update to Enact 1.0.0-beta.3 or use an earlier release of enact-dev.
- Supports code splitting/lazy-loading via ES6
import()
syntax (limited to static string values). - WebOSMetaPlugin updated to support dynamically adding
usePrerendering:true
to appinfo.json files as needed.
- Added Map polyfill support
- Fixes a code interaction issue with WebOSMetaPlugin that caused tests to fail.
- Enact ESLint plugin updated to support
handlers
block in `kind(). Also adds propType validation for props used by handler and computed functions. - Enact ESLint config updated to replace deprecated
babel/array-bracket-spacing
witharray-bracket-spacing
. - Additional options may be passed to the lint command.
- Template updated for Enact 1.0.0-beta.2 and React 15.4.2.
- Template's .gitignore file now correctly includes
dist
.
- Added a
node
Enact build option to support polyfilling NodeJS components. See here for more info. - All localized appinfo.json resources and assets will now be correctly copied to the output directory.
- Added a polyfill for String.prototype.repeat, as phantomjs lacks the API.
- Webpack build warnings will no longer spam the console in certain scenarios.
- Test action will now automatically fail when no test suite is found. This was done to allows tests which build incorrect or have missing modules to correctly fail. See #38 for more background information.
Several additional documentation files have been added to the docs
directory, to cover common topics.
- Template updated for Enact 1.0.0-beta.1
- Template has been updated to use a single isomorphic-compatible entrypoint index.js.
- Added support for
--host
option to specify a server host IP address to use. - Added support for
--port
option to specify a server port humber to use. - The host/port details will now correctly output when linter warnings occur.
- Added primary support for singular entrypoints for both regular and isomorphic code layouts.
- Refactored build customization features (like
--isomorphic
and--stats
) into separate files and cleaned up the implementations. - Depreciated isomorphic HTML-side rendering. Isomorphic entrypoints should render to the DOM when in a browser environment.
- Fixed clean command failing due to missing internal parameters.
- Renamed
init
command tocreate
for clarity of purpose. - Template updated for Enact 1.0.0-alpha.4
- Fixed fs-extra depreciation warning about using a RegExp in copying.
- Added support for overriding with a custom HTML template.
- Viewport meta tags added to restrict user-scale to 1.
- Documented
package.json
Enact build options in README.md. - Fixed app rendering in isomorphic code layout, where apps exported as ES6 default would fail to render.
- Fixed ReactPerf bundling with React 15.4.x, with backwards support for earlier versions.
- Fixed
--watch
support.
- Properly ignore ./dist and ./build directories when searching for tests.
- Removed unneeded sourcemap support to greatly improved memory management and avoid js heap crashes in PhantomJS.
- Sanitizes directory name so only valid characters are included as the package name.
- Template updated for Enact 1.0.0-alpha.3
- Added
-s
/--stats
flag to generate a stats.html bundle analysis report. - Fixed development build failure when generating sourcemaps.
- Refactored ESLint configuration with an optional strict mode.
- Updated
eslint
to use 3.9.1 for new rule support. - Updated
eslint-plugin-enact
to 6.5.0 for new rule support.
- Browser no longer automatically opens. Use
-b
/--browser
flag to re-enable the feature. - Fixed serve failure when generating sourcemaps.
- Refactored entire project into a dedicated standalone global CLI with features/functionality integrated from create-react-app
- Added
-h
/--help
information. - Verifies the user has a compatible Node version.
- Verifies the destination directory is safe to create a project in.
- Template now include webOS meta files (appinfo.json, icons.png, etc.).
- Template updated for Enact 1.0.0-alpha.2
- The package.json and appinfo.json will update their respective
name
/id
to the project directory's name. - Added
--verbose
flag option to provide detailed logging. - Added
--link
flag option to link any dependencies that have beennpm link
rather than install. - Added
--local
flag option to include enact-dev as a local devDependency (not recommended for general usage). - Renovated user interface with basic NPM script usage information included.
- Switched from using
babel-polyfill
to a more simplified set of polyfills covering Promise, Object.assign, String.prototype.codePointAt, String.fromCodePoint, Math.sign, and Fetch APIs - Scans files with ESLint as part of the build process, failing on errors.
- Switched from OS-level to a local ./node_modules/.cache/ location for babel caching in development mode.
- Support auto-prefixing of CSS.
- Supports development-only CSS class
.__DEV__
which will exist withing development builds but be removed in production builds. - Includes CaseSensitivePathsPlugin to ensure paths meet case-sensitive requirements regardless of system.
- Converted webos-meta-loader into a standalone plugin that will auto-detect the appinfo.json and ensure its webOS meta assets get
copied over during build time. Additionally, if an appinfo.json is found, the
title
value will be inserted into the output HTML<title></title>
. - PrerenderPlugin now handles Node-based Fetch API to allow isomorphic fetch operations (via @enact/fetch).
- PrerenderPlugin will output a stack trace on failure and allow continue the build without prerendering.
- Isomorphic build format is no longer its own mode, but is now a
-i
/--isomorphic
flag option, which will apply isomorphic layout to whatever the active build mode is (development or production). When the flag is present, theisomorphic
package.json enact property will be used as the entrypoint. - The
prerender
enact property within package.json has been renamedisomorphic
for clarity (backward compatible) - Simplified console output, detailing output files, file sizes, and changes in size from previous build.
- Verifies the desired port (8080) is open and allows selecting of an alternate if occupied.
- Simplified output with understandable messages.
- Optional proxy server support.
- Webpage will automatically open when a dev-server session begins.
- The dev-server client in
react-dev-utils
allows build error details to render into the browser window.
- Initial internal release