diff --git a/CHANGELOG.md b/CHANGELOG.md index db757153..af0e3a96 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## unreleased + +### create, template + +* Updated `@enact/template-limestone` dependency. + ## 7.0.0-alpha.4 (January 17, 2025) * Updated all dependencies to the latest including React 19. diff --git a/README.md b/README.md index dd1f37d3..0de7ba0d 100644 --- a/README.md +++ b/README.md @@ -63,11 +63,11 @@ The @enact/cli tool will check the project's **package.json** looking for an opt * `isomorphic` _[string]_ - Alternate filepath to a custom isomorphic-compatible entry point. Not needed if main entry point is already isomorphic-compatible. * `title` _[string]_ - Title text that should be put within the HTML's `` tags. Note: if this is a webOS-project, the title will, by default, be auto-detected from the **appinfo.json** content. * `alias` _[object]_ - String mapping of webpack alias paths to use when building. -* `theme` _[object]_ - A simplified string name to extrapolate `fontGenerator`, `ri`, and `screenTypes` preset values from. For example, `"sandstone"`. -* `fontGenerator` _[string]_ - Filepath to a CommonJS fontGenerator module which will build locale-specific font CSS to inject into the HTML. By default, will use any preset for a specified theme or fallback to sandstone. -* `ri` _[object]_ - Resolution independence options to be forwarded to the [postcss-resolution-independence](https://github.com/enactjs/postcss-resolution-independence). By default, will use any preset for a specified theme or fallback to sandstone. +* `theme` _[object]_ - A simplified string name to extrapolate `fontGenerator`, `ri`, and `screenTypes` preset values from. For example, `"limestone"`. +* `fontGenerator` _[string]_ - Filepath to a CommonJS fontGenerator module which will build locale-specific font CSS to inject into the HTML. By default, will use any preset for a specified theme or fallback to limestone. +* `ri` _[object]_ - Resolution independence options to be forwarded to the [postcss-resolution-independence](https://github.com/enactjs/postcss-resolution-independence). By default, will use any preset for a specified theme or fallback to limestone. * `baseSize` _[number]_ - The root font-size to use when converting the value of the base unit to a resolution-independent unit. For example, when `baseSize` is set to 24, 48px in the LESS file will be converted to 2rem. -* `screenTypes` _[array|string]_ - Array of 1 or more screentype definitions to be used with prerender HTML initialization. Can alternatively reference a json filepath to read for screentype definitions. By default, will use any preset for a specified theme or fallback to sandstone. +* `screenTypes` _[array|string]_ - Array of 1 or more screentype definitions to be used with prerender HTML initialization. Can alternatively reference a json filepath to read for screentype definitions. By default, will use any preset for a specified theme or fallback to limestone. * `nodeBuiltins` _[object]_ - Configuration settings for polyfilling NodeJS built-ins. See `node` [webpack option](https://webpack.js.org/configuration/node/). * `resolveFallback` _[object]_ - Configuration settings for redirecting module requests when normal resolving fails. See `resolve.fallback` [webpack option](https://webpack.js.org/configuration/resolve/#resolvefallback). * `externalStartup` _[boolean]_ - Flag whether to externalize the startup/update js that is normally inlined within prerendered app HTML output. @@ -82,7 +82,7 @@ For example: { ... "enact": { - "theme": "sandstone", + "theme": "limestone", "resolveFallback": { fs: false, net: false, diff --git a/commands/create.js b/commands/create.js index d24f2567..76319436 100755 --- a/commands/create.js +++ b/commands/create.js @@ -19,7 +19,7 @@ const validatePackageName = require('validate-npm-package-name'); let chalk; const ENACT_DEV_NPM = '@enact/cli'; -const INCLUDED = path.dirname(require.resolve('@enact/template-sandstone')); +const INCLUDED = path.dirname(require.resolve('@enact/template-limestone')); const TEMPLATE_DIR = path.join(process.env.APPDATA || os.homedir(), '.enact'); const defaultGenerator = { @@ -171,7 +171,7 @@ function resolveTemplateGenerator(template) { return new Promise((resolve, reject) => { let templatePath = path.join(TEMPLATE_DIR, template); if (!fs.existsSync(templatePath)) { - if (['default', 'sandstone'].includes(template)) { + if (['default', 'limestone'].includes(template)) { templatePath = path.join(INCLUDED, 'template'); } else { reject(new Error(`Template ${chalk.bold(template)} not found.`)); diff --git a/commands/template.js b/commands/template.js index df749203..a2e07f3e 100755 --- a/commands/template.js +++ b/commands/template.js @@ -11,7 +11,7 @@ const tar = require('tar'); let chalk; const TEMPLATE_DIR = path.join(process.env.APPDATA || os.homedir(), '.enact'); -const INCLUDED = path.dirname(require.resolve('@enact/template-sandstone')); +const INCLUDED = path.dirname(require.resolve('@enact/template-limestone')); const DEFAULT_LINK = path.join(TEMPLATE_DIR, 'default'); function displayHelp() { @@ -71,9 +71,9 @@ function initTemplateArea() { } }); } - const init = doLink(path.join(INCLUDED, 'template'), 'sandstone'); - const sandstoneLink = path.join(TEMPLATE_DIR, 'sandstone'); - return init.then(() => !fs.existsSync(DEFAULT_LINK) && doLink(sandstoneLink, 'default')); + const init = doLink(path.join(INCLUDED, 'template'), 'limestone'); + const limestoneLink = path.join(TEMPLATE_DIR, 'limestone'); + return init.then(() => !fs.existsSync(DEFAULT_LINK) && doLink(limestoneLink, 'default')); } function doInstall(target, name) { diff --git a/docs/building-apps.md b/docs/building-apps.md index 31eabbb2..e5dca398 100644 --- a/docs/building-apps.md +++ b/docs/building-apps.md @@ -54,7 +54,7 @@ For all projects built with Enact CLI, `core-js` polyfill is automatically inclu However keep in mind that `core-js` is solely for ECMAScript and does not polyfill any browser features. Features like this will need to be manually polyfilled in projects with app-level imports. For example, to add web animation API, you could add the NPM dependency [`web-animations-js`](https://github.com/web-animations/web-animations-js) and import it at the top of your app's root **`index.js`** source file. -Note: Some ui libraries, like Sandstone, may have their own recommended supported browsers and may differ from the core Enact framework. +Note: Some ui libraries, like Limestone, may have their own recommended supported browsers and may differ from the core Enact framework. ## \_\_DEV\_\_ Keyword In order to make development and debugging simpler, the enact cli supports a special `__DEV__` keyword in both javascript and LESS. @@ -206,7 +206,7 @@ export NODE_PATH=/path/to/your/global/node_modules ## Custom Skin Support -Sandstone supports custom skin features to let you easily override the colors of components. All you need to do is build your app with `--custom-skin` option and add a CSS file named `custom_skin.css` which includes a preset of colors, under the `customizations` folder in the build result like below. +Limestone supports custom skin features to let you easily override the colors of components. All you need to do is build your app with `--custom-skin` option and add a CSS file named `custom_skin.css` which includes a preset of colors, under the `customizations` folder in the build result like below. ```none my-app/ @@ -227,7 +227,7 @@ my-app/ ## Build without Effects -To accommodate devices with lower performance, the Enact CLI offers the `--no-animation` option. This option disables animations and graphical effects, including shadows. When activated, it sets the `ENACT_PACK_NO_ANIMATION` environment variable. This variable allows UI libraries like Sandstone to conditionally disable effects. Additionally, you can leverage this variable in your application to achieve the same outcome. Thus, you can develop an app devoid of these effects and do so without modifying your codebase. +To accommodate devices with lower performance, the Enact CLI offers the `--no-animation` option. This option disables animations and graphical effects, including shadows. When activated, it sets the `ENACT_PACK_NO_ANIMATION` environment variable. This variable allows UI libraries like Limestone to conditionally disable effects. Additionally, you can leverage this variable in your application to achieve the same outcome. Thus, you can develop an app devoid of these effects and do so without modifying your codebase. ## Caching diff --git a/docs/isomorphic-support.md b/docs/isomorphic-support.md index a8be063e..120f6ec7 100644 --- a/docs/isomorphic-support.md +++ b/docs/isomorphic-support.md @@ -22,7 +22,7 @@ Within your **package.json** file, add an `isomorphic` property to the `enact` o ... } ``` -If the value is a string filepath instead, it will use that file as the main app entry point instead of the default. Whatever the entry point, ensure it exports the `ReactElement` in non-browser environments. Additionally, ensure the entry point also conditionally renders to to the DOM if the `window` is available. An example **index.js** entry point can be see [here](https://github.com/enactjs/templates/blob/master/packages/sandstone/template/src/index.js) and is the default included in the Enact app template. +If the value is a string filepath instead, it will use that file as the main app entry point instead of the default. Whatever the entry point, ensure it exports the `ReactElement` in non-browser environments. Additionally, ensure the entry point also conditionally renders to to the DOM if the `window` is available. An example **index.js** entry point can be see [here](https://github.com/enactjs/templates/blob/master/packages/limestone/template/src/index.js) and is the default included in the Enact app template. Then, you can choose to build with isomorphic code layout by adding the `--isomorphic` flag to the pack command: ```bash diff --git a/docs/starting-a-new-app.md b/docs/starting-a-new-app.md index 46ecfab3..846204ea 100644 --- a/docs/starting-a-new-app.md +++ b/docs/starting-a-new-app.md @@ -16,7 +16,7 @@ order: 2 -local Include @enact/cli locally in the project -verbose Verbose output logging ``` -This will generate a basic app based on the Sandstone project template, complete with Enact libraries, React, and a fully configured **package.json**. +This will generate a basic app based on the Limestone project template, complete with Enact libraries, React, and a fully configured **package.json**. ## Enact Project Settings The @enact/cli tool will check the project's **package.json** looking for an optional `enact` object for a few customization options: @@ -24,11 +24,11 @@ The @enact/cli tool will check the project's **package.json** looking for an opt * `template` _[string]_ - Filepath to an alternate HTML template to use with the [Webpack html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin). * `isomorphic` _[string]_ - Alternate filepath to a custom isomorphic-compatible entry point. Not needed if main entry point is already isomorphic-compatible. * `title` _[string]_ - Title text that should be put within the HTML's `` tags. Note: if this is a webOS-project, the title will, by default, be auto-detected from the **appinfo.json** content. -* `theme` _[object]_ - A simplified string name to extrapolate `fontGenerator`, `ri`, and `screenTypes` preset values from. For example, `"sandstone"`. -* `fontGenerator` _[string]_ - Filepath to a CommonJS fontGenerator module which will build locale-specific font CSS to inject into the HTML. By default, will use any preset for a specified theme or fallback to sandstone. -* `ri` _[object]_ - Resolution independence options to be forwarded to the [postcss-resolution-independence](https://github.com/enactjs/postcss-resolution-independence). By default, will use any preset for a specified theme or fallback to sandstone. +* `theme` _[object]_ - A simplified string name to extrapolate `fontGenerator`, `ri`, and `screenTypes` preset values from. For example, `"limestone"`. +* `fontGenerator` _[string]_ - Filepath to a CommonJS fontGenerator module which will build locale-specific font CSS to inject into the HTML. By default, will use any preset for a specified theme or fallback to limestone. +* `ri` _[object]_ - Resolution independence options to be forwarded to the [postcss-resolution-independence](https://github.com/enactjs/postcss-resolution-independence). By default, will use any preset for a specified theme or fallback to limestone. * `baseSize` _[number]_ - The root font-size to use when converting the value of the base unit to a resolution-independent unit. For example, when `baseSize` is set to 24, 48px in the LESS file will be converted to 2rem. -* `screenTypes` _[array|string]_ - Array of 1 or more screentype definitions to be used with prerender HTML initialization. Can alternatively reference a json filepath to read for screentype definitions. By default, will use any preset for a specified theme or fallback to sandstone. +* `screenTypes` _[array|string]_ - Array of 1 or more screentype definitions to be used with prerender HTML initialization. Can alternatively reference a json filepath to read for screentype definitions. By default, will use any preset for a specified theme or fallback to limestone. * `nodeBuiltins` _[object]_ - Configuration settings for polyfilling NodeJS built-ins. See `node` [webpack option](https://webpack.js.org/configuration/node/). * `resolveFallback` _[object]_ - Configuration settings for redirecting module requests when normal resolving fails. See `resolve.fallback` [webpack option](https://webpack.js.org/configuration/resolve/#resolvefallback). * `externalStartup` _[boolean]_ - Flag whether to externalize the startup/update js that is normally inlined within prerendered app HTML output. @@ -42,7 +42,7 @@ For example: { ... "enact": { - "theme": "sandstone", + "theme": "limestone", "resolveFallback": { fs: false, net: false, diff --git a/docs/template-management.md b/docs/template-management.md index 0b7af51e..38d23888 100644 --- a/docs/template-management.md +++ b/docs/template-management.md @@ -35,7 +35,7 @@ order: 9 enact template list List all templates installed/linked ``` -An Enact Sandstone template is included within the Enact CLI as the default template. Additional templates can be downloaded or created as needed. +An Enact Limestone template is included within the Enact CLI as the default template. Additional templates can be downloaded or created as needed. ## `install` vs `link` Due to the similar nature in these actions, it's worth some clarification. The `install` action pulls from a local or remote source, copying the template files to a user-storage location (`%APPDATA%\.enact` on Windows, `$HOME/.enact` on all other systems). The `link` action, on the other hand, will create a symlink from a local source directory into the user-storage location. No files are physically copied, only linked. As such, the local linked source directory should not be deleted and any changes made within it will be available the next time a template is used. It is generally only advisable to use the `link` action when actively developing templates. diff --git a/package.json b/package.json index f0a1f53b..dd55279e 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "dependencies": { "@babel/plugin-transform-modules-commonjs": "^7.26.3", "@enact/dev-utils": "^7.0.0-alpha.3", - "@enact/template-sandstone": "^3.0.0-alpha.1", + "@enact/template-limestone": "^1.0.0-alpha.1", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.1.0",