`
-HTML element. This enables making the component interactive and helps to improve
-its accessibility.
-
-π Refer to the MDN reference for the full list of supported attributes of the
-[div] element.
-
-## API
-
-
-
-### ToolbarGroup API
-
-A wrapper for grouping ToolbarItems together.
-
-
-
-### ToolbarItem API
-
-A wrapper for individual toolbar items.
-
-
-
-## Theming
-
-| Custom Property | Description |
-|------------------------------------------------------|--------------------------------------------------------------|
-| `--rui-Toolbar__gap` | Gap between toolbar items |
-| `--rui-Toolbar__gap--dense` | Dense gap between toolbar items |
-
-[inline-elements]: https://developer.mozilla.org/en-US/docs/Web/HTML/Inline_elements
-[block-elements]: https://developer.mozilla.org/en-US/docs/Web/HTML/Inline_elements
-[grid]: /components/grid
-[spacing]: /css-helpers/spacing
-[text]: /components/text
-[React synthetic events]: https://reactjs.org/docs/events.html
-[div]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div#attributes
diff --git a/src/lib/provider/RUIContext.jsx b/src/provider/RUIContext.jsx
similarity index 100%
rename from src/lib/provider/RUIContext.jsx
rename to src/provider/RUIContext.jsx
diff --git a/src/lib/provider/RUIProvider.jsx b/src/provider/RUIProvider.jsx
similarity index 62%
rename from src/lib/provider/RUIProvider.jsx
rename to src/provider/RUIProvider.jsx
index c32541273..6a7b522f0 100644
--- a/src/lib/provider/RUIProvider.jsx
+++ b/src/provider/RUIProvider.jsx
@@ -1,5 +1,7 @@
import PropTypes from 'prop-types';
-import React from 'react';
+import React, {
+ useMemo,
+} from 'react';
import defaultTranslations from '../translations/en';
import RUIContext from './RUIContext';
@@ -7,16 +9,20 @@ const RUIProvider = ({
children,
globalProps,
translations,
-}) => (
-
- {children}
-
-);
+}) => {
+ const childProps = useMemo(() => ({
+ globalProps,
+ translations,
+ }), [globalProps, translations]);
+
+ return (
+
+ {children}
+
+ );
+};
RUIProvider.defaultProps = {
children: null,
diff --git a/src/lib/provider/__tests__/RUIProvider.test.jsx b/src/provider/__tests__/RUIProvider.test.jsx
similarity index 100%
rename from src/lib/provider/__tests__/RUIProvider.test.jsx
rename to src/provider/__tests__/RUIProvider.test.jsx
diff --git a/src/lib/provider/index.js b/src/provider/index.js
similarity index 100%
rename from src/lib/provider/index.js
rename to src/provider/index.js
diff --git a/src/lib/provider/withGlobalProps.jsx b/src/provider/withGlobalProps.jsx
similarity index 100%
rename from src/lib/provider/withGlobalProps.jsx
rename to src/provider/withGlobalProps.jsx
diff --git a/src/lib/styles/_utilities.scss b/src/styles/_utilities.scss
similarity index 100%
rename from src/lib/styles/_utilities.scss
rename to src/styles/_utilities.scss
diff --git a/src/lib/styles/elements/_code.scss b/src/styles/elements/_code.scss
similarity index 100%
rename from src/lib/styles/elements/_code.scss
rename to src/styles/elements/_code.scss
diff --git a/src/lib/styles/elements/_links.scss b/src/styles/elements/_links.scss
similarity index 100%
rename from src/lib/styles/elements/_links.scss
rename to src/styles/elements/_links.scss
diff --git a/src/lib/styles/elements/_lists.scss b/src/styles/elements/_lists.scss
similarity index 100%
rename from src/lib/styles/elements/_lists.scss
rename to src/styles/elements/_lists.scss
diff --git a/src/lib/styles/elements/_page.scss b/src/styles/elements/_page.scss
similarity index 100%
rename from src/lib/styles/elements/_page.scss
rename to src/styles/elements/_page.scss
diff --git a/src/lib/styles/elements/_rulers.scss b/src/styles/elements/_rulers.scss
similarity index 100%
rename from src/lib/styles/elements/_rulers.scss
rename to src/styles/elements/_rulers.scss
diff --git a/src/lib/styles/elements/_small.scss b/src/styles/elements/_small.scss
similarity index 100%
rename from src/lib/styles/elements/_small.scss
rename to src/styles/elements/_small.scss
diff --git a/src/lib/styles/generic/_box-sizing.scss b/src/styles/generic/_box-sizing.scss
similarity index 100%
rename from src/lib/styles/generic/_box-sizing.scss
rename to src/styles/generic/_box-sizing.scss
diff --git a/src/lib/styles/generic/_focus.scss b/src/styles/generic/_focus.scss
similarity index 100%
rename from src/lib/styles/generic/_focus.scss
rename to src/styles/generic/_focus.scss
diff --git a/src/lib/styles/generic/_forms.scss b/src/styles/generic/_forms.scss
similarity index 100%
rename from src/lib/styles/generic/_forms.scss
rename to src/styles/generic/_forms.scss
diff --git a/src/lib/styles/generic/_reset.scss b/src/styles/generic/_reset.scss
similarity index 100%
rename from src/lib/styles/generic/_reset.scss
rename to src/styles/generic/_reset.scss
diff --git a/src/lib/styles/generic/_shared.scss b/src/styles/generic/_shared.scss
similarity index 100%
rename from src/lib/styles/generic/_shared.scss
rename to src/styles/generic/_shared.scss
diff --git a/src/lib/styles/helpers/_animation.scss b/src/styles/helpers/_animation.scss
similarity index 100%
rename from src/lib/styles/helpers/_animation.scss
rename to src/styles/helpers/_animation.scss
diff --git a/src/lib/styles/settings/_animations.scss b/src/styles/settings/_animations.scss
similarity index 100%
rename from src/lib/styles/settings/_animations.scss
rename to src/styles/settings/_animations.scss
diff --git a/src/lib/styles/settings/_breakpoints.scss b/src/styles/settings/_breakpoints.scss
similarity index 100%
rename from src/lib/styles/settings/_breakpoints.scss
rename to src/styles/settings/_breakpoints.scss
diff --git a/src/lib/styles/settings/_escaped-characters.scss b/src/styles/settings/_escaped-characters.scss
similarity index 100%
rename from src/lib/styles/settings/_escaped-characters.scss
rename to src/styles/settings/_escaped-characters.scss
diff --git a/src/lib/styles/settings/_form-fields.scss b/src/styles/settings/_form-fields.scss
similarity index 100%
rename from src/lib/styles/settings/_form-fields.scss
rename to src/styles/settings/_form-fields.scss
diff --git a/src/lib/styles/settings/_forms.scss b/src/styles/settings/_forms.scss
similarity index 100%
rename from src/lib/styles/settings/_forms.scss
rename to src/styles/settings/_forms.scss
diff --git a/src/lib/styles/settings/_utilities.scss b/src/styles/settings/_utilities.scss
similarity index 100%
rename from src/lib/styles/settings/_utilities.scss
rename to src/styles/settings/_utilities.scss
diff --git a/src/lib/styles/settings/_z-indexes.scss b/src/styles/settings/_z-indexes.scss
similarity index 100%
rename from src/lib/styles/settings/_z-indexes.scss
rename to src/styles/settings/_z-indexes.scss
diff --git a/src/lib/styles/theme-constants/_breakpoints.scss b/src/styles/theme-constants/_breakpoints.scss
similarity index 100%
rename from src/lib/styles/theme-constants/_breakpoints.scss
rename to src/styles/theme-constants/_breakpoints.scss
diff --git a/src/lib/styles/theme-constants/_colors.scss b/src/styles/theme-constants/_colors.scss
similarity index 100%
rename from src/lib/styles/theme-constants/_colors.scss
rename to src/styles/theme-constants/_colors.scss
diff --git a/src/lib/styles/theme-constants/_svg.scss b/src/styles/theme-constants/_svg.scss
similarity index 100%
rename from src/lib/styles/theme-constants/_svg.scss
rename to src/styles/theme-constants/_svg.scss
diff --git a/src/lib/styles/theme/_accessibility.scss b/src/styles/theme/_accessibility.scss
similarity index 100%
rename from src/lib/styles/theme/_accessibility.scss
rename to src/styles/theme/_accessibility.scss
diff --git a/src/lib/styles/theme/_borders.scss b/src/styles/theme/_borders.scss
similarity index 100%
rename from src/lib/styles/theme/_borders.scss
rename to src/styles/theme/_borders.scss
diff --git a/src/lib/styles/theme/_code.scss b/src/styles/theme/_code.scss
similarity index 100%
rename from src/lib/styles/theme/_code.scss
rename to src/styles/theme/_code.scss
diff --git a/src/lib/styles/theme/_form-fields.scss b/src/styles/theme/_form-fields.scss
similarity index 100%
rename from src/lib/styles/theme/_form-fields.scss
rename to src/styles/theme/_form-fields.scss
diff --git a/src/lib/styles/theme/_links.scss b/src/styles/theme/_links.scss
similarity index 100%
rename from src/lib/styles/theme/_links.scss
rename to src/styles/theme/_links.scss
diff --git a/src/lib/styles/theme/_lists.scss b/src/styles/theme/_lists.scss
similarity index 100%
rename from src/lib/styles/theme/_lists.scss
rename to src/styles/theme/_lists.scss
diff --git a/src/lib/styles/theme/_page.scss b/src/styles/theme/_page.scss
similarity index 100%
rename from src/lib/styles/theme/_page.scss
rename to src/styles/theme/_page.scss
diff --git a/src/lib/styles/theme/_spacing.scss b/src/styles/theme/_spacing.scss
similarity index 100%
rename from src/lib/styles/theme/_spacing.scss
rename to src/styles/theme/_spacing.scss
diff --git a/src/lib/styles/theme/_typography.scss b/src/styles/theme/_typography.scss
similarity index 100%
rename from src/lib/styles/theme/_typography.scss
rename to src/styles/theme/_typography.scss
diff --git a/src/lib/styles/tools/_accessibility.scss b/src/styles/tools/_accessibility.scss
similarity index 100%
rename from src/lib/styles/tools/_accessibility.scss
rename to src/styles/tools/_accessibility.scss
diff --git a/src/lib/styles/tools/_breakpoint.scss b/src/styles/tools/_breakpoint.scss
similarity index 100%
rename from src/lib/styles/tools/_breakpoint.scss
rename to src/styles/tools/_breakpoint.scss
diff --git a/src/lib/styles/tools/_caret.scss b/src/styles/tools/_caret.scss
similarity index 89%
rename from src/lib/styles/tools/_caret.scss
rename to src/styles/tools/_caret.scss
index ab7708ab8..46a379612 100644
--- a/src/lib/styles/tools/_caret.scss
+++ b/src/styles/tools/_caret.scss
@@ -6,7 +6,7 @@
height: 0.4375rem;
border-width: 2px;
border-style: none solid solid none;
- border-color: currentColor;
+ border-color: currentcolor;
}
@mixin rotate($rotate: 0) {
diff --git a/src/lib/styles/tools/_colors.scss b/src/styles/tools/_colors.scss
similarity index 100%
rename from src/lib/styles/tools/_colors.scss
rename to src/styles/tools/_colors.scss
diff --git a/src/lib/styles/tools/_reset.scss b/src/styles/tools/_reset.scss
similarity index 100%
rename from src/lib/styles/tools/_reset.scss
rename to src/styles/tools/_reset.scss
diff --git a/src/lib/styles/tools/_scrollbar.scss b/src/styles/tools/_scrollbar.scss
similarity index 100%
rename from src/lib/styles/tools/_scrollbar.scss
rename to src/styles/tools/_scrollbar.scss
diff --git a/src/lib/styles/tools/_spacing.scss b/src/styles/tools/_spacing.scss
similarity index 100%
rename from src/lib/styles/tools/_spacing.scss
rename to src/styles/tools/_spacing.scss
diff --git a/src/lib/styles/tools/_string.scss b/src/styles/tools/_string.scss
similarity index 100%
rename from src/lib/styles/tools/_string.scss
rename to src/styles/tools/_string.scss
diff --git a/src/lib/styles/tools/_svg.scss b/src/styles/tools/_svg.scss
similarity index 100%
rename from src/lib/styles/tools/_svg.scss
rename to src/styles/tools/_svg.scss
diff --git a/src/lib/styles/tools/_transition.scss b/src/styles/tools/_transition.scss
similarity index 100%
rename from src/lib/styles/tools/_transition.scss
rename to src/styles/tools/_transition.scss
diff --git a/src/lib/styles/tools/_utilities.scss b/src/styles/tools/_utilities.scss
similarity index 100%
rename from src/lib/styles/tools/_utilities.scss
rename to src/styles/tools/_utilities.scss
diff --git a/src/lib/styles/tools/form-fields/_box-field-elements.scss b/src/styles/tools/form-fields/_box-field-elements.scss
similarity index 99%
rename from src/lib/styles/tools/form-fields/_box-field-elements.scss
rename to src/styles/tools/form-fields/_box-field-elements.scss
index 598ab97f3..5bf4256c0 100644
--- a/src/lib/styles/tools/form-fields/_box-field-elements.scss
+++ b/src/styles/tools/form-fields/_box-field-elements.scss
@@ -7,7 +7,7 @@
@use "../../settings/form-fields" as settings;
@use "../../theme/form-fields" as theme;
-@use "../../tools/caret";
+@use "../caret";
@use "../spacing";
@use "../transition";
diff --git a/src/lib/styles/tools/form-fields/_box-field-layout.scss b/src/styles/tools/form-fields/_box-field-layout.scss
similarity index 100%
rename from src/lib/styles/tools/form-fields/_box-field-layout.scss
rename to src/styles/tools/form-fields/_box-field-layout.scss
diff --git a/src/lib/styles/tools/form-fields/_box-field-sizes.scss b/src/styles/tools/form-fields/_box-field-sizes.scss
similarity index 100%
rename from src/lib/styles/tools/form-fields/_box-field-sizes.scss
rename to src/styles/tools/form-fields/_box-field-sizes.scss
diff --git a/src/lib/styles/tools/form-fields/_foundation.scss b/src/styles/tools/form-fields/_foundation.scss
similarity index 100%
rename from src/lib/styles/tools/form-fields/_foundation.scss
rename to src/styles/tools/form-fields/_foundation.scss
diff --git a/src/lib/styles/tools/form-fields/_inline-field-elements.scss b/src/styles/tools/form-fields/_inline-field-elements.scss
similarity index 99%
rename from src/lib/styles/tools/form-fields/_inline-field-elements.scss
rename to src/styles/tools/form-fields/_inline-field-elements.scss
index efa36b3e0..79ecbccc7 100644
--- a/src/lib/styles/tools/form-fields/_inline-field-elements.scss
+++ b/src/styles/tools/form-fields/_inline-field-elements.scss
@@ -11,7 +11,7 @@
@use "../../theme/typography";
@use "../../theme/form-fields" as theme;
-@use "../../tools/accessibility";
+@use "../accessibility";
@use "../transition";
@mixin check-input($type) {
diff --git a/src/lib/styles/tools/form-fields/_inline-field-layout.scss b/src/styles/tools/form-fields/_inline-field-layout.scss
similarity index 100%
rename from src/lib/styles/tools/form-fields/_inline-field-layout.scss
rename to src/styles/tools/form-fields/_inline-field-layout.scss
diff --git a/src/lib/styles/tools/form-fields/_variants.scss b/src/styles/tools/form-fields/_variants.scss
similarity index 100%
rename from src/lib/styles/tools/form-fields/_variants.scss
rename to src/styles/tools/form-fields/_variants.scss
diff --git a/src/lib/theme.scss b/src/theme.scss
similarity index 99%
rename from src/lib/theme.scss
rename to src/theme.scss
index 5d1f2be13..57aacdaf1 100644
--- a/src/lib/theme.scss
+++ b/src/theme.scss
@@ -4,7 +4,8 @@
@use "styles/theme-constants/colors";
@use "styles/theme-constants/svg";
-:root {
+:root,
+:host {
// ============================================================================================ //
// GLOBAL TOKENS //
// ============================================================================================ //
@@ -717,7 +718,7 @@
// ButtonGroup: filled buttons
--rui-ButtonGroup--filled__gap: calc(-1 * var(--rui-Button__border-width));
--rui-ButtonGroup--filled__separator__width: var(--rui-Button__border-width);
- --rui-ButtonGroup--filled__separator__color: currentColor;
+ --rui-ButtonGroup--filled__separator__color: currentcolor;
// ButtonGroup: outline buttons
--rui-ButtonGroup--outline__gap: calc(-1 * var(--rui-Button__border-width));
@@ -727,7 +728,7 @@
// ButtonGroup: flat buttons
--rui-ButtonGroup--flat__gap: var(--rui-Button__border-width);
--rui-ButtonGroup--flat__separator__width: var(--rui-ButtonGroup--flat__gap);
- --rui-ButtonGroup--flat__separator__color: currentColor;
+ --rui-ButtonGroup--flat__separator__color: currentcolor;
//
// Card
diff --git a/src/lib/translations/en.js b/src/translations/en.js
similarity index 100%
rename from src/lib/translations/en.js
rename to src/translations/en.js
diff --git a/src/lib/utils/__tests__/classNames.js b/src/utils/__tests__/classNames.js
similarity index 100%
rename from src/lib/utils/__tests__/classNames.js
rename to src/utils/__tests__/classNames.js
diff --git a/src/lib/utils/classNames.js b/src/utils/classNames.js
similarity index 100%
rename from src/lib/utils/classNames.js
rename to src/utils/classNames.js
diff --git a/tests/mocks/svgrMock.jsx b/tests/mocks/svgrMock.jsx
new file mode 100644
index 000000000..c18a45166
--- /dev/null
+++ b/tests/mocks/svgrMock.jsx
@@ -0,0 +1,4 @@
+import React from 'react';
+
+const SvgrMock = (props) => (
);
+export default SvgrMock;
diff --git a/tests/providerTests/formLayoutProviderTest.jsx b/tests/providerTests/formLayoutProviderTest.jsx
index 622d428a9..fd9952c97 100644
--- a/tests/providerTests/formLayoutProviderTest.jsx
+++ b/tests/providerTests/formLayoutProviderTest.jsx
@@ -1,6 +1,6 @@
import { render } from '@testing-library/react';
import React from 'react';
-import { FormLayoutContext } from '../../src/lib/components/FormLayout';
+import { FormLayoutContext } from '../../src/components/FormLayout';
export const formLayoutProviderTest = (Component) => {
it.each([
diff --git a/tests/setupJest.js b/tests/setupJest.js
index 245121f18..95938fe1b 100644
--- a/tests/setupJest.js
+++ b/tests/setupJest.js
@@ -1,3 +1,7 @@
console.warning = (error) => {
throw new Error(error);
};
+
+console.error = (error) => {
+ throw new Error(error);
+};
diff --git a/webpack.config.js b/webpack.config.babel.js
similarity index 63%
rename from webpack.config.js
rename to webpack.config.babel.js
index 8b67400be..5c5fdc268 100644
--- a/webpack.config.js
+++ b/webpack.config.babel.js
@@ -1,18 +1,19 @@
-const path = require('path');
+const Path = require('path');
+const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const StyleLintPlugin = require('stylelint-webpack-plugin');
-const VisualizerPlugin = require('webpack-visualizer-plugin');
+const TerserPlugin = require('terser-webpack-plugin');
+const VisualizerPlugin = require('webpack-visualizer-plugin2');
-const MAX_DEVELOPMENT_OUTPUT_SIZE = 3100000;
-const MAX_PRODUCTION_OUTPUT_SIZE = 360000;
+const MAX_DEVELOPMENT_OUTPUT_SIZE = 3300000;
+const MAX_PRODUCTION_OUTPUT_SIZE = 420000;
module.exports = (env, argv) => ({
devtool: argv.mode === 'production'
? false
: 'eval-cheap-module-source-map',
entry: {
- lib: [
- path.join(__dirname, 'src/lib/index.js'),
- ],
+ cssCustomProperties: Path.join(__dirname, 'src/cssCustomProperties.js'),
+ reactui: Path.join(__dirname, 'src/index.js'),
},
externals: {
react: {
@@ -33,14 +34,13 @@ module.exports = (env, argv) => ({
module: {
rules: [
{
- include: path.join(__dirname, 'src/lib'),
test: /\.(js|jsx)$/,
use: [{ loader: 'babel-loader' }],
},
{
test: /\.scss$/,
use: [
- { loader: 'style-loader' },
+ MiniCssExtractPlugin.loader,
{
loader: 'css-loader',
options: {
@@ -64,13 +64,14 @@ module.exports = (env, argv) => ({
},
],
},
+ optimization: {
+ minimize: true,
+ minimizer: [new TerserPlugin()],
+ },
output: {
- filename: argv.mode === 'production'
- ? '[name].js'
- : '[name].development.js',
+ filename: '[name].js',
libraryTarget: 'umd',
- path: path.join(__dirname, 'dist'),
- publicPath: '/dist/',
+ path: Path.join(__dirname, 'src/docs/_assets/generated/'),
},
performance: {
hints: 'error',
@@ -82,19 +83,21 @@ module.exports = (env, argv) => ({
: MAX_DEVELOPMENT_OUTPUT_SIZE,
},
plugins: [
+ new MiniCssExtractPlugin({
+ chunkFilename: '[id].css',
+ filename: '[name].css',
+ ignoreOrder: false, // Enable to remove warnings about conflicting order
+ }),
new StyleLintPlugin({
configFile: 'stylelint.config.js',
- files: '**/*.scss',
+ files: 'src/**/*.scss',
}),
new VisualizerPlugin({
- filename: argv.mode === 'production'
- ? '../lib-stats.html'
- : '../lib-stats.development.html',
+ filename: Path.join('..', '..', '..', '..', 'statistics.html'), // Relative to output.path
}),
],
resolve: {
extensions: ['.js', '.jsx', '.scss'],
- modules: ['src/lib', 'node_modules'],
+ modules: ['src', 'node_modules'],
},
});
-
From e4dc7fa75535fa4ce4795b1009533c69dfdd23bd Mon Sep 17 00:00:00 2001
From: Adam Kudrna
Date: Mon, 27 Mar 2023 17:28:50 +0200
Subject: [PATCH 2/4] Fix deprecated CSS property
---
src/styles/tools/form-fields/_inline-field-elements.scss | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/styles/tools/form-fields/_inline-field-elements.scss b/src/styles/tools/form-fields/_inline-field-elements.scss
index 79ecbccc7..1abeb2474 100644
--- a/src/styles/tools/form-fields/_inline-field-elements.scss
+++ b/src/styles/tools/form-fields/_inline-field-elements.scss
@@ -26,7 +26,7 @@
background-size: contain;
background-repeat: no-repeat;
background-color: var(--rui-local-check-background-color);
- color-adjust: exact; // 1.
+ print-color-adjust: exact; // 1.
&:focus,
&:checked:focus {
From f2feba43f0a253d641d54933d2207905b941d209 Mon Sep 17 00:00:00 2001
From: Adam Kudrna
Date: Wed, 5 Apr 2023 20:46:27 +0200
Subject: [PATCH 3/4] Fix sorting example in `Table` demo
---
src/components/Table/README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/components/Table/README.md b/src/components/Table/README.md
index 3a1dd9288..62818f5ff 100644
--- a/src/components/Table/README.md
+++ b/src/components/Table/README.md
@@ -191,10 +191,10 @@ React.createElement(() => {
sortedItems.sort((a, b) => b[key] - a[key]);
} else if (key === 'name') {
sortedItems.sort((a, b) => {
- if (a.name < b.name) {
+ if (a.name > b.name) {
return -1;
}
- if (a.name > b.name) {
+ if (a.name < b.name) {
return 1;
}
return 0;
From a7afc522211037c6bb2ee7fcce30fb752d77a819 Mon Sep 17 00:00:00 2001
From: Adam Kudrna
Date: Wed, 2 Aug 2023 22:53:03 +0200
Subject: [PATCH 4/4] Introduce more granular GitHub workflows according to the
new structure of npm scripts
---
.github/workflows/build.yml | 31 ++++++++++++++++++++
.github/workflows/docs.yml | 36 ++++++++++++++++++++++++
.github/workflows/lint.yml | 31 ++++++++++++++++++++
.github/workflows/release-management.yml | 7 +++--
.github/workflows/test.yml | 9 ++----
mkdocs.yml | 1 -
6 files changed, 106 insertions(+), 9 deletions(-)
create mode 100644 .github/workflows/build.yml
create mode 100644 .github/workflows/docs.yml
create mode 100644 .github/workflows/lint.yml
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 000000000..5113b2047
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,31 @@
+name: Build
+
+on: [ pull_request ]
+
+jobs:
+ build:
+ name: Build distribution CSS and JS
+ runs-on: ubuntu-20.04
+ strategy:
+ matrix:
+ # TODO: Add v18 back (#374) once the docs platform is migrated to a non-Gatsby solution (#373).
+ # node: [ 16, 18 ]
+ node: [ 16 ]
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v3
+
+ - name: Set up Node.js ${{ matrix.node }}
+ uses: actions/setup-node@v3
+ with:
+ node-version: ${{ matrix.node }}
+ cache: npm
+
+ - name: Print Node.js and npm version
+ run: node --version && npm --version
+
+ - name: Install
+ run: npm ci
+
+ - name: Build
+ run: npm run build
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
new file mode 100644
index 000000000..fac4e72a6
--- /dev/null
+++ b/.github/workflows/docs.yml
@@ -0,0 +1,36 @@
+name: Docs
+
+on: [ pull_request ]
+
+permissions:
+ contents: write
+
+jobs:
+ build:
+ name: Build Docs
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v3
+
+ - name: Set up Python
+ uses: actions/setup-python@v4
+ with:
+ python-version: 3.x
+
+ - name: Get cache ID
+ run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
+
+ - name: Restore cache
+ uses: actions/cache@v3
+ with:
+ key: mkdocs-material-${{ env.cache_id }}
+ path: .cache
+ restore-keys: |
+ mkdocs-material-
+
+ - name: Install MkDocs
+ run: pip install 'mkdocs-material>=9.0.0,<10.0.0'
+
+ - name: Build MkDocs
+ run: mkdocs build
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
new file mode 100644
index 000000000..9eea80818
--- /dev/null
+++ b/.github/workflows/lint.yml
@@ -0,0 +1,31 @@
+name: Lint
+
+on: [ pull_request ]
+
+jobs:
+ lint:
+ name: Lint
+ runs-on: ubuntu-20.04
+ strategy:
+ matrix:
+ # TODO: Add v18 back (#374) once the docs platform is migrated to a non-Gatsby solution (#373).
+ # node: [ 16, 18 ]
+ node: [ 16 ]
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v3
+
+ - name: Set up Node.js ${{ matrix.node }}
+ uses: actions/setup-node@v3
+ with:
+ node-version: ${{ matrix.node }}
+ cache: npm
+
+ - name: Print Node.js and npm version
+ run: node --version && npm --version
+
+ - name: Install
+ run: npm ci
+
+ - name: Test
+ run: npm run lint
diff --git a/.github/workflows/release-management.yml b/.github/workflows/release-management.yml
index 2c3763ff0..a7e80ed26 100644
--- a/.github/workflows/release-management.yml
+++ b/.github/workflows/release-management.yml
@@ -23,12 +23,15 @@ jobs:
- name: Install
run: npm ci
- - name: Build
- run: docker compose run --rm node_build_site && docker compose run --rm mkdocs_build_site
+ - name: Lint
+ run: npm run lint
- name: Test
run: npm test
+ - name: Build
+ run: docker compose run --rm node_build_site && docker compose run --rm mkdocs_build_site
+
- name: Check package.json for version change
id: check_package_version
uses: EndBug/version-check@v2
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 59cfcbb49..c48013be8 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -1,10 +1,10 @@
-name: Build and Run Tests
+name: Test
on: [ pull_request ]
jobs:
- build_and_test:
- name: Build and test
+ test:
+ name: Test
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -27,8 +27,5 @@ jobs:
- name: Install
run: npm ci
- - name: Build
- run: npm run build
-
- name: Test
run: npm test
diff --git a/mkdocs.yml b/mkdocs.yml
index 2ce80dfc7..efcbe2bdc 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -122,4 +122,3 @@ nav:
- Composition: 'docs/contribute/composition.md'
- CSS Guidelines: 'docs/contribute/css.md'
- Releasing: 'docs/contribute/releasing.md'
-