- Updated dependencies.
- Updated dependencies.
- Added
--no-lintingoption to build without code linting. - Fixed webpack config to webpack noise constrained to errors only.
- Updated to Jest 30.
- Added
@daltontan/postcss-import-jsonPostCSS plugin to process JSON imports in CSS. - Fixed
eslintWebpackPluginConfigto not always run lint in strict mode whenenact pack.
- Updated dependencies.
- Removed deprecated postcss plugin
postcss-global-import.
- No significant changes.
- Updated dependencies.
- Updated dependencies.
- Updated
eslintto v9 and adopted flat config.
- Updated all dependencies to the latest including React 19.
- Updated the minimum version of Node to
20.5.0.
- Changed classnames to be hashed when production build.
- Updated npm-shrinkwrap.json to fix errors in
--productionoption.
- Updated dependencies.
- Updated the minimum version of Node to
18.12.0. - Updated all dependencies to the latest including
webpack-dev-serverversion 5 and@testing-library/reactversion 15.
- Updated
css-loaderto 7.x and changedcss-loaderoptions to restore 6.x behavior. - Added
--no-animationoption to build without effects such as animation and shadow.
- Updated docs to cover the latest commands of
enact pack.
- Updated dependencies.
- Removed
getCSSModuleLocalIdentto fix unexpected behaviors in css-loader. - Removed eslint related modules.
- Fixed
--frameworkoption to use strict lint rules. - Fixed webpack config to generate unique class names in module css.
- Fixed
--helpthrows errors.
- Updated
prettierversion to^3.0.1andeslint-plugin-prettierversion to^5.0.0.
- Updated
chalkversion to^5.3.0. - Updated
find-cache-dirversion 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.0and dropped the support for Node 12 and 17.
- Added
--content-hashoption to add a unique hash to output file names to support better caching.
- Fixed to disable overlay for runtime errors.
- Removed
@testing-library/domdependency. - Updated
@testing-library/reactversion to^14.0.0. - Fixed
--watchoption is not working with the latestjest-watch-typeaheadmodule.
- Updated
eslint-plugin-reactversion to^7.32.2. - Updated dependencies.
- Updated
babel-preset-enactto0.1.1to fix isomorphic build failures on Node 12.
- Added
@testing-library/dom8.x to fix unit test failures temporarily.
- Fixed
eslint-plugin-reactversion to7.31.11temporarily. - Updated dependencies.
- Updated
babel.config.jsto usebabel-preset-enactmodule that holds the babel config for Enact.
- Unpinned versions of dependencies.
- Added
--custom-skinoption 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
forceCSSModulesto enforce modular CSS.
- Updated dependencies.
- Fixed build failure when
.envfile exists. - Fixed
snapshot_blob.binfile is not listed on the build results.
- Fixed
enact servefails to open another port when the default port is busy.
- Fixed
core-jsversion to3.22.8for compatibility. - Added
ENACT_PACK_ISOMORPHICas a global variable to usehydrateRootinstead ofcreateRootfrom app when isomorphic build. - Added
ignoreWarningconfig to ignore warnings from SnapshotPlugin. - Updated webpack config to support
sass-loaderfor opt-in support of SASS/SCSS files.
- Updated the
lockfileVersionof npm-shrinkwrap file to v2. - Updated to the latest
eslint-config-enact,eslint-plugin-enact, and@enact/dev-utilsdependency releases.
- Updated
@enact/template-sandstonedependency.
- Updated Enact ESLint config to
4.1.0including replacing deprecated modules and updated lint rules.
- Replaced
@testing-library/react-hooksto@testing-library/reactfor React 18 support.
- Fixed
enact packfails on windows by excluding unnecessary file emitting fromhtml-webpack-plugin.
- Fixed
enact testfails on windows by modifying glob patterns. - Removed
enzymeand related modules.
- Fixed
enact lintis not working on node 16 by moving ESLint plugins to dependencies.
- Fixed
--watchoption is not working by fixing the version ofjest-watch-typeaheadto0.6.5.
- Updated
@enact/template-sandstonedependency.
- Updated all dependencies to the latest including Webpack 5, React 18, and ESLint 8.
- Replaced
optimize-css-assets-webpack-plugintocss-minimizer-webpack-plugin. - Fixed ICSS syntax in stylesheets.
- Added
source-map-loaderfor debugging into original source of node_modules libraries that contain sourcemaps. - Added
tailwindcsssupport. - Added
node-polyfill-webpack-pluginto fix screenshot build fail.
- Fixed to disable overlay for warnings.
- Fixed to allow CORS on
webpack-dev-server.
- Updated to Jest 27.
- Added
additionalModulePathsto enact options to specify paths to check when resolving modules.
- Fixed V8 snapshot failure.
- No significant changes.
- Added
eslint-plugin-testing-libraryas a dependency.
- Removed
sanitize.cssdependency. - Updated CLI dependency of
postcssrelated modules includingpostcss-normalize10.0.1.
- Enabled
testing-librarylint rules.
- Added
sanitize.cssdependency.
- No significant changes.
- Added
@testing-library/reactsupport. - Deprecated
enzymesupport.
- Fixed not reading a local
./src/setupTests.jssetup file. - Fixed
jest.restoreAllMocks()throws errors.
- Changed
css-loaderoptions to not resolving url() of the absolute path to avoid build failures.
- Updated CLI dependency of
jestto 26.6.3.
- Fixed not inserting title into the output HTML.
- Added conditions for linting Typescript files.
- Changed to
@enact/template-sandstoneas default for new apps.
- Fixed the glob patterns for test files
- Updated moonstone template for Enact 4.0.0-alpha.1 release.
- Replaced
inquirerwithprompts.
- Updated CLI dependency of
reactandreact-domto 17.0.1. - Added
typescript4.x as peerDependency. - Replaced deprecated
eslint-loaderbyeslint-webpack-plugin. - Added support for new JSX Transform.
- Updated CLI dependency of
@pmmmwh/react-refresh-webpack-pluginto 0.4.3.
- Updated CLI dependency of
react-test-rendererto 17.0.1.
- Added support for new JSX Transform.
- Fixed https serve is not working.
- Fixed
--bareoption to work.
- Switched back to
@enact/template-moonstoneas 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/i18npackage 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-sandstoneas default for new apps.
- Added support for
TSC_COMPILE_ON_ERRORenvironment 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_URLenvironment variable,publicUrlEnact option, orpackage.jsonhomepage value. - Added support for mjs file extension.
- Added
postcss-normalizePostCSS plugin to normalize browser quirks according to BROWSERSLIST. - Added
postcss-safe-parserfor 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-symbolplugin as it is known to make code slower. - For Jest testing, include
babel-plugin-dynamic-import-nodeto rewrite dynamicimport() - For Typescript files, use
plugin-proposal-decoratorsin loose mode
- Added
- Updated eslint pre-loader to scan typescript files as well as javascript
- Updated webpack config to only support
.tsand.tsxfiles whentsconfig.jsonis 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_URLenvironment variable,publicUrlEnact option, orpackage.jsonhomepage 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_PORTenvironment variables to control hot reloading websocket details. - Added support for
SSL_CRT_FILEandSSL_KEY_FILEenvironment variables to specify filepaths for relevant SSL files forhttpssupport. - Added support for
TSC_COMPILE_ON_ERRORenvironment 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.jsonjest object. - Added support for a local
./src/setupTests.jssetup file - Added
jest-circustest runner - Added
jest-watch-typeaheadwatch 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: 24themes 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
tslintlogic/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
reactandreact-domto 16.13.1.
- Added support for custom webpack-dev-server middleware and proxy settings via an option app-side
./src/proxySetup.jsfile.
- Updated CLI dependency of
react-test-rendererto 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 linkafter 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
--frameworkoption with regards to erroneously including unneeded or invalid iLib dependencies and test files.
- Added support for a
-a/--allflag which will deletenode_modulesin 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/screenshotand./tests/uidirectories.
- Narrowed transpiling scope to ignore
./docs,./samplesand./testsdirectories.
- Updated moonstone template for Enact 3.0.0 release.
- Fixed V8 snapshotting when
ilibexternal package is not found.
- Redesigned
option-parserwith encapsulated theme option support and environment variable overriding. - Fixed V8 snapshot failure when attempting to polyfill
<TypedArray>.toLocaleString, butInt8Array.prototype.toLocaleStringalready exists. - Fixed bug where undefined
rivalues would result inInfinitypixel values.
- Added mock support for
<Element>.animate. - Added support for theme-based iLib resbundle resource paths.
- Fixed
.envfiles not being processed and loaded intoprocess.env.
- Added support for
typetemplate property (used during project creation messages ifprepareis not overridden). Defaults to'app'. - Fixed bug where template function parameters
defaultGeneratorandtypecould be accidentally overridden via command line arguments.
- Fixed alias prioritization for iLib to correctly locate/index iLib when build framework builds.
- Added support for
ilibexternal 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/stablestable feature set rather than all stable+draft polyfills. - Updated default browserslist config from
last 2stable 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/polyfilltocore-js@3for dynamic polyfill support. - Switched to
.babelrcBabel 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
.npmrcfiles.
- 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
publicdirectory, where static assets within are copied, at build time, to./dist. - Added support for
process.env.PUBLIC_URLwhich is hardcoded to'.', for consistency with 3rd party standards.
- Added support for serving/watching file contents within
./public.
- Fixed
--commonjsoption not being respected in transpiling process.
- Added support for
eslint-plugin-jest, with theno-focused-testsrule 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.lessmodular 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-propertiestemporarily disabled while a bug is being resolved. - Added support for
.envfileformat 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
typescriptapp-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.cssextension. - Modified LESS file handling to be independence (only running LESS files through the LESS compiler), with
.module.lessfile extension enabled modular context. - Switched from
less-plugin-resolution-independencetopostcss-plugin-resolution-independenceto apply to both LESS and CSS build chains. - Switched from
uglifyjs-webpack-plugintoterser-webpack-pluginas Uglify is no longer actively developed. - Switched from
extract-text-webpack-plugintomini-css-extract-pluginfor CSS content output. - Removed direct autoprefixer usage as
postcss-preset-envcontains 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
browsersliststandard for declaring supporting browsers.
- Added support for TSLint, when linting a TypeScript project and
tslintis globally or locally installed.
- Replaced Karma/PhantomJS/Mocha/DirtyChai testing stack with a Jest-based alternative implementation.
- Supports Jest options like
--watchand--coverageas 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
--commonjsoption, enabled by default, which will convert all ES6 import/export statements into CommonJS. - LESS files will now be transpiled into CSS. Directories named
stylewill not transpile LESS and will just copy the files (useful for sharing LESS variables/mixins). Directories namedinternalwithinstyleswill 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-utilsandmocha-react-proptype-checkerdependency releases.
- Added
core-jsas a direct dependency when creating a new project with--localto prevent conflicting polyfill versions.
- Added support for
-m/--metaoption to override theenactobject 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
--verbosewhich 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
externalStartupin 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/polyfillfailing to be transpiled into targetedcore-jscomponents. 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.jsinto its own standalonemocha-react-proptype-checkerpackage. - 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.1and 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
--bareeject 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/snapshotwindow 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-utilsfixing React 16 issues with v8 snapshot support.
- Fixed automatic name detection for NPM packages when using version/tag specifiers.
- Added
--frameworktemporary alias for--strictto 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/--templatesoption. - Refactored creation handling to be general purpose and support dynamic templates modifying the execution.
- Only link
@enact-scoped dependencies found within the projectpackage.jsonrather than all globally linked@enact-scoped packages.
- Added support for
-i/--ignoreregex string to ignore filepaths when transpiling/copying.
- Added support for targeted builds. Can be set via a
targetenactpackage.jsonproperty or via Browserslist format. - Added support for Electron build target.
- Switched to use
@babel/preset-envand@babel/polyfillfor on-demand transpiling/polyfilling to targeted build platforms. - Production mode build uses
uglifyjs-webpack-pluginto support ES6-based minification (until the upgrade to webpack 4) - Dynamic handling of the
enactoptions withpackage.json, with support forthemepreset values that simplify setup of for given Enact GUI theme libraries. - Allow
electron-rendererwebpack target to supportbrowseras a main field. - Isomorphic builds now build
en-USlocale by default. Switched-l/--localesas a public option, allowing specifying of locale-lists for prerendering. - Switched
-s/--snapshotas a public option. Creates a v8 snapshot blob from the app bundle (provided mksnapshot binary is provided asV8_MKSNAPSHOTenvironment 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-nodeandwebworker.
- 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 createexecution.
- Added a
--fixoption to automatically attempt to have eslint fix linting errors.
- Updated to include
@babel/polyfilland@babel/corelicenses 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
screenTypeswithin theenactobject 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
deepoption within theenactobject 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-loaderusage in favour of strictlyfile-loaderonly. - Switched from implicit string loader names to explicit relative loader filepath resolving.
- Prevent removal of outdated CSS properties by
autoprefixerinpostcss - 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
--watchflag. - Disable module traces when errors occur.
- Show any warnings successful
packexecutions (not just when there are errors). - Uses the
react-dev-utilseslint formatter for displaying eslint warnings and errors. - Limited
autoprefixerflexbox prefixing to final and IE versions of flexbox implementation. - Added support for
postcss-flexbugs-fixesto 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-pluginusage. - Carried over
url-loaderandpostcsschanges frompackconfiguration.
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-typesdependency. - Fixed
--localoption to useenact-devon NPM rather than git shorthand.
- Fixed
--portoption parsing along with support forPORTenvironment variable.
- Improved console output when prerendering in isomorphic code layout.
- Uses
cheap-module-source-mapinstead 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-funcandno-undefinedwarnings 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:trueto 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
handlersblock in `kind(). Also adds propType validation for props used by handler and computed functions. - Enact ESLint config updated to replace deprecated
babel/array-bracket-spacingwitharray-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
nodeEnact 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
--hostoption to specify a server host IP address to use. - Added support for
--portoption 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
--isomorphicand--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
initcommand tocreatefor 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.jsonEnact 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
--watchsupport.
- 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/--statsflag to generate a stats.html bundle analysis report. - Fixed development build failure when generating sourcemaps.
- Refactored ESLint configuration with an optional strict mode.
- Updated
eslintto use 3.9.1 for new rule support. - Updated
eslint-plugin-enactto 6.5.0 for new rule support.
- Browser no longer automatically opens. Use
-b/--browserflag 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/--helpinformation. - 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/idto the project directory's name. - Added
--verboseflag option to provide detailed logging. - Added
--linkflag option to link any dependencies that have beennpm linkrather than install. - Added
--localflag 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-polyfillto 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
titlevalue 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/--isomorphicflag option, which will apply isomorphic layout to whatever the active build mode is (development or production). When the flag is present, theisomorphicpackage.json enact property will be used as the entrypoint. - The
prerenderenact property within package.json has been renamedisomorphicfor 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-utilsallows build error details to render into the browser window.
- Initial internal release