From 7516399f7790f6727fc91c7b80e234b97661bbb5 Mon Sep 17 00:00:00 2001 From: folkforms Date: Wed, 8 May 2024 14:23:38 +0100 Subject: [PATCH 1/4] Add shared entrypoint --- packages/carbon-addons-devenv/src/index.js | 11 +++++------ .../carbon-addons-devenv/src/staticExports.js | 11 ----------- .../src/index.js} | 18 +++++++++++++++++- packages/custom-carbon-addons/src/index.js | 17 ++++++++++++++--- webpack.config.js | 7 +++++-- 5 files changed, 41 insertions(+), 23 deletions(-) delete mode 100644 packages/carbon-addons-devenv/src/staticExports.js rename packages/{carbon-addons-devenv/src/dynamicExports.js => carbon-addons-entrypoint/src/index.js} (50%) diff --git a/packages/carbon-addons-devenv/src/index.js b/packages/carbon-addons-devenv/src/index.js index 38dc72a..86139a6 100644 --- a/packages/carbon-addons-devenv/src/index.js +++ b/packages/carbon-addons-devenv/src/index.js @@ -1,7 +1,6 @@ -import "../../custom-carbon-addons/src/scss/index.scss"; -import "regenerator-runtime/runtime"; -import { renderers, sampleRenderers } from "./staticExports"; +/* + * Copyright Merative US L.P. 2021, 2024 + */ +import sampleRenderers from "../sample_renderers"; -import { requireCustomCarbonAddons } from "./dynamicExports"; - -export default { requireCustomCarbonAddons, renderers, sampleRenderers }; +export default sampleRenderers; diff --git a/packages/carbon-addons-devenv/src/staticExports.js b/packages/carbon-addons-devenv/src/staticExports.js deleted file mode 100644 index fa21604..0000000 --- a/packages/carbon-addons-devenv/src/staticExports.js +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright Merative US L.P. 2020, 2024 - */ - -/** - * STATIC IMPORTS - * - * These are commonly used imports that should be part of the main bundle. - */ -export { default as sampleRenderers } from "../sample_renderers"; -export { default as renderers } from "../../custom-carbon-addons/renderers"; diff --git a/packages/carbon-addons-devenv/src/dynamicExports.js b/packages/carbon-addons-entrypoint/src/index.js similarity index 50% rename from packages/carbon-addons-devenv/src/dynamicExports.js rename to packages/carbon-addons-entrypoint/src/index.js index 8267646..6e50f29 100644 --- a/packages/carbon-addons-devenv/src/dynamicExports.js +++ b/packages/carbon-addons-entrypoint/src/index.js @@ -1,3 +1,15 @@ +/* + * Copyright Merative US L.P. 2024 + */ + +import "regenerator-runtime/runtime"; + +// eslint-disable-next-line import/no-unresolved +import sampleRenderers from "devenv_pkg/src"; +// eslint-disable-next-line import/no-unresolved +import { renderers } from "custom_pkg/src"; + +// FIXME Is this used? /* Use when the main bundle is not on the same level as the script calling it. Webpack will reference this path when emitting the chunks @@ -9,10 +21,14 @@ export const usePublicPath = async (path) => { } }; +// FIXME Eventually get rid of this... /* Imports Carbon Addons dynamically */ -export const requireCustomCarbonAddons = async () => { +const requireCustomCarbonAddons = async () => { const customCarbonAddons = await import( /* webpackChunkName: "simple" */ "../../custom-carbon-addons/src/apollo-client-hooks" ); return customCarbonAddons; }; + +// These items will become children of window.spmcustom +export { requireCustomCarbonAddons, renderers, sampleRenderers }; diff --git a/packages/custom-carbon-addons/src/index.js b/packages/custom-carbon-addons/src/index.js index 2969f6f..e5b23d5 100644 --- a/packages/custom-carbon-addons/src/index.js +++ b/packages/custom-carbon-addons/src/index.js @@ -2,7 +2,18 @@ * Copyright Merative US L.P. 2021, 2024 */ -// eslint-disable-next-line import/no-unresolved -import { renderers, sampleRenderers } from "devenv_pkg/src"; +// FIXME Delete this usePublicPath function +/* + Use when the main bundle is not on the same level as the script calling it. + Webpack will reference this path when emitting the chunks +*/ +import renderers from "../renderers"; + +export const usePublicPath = async (path) => { + if (path) { + // eslint-disable-next-line camelcase, no-undef + __webpack_public_path__ = path; + } +}; -export { renderers, sampleRenderers }; +export { renderers }; diff --git a/webpack.config.js b/webpack.config.js index ec4c048..5bb8132 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -3,7 +3,10 @@ const webpack = require("webpack"); const ReactDevToolsIFramePlugin = require("react-dev-tools-iframe-webpack-plugin"); module.exports = { - entry: ["./public-path.js", "./packages/carbon-addons-devenv/src/index.js"], + entry: [ + "./public-path.js", + "./packages/carbon-addons-entrypoint/src/index.js", + ], mode: "development", module: { rules: [ @@ -59,12 +62,12 @@ module.exports = { extensions: ["*", ".js", ".jsx"], alias: { devenv_pkg: path.resolve("./packages/carbon-addons-devenv"), + custom_pkg: path.resolve("./packages/custom-carbon-addons"), }, }, output: { path: path.resolve(__dirname, "dist/"), library: "spmcustom", - libraryExport: "default", publicPath: "/dist/", filename: "spm-custom-carbon-addons-[name].bundle.js", chunkFilename: "spm-custom-carbon-addons-[name].chunk.js", From 230f970262fcc4240c9a7022a53c4ebb543829e8 Mon Sep 17 00:00:00 2001 From: folkforms Date: Wed, 8 May 2024 14:35:53 +0100 Subject: [PATCH 2/4] Add scss back in --- .storybook/preview.js | 1 + packages/carbon-addons-devenv/src/index.js | 1 + packages/carbon-addons-entrypoint/src/index.js | 15 +-------------- packages/custom-carbon-addons/src/index.js | 16 ++-------------- .../custom-carbon-addons/src/scss/index.scss | 4 ++-- webpack.config.js | 8 ++++---- 6 files changed, 11 insertions(+), 34 deletions(-) diff --git a/.storybook/preview.js b/.storybook/preview.js index 523017a..d60d12d 100644 --- a/.storybook/preview.js +++ b/.storybook/preview.js @@ -1,3 +1,4 @@ +import "../packages/carbon-addons-devenv/src/scss/index.scss"; import "../packages/custom-carbon-addons/src/scss/index.scss"; export const parameters = { diff --git a/packages/carbon-addons-devenv/src/index.js b/packages/carbon-addons-devenv/src/index.js index 86139a6..578bf3d 100644 --- a/packages/carbon-addons-devenv/src/index.js +++ b/packages/carbon-addons-devenv/src/index.js @@ -1,6 +1,7 @@ /* * Copyright Merative US L.P. 2021, 2024 */ +import "./scss/index.scss"; import sampleRenderers from "../sample_renderers"; export default sampleRenderers; diff --git a/packages/carbon-addons-entrypoint/src/index.js b/packages/carbon-addons-entrypoint/src/index.js index 6e50f29..6ce7297 100644 --- a/packages/carbon-addons-entrypoint/src/index.js +++ b/packages/carbon-addons-entrypoint/src/index.js @@ -7,21 +7,8 @@ import "regenerator-runtime/runtime"; // eslint-disable-next-line import/no-unresolved import sampleRenderers from "devenv_pkg/src"; // eslint-disable-next-line import/no-unresolved -import { renderers } from "custom_pkg/src"; +import renderers from "custom_pkg/src"; -// FIXME Is this used? -/* - Use when the main bundle is not on the same level as the script calling it. - Webpack will reference this path when emitting the chunks -*/ -export const usePublicPath = async (path) => { - if (path) { - // eslint-disable-next-line camelcase, no-undef - __webpack_public_path__ = path; - } -}; - -// FIXME Eventually get rid of this... /* Imports Carbon Addons dynamically */ const requireCustomCarbonAddons = async () => { const customCarbonAddons = await import( diff --git a/packages/custom-carbon-addons/src/index.js b/packages/custom-carbon-addons/src/index.js index e5b23d5..57834ea 100644 --- a/packages/custom-carbon-addons/src/index.js +++ b/packages/custom-carbon-addons/src/index.js @@ -1,19 +1,7 @@ /* * Copyright Merative US L.P. 2021, 2024 */ - -// FIXME Delete this usePublicPath function -/* - Use when the main bundle is not on the same level as the script calling it. - Webpack will reference this path when emitting the chunks -*/ +import "./scss/index.scss"; import renderers from "../renderers"; -export const usePublicPath = async (path) => { - if (path) { - // eslint-disable-next-line camelcase, no-undef - __webpack_public_path__ = path; - } -}; - -export { renderers }; +export default renderers; diff --git a/packages/custom-carbon-addons/src/scss/index.scss b/packages/custom-carbon-addons/src/scss/index.scss index e75ab9c..6d7d587 100644 --- a/packages/custom-carbon-addons/src/scss/index.scss +++ b/packages/custom-carbon-addons/src/scss/index.scss @@ -1,4 +1,4 @@ -@import "../../../carbon-addons-devenv/src/scss/app.scss"; +// @import "../../../carbon-addons-devenv/src/scss/app.scss"; .spm-custom-component { //------------------------- @@ -8,7 +8,7 @@ //------------------------- // Carbon-Components //------------------------- - @import "../../../carbon-addons-devenv/src/scss/carbon-components.scss"; + // @import "../../../carbon-addons-devenv/src/scss/carbon-components.scss"; //------------------------- // Custom addons scss here //------------------------- diff --git a/webpack.config.js b/webpack.config.js index 5bb8132..984bffc 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -24,10 +24,10 @@ module.exports = { }, }, ], - include: path.resolve( - __dirname, - "./packages/custom-carbon-addons/src/scss", - ), + include: [ + path.resolve(__dirname, "./packages/carbon-addons-devenv/src/scss"), + path.resolve(__dirname, "./packages/custom-carbon-addons/src/scss"), + ], }, { test: /\.(js|jsx)$/, From dedaab5be162cbeb11aefd305394841a4ac70646 Mon Sep 17 00:00:00 2001 From: folkforms Date: Wed, 8 May 2024 14:53:48 +0100 Subject: [PATCH 3/4] Make scss appear in spm --- .../src/scss/addon-samples.scss | 6 ------ .../src/scss/addons_samples/logo.scss | 2 +- .../src/scss/addons_samples/personfolio.scss | 16 ++++++++-------- .../carbon-addons-devenv/src/scss/app.scss | 0 .../src/scss/carbon-components.scss | 9 --------- .../carbon-addons-devenv/src/scss/index.scss | 8 ++++++-- .../carbon-addons-devenv/src/scss/prefix.scss | 1 + .../src/scss/variables.scss | 2 -- .../src/scss/addons/index.scss | 1 + .../src/scss/addons/readme.txt | 2 +- .../custom-carbon-addons/src/scss/index.scss | 16 +++------------- .../src/scss/index_latest.scss | 18 ------------------ 12 files changed, 21 insertions(+), 60 deletions(-) delete mode 100644 packages/carbon-addons-devenv/src/scss/addon-samples.scss delete mode 100644 packages/carbon-addons-devenv/src/scss/app.scss delete mode 100644 packages/carbon-addons-devenv/src/scss/carbon-components.scss create mode 100644 packages/carbon-addons-devenv/src/scss/prefix.scss create mode 100644 packages/custom-carbon-addons/src/scss/addons/index.scss delete mode 100644 packages/custom-carbon-addons/src/scss/index_latest.scss diff --git a/packages/carbon-addons-devenv/src/scss/addon-samples.scss b/packages/carbon-addons-devenv/src/scss/addon-samples.scss deleted file mode 100644 index d13e524..0000000 --- a/packages/carbon-addons-devenv/src/scss/addon-samples.scss +++ /dev/null @@ -1,6 +0,0 @@ -//------------------------- -// ✨ Addons samples -//------------------------- -@import "./variables.scss"; -@import "./addons_samples/logo.scss"; -@import "./addons_samples/personfolio.scss"; diff --git a/packages/carbon-addons-devenv/src/scss/addons_samples/logo.scss b/packages/carbon-addons-devenv/src/scss/addons_samples/logo.scss index 6b6e9ee..9b2fe6a 100644 --- a/packages/carbon-addons-devenv/src/scss/addons_samples/logo.scss +++ b/packages/carbon-addons-devenv/src/scss/addons_samples/logo.scss @@ -1,5 +1,5 @@ .#{$prefix}--logo { - box-shadow: inset 0 0 0 2px $layer-01; + box-shadow: inset 0 0 0 2px themes.get("layer-01"); border-radius: $border-radius-round; font-weight: 500; overflow: hidden; diff --git a/packages/carbon-addons-devenv/src/scss/addons_samples/personfolio.scss b/packages/carbon-addons-devenv/src/scss/addons_samples/personfolio.scss index e09f02b..1ded0d1 100644 --- a/packages/carbon-addons-devenv/src/scss/addons_samples/personfolio.scss +++ b/packages/carbon-addons-devenv/src/scss/addons_samples/personfolio.scss @@ -1,25 +1,25 @@ .#{$prefix}--personfolio { - background-color: $layer-01; - color: $text-primary; + background-color: themes.get("layer-01"); + color: themes.get("text-primary"); border-radius: 6px; border-width: 1px 1px 1px 1px; border-style: solid !important; - padding: $spacing-05; - margin-top: $spacing-05; + padding: themes.get("spacing-05"); + margin-top: themes.get("spacing-05"); &--child { - border-color: $support-error; + border-color: themes.get("support-error"); } &--youngadult { - border-color: $support-success; + border-color: themes.get("support-success"); } &--adult { - border-color: $support-warning; + border-color: themes.get("support-warning"); } &--senior { - border-color: $support-info; + border-color: themes.get("support-info"); } } diff --git a/packages/carbon-addons-devenv/src/scss/app.scss b/packages/carbon-addons-devenv/src/scss/app.scss deleted file mode 100644 index e69de29..0000000 diff --git a/packages/carbon-addons-devenv/src/scss/carbon-components.scss b/packages/carbon-addons-devenv/src/scss/carbon-components.scss deleted file mode 100644 index 06261bc..0000000 --- a/packages/carbon-addons-devenv/src/scss/carbon-components.scss +++ /dev/null @@ -1,9 +0,0 @@ -@use "@carbon/styles/scss/spacing" as *; -@use "@carbon/react/scss/themes"; -@use "@carbon/react/scss/theme" as * with ( - $theme: themes.$g10 -); -@use "@carbon/react/scss/reset"; -@import "./variables.scss"; -@import "./addons_samples/logo.scss"; -@import "./addons_samples/personfolio.scss"; diff --git a/packages/carbon-addons-devenv/src/scss/index.scss b/packages/carbon-addons-devenv/src/scss/index.scss index 17a287f..c8f49de 100644 --- a/packages/carbon-addons-devenv/src/scss/index.scss +++ b/packages/carbon-addons-devenv/src/scss/index.scss @@ -1,5 +1,9 @@ -@import "./app.scss"; +@use "@carbon/themes/scss/themes" as *; +@use "@carbon/themes"; .spm-custom-component { - @import "./carbon-components.scss"; + @import "./prefix.scss"; + @import "./variables.scss"; + @import "./addons_samples/logo.scss"; + @import "./addons_samples/personfolio.scss"; } diff --git a/packages/carbon-addons-devenv/src/scss/prefix.scss b/packages/carbon-addons-devenv/src/scss/prefix.scss new file mode 100644 index 0000000..dde3a4f --- /dev/null +++ b/packages/carbon-addons-devenv/src/scss/prefix.scss @@ -0,0 +1 @@ +$prefix: "bx"; diff --git a/packages/carbon-addons-devenv/src/scss/variables.scss b/packages/carbon-addons-devenv/src/scss/variables.scss index d550332..d61d06a 100644 --- a/packages/carbon-addons-devenv/src/scss/variables.scss +++ b/packages/carbon-addons-devenv/src/scss/variables.scss @@ -1,6 +1,4 @@ -$prefix: "bx"; $border-radius-round: 100vw !default; $width-logo-large: 120px; // do we need small and medium too $width-logo-medium: 80px; $width-logo-small: 36px; -$border-base: 1px solid $background; diff --git a/packages/custom-carbon-addons/src/scss/addons/index.scss b/packages/custom-carbon-addons/src/scss/addons/index.scss new file mode 100644 index 0000000..86e87e9 --- /dev/null +++ b/packages/custom-carbon-addons/src/scss/addons/index.scss @@ -0,0 +1 @@ +// Import your custom SCSS files in this file to automatically include them in the build. diff --git a/packages/custom-carbon-addons/src/scss/addons/readme.txt b/packages/custom-carbon-addons/src/scss/addons/readme.txt index 2dfce64..1c21c66 100644 --- a/packages/custom-carbon-addons/src/scss/addons/readme.txt +++ b/packages/custom-carbon-addons/src/scss/addons/readme.txt @@ -1 +1 @@ -Add your custom SCSS files to this directory \ No newline at end of file +Add your custom SCSS files to this directory and import them in index.scss. \ No newline at end of file diff --git a/packages/custom-carbon-addons/src/scss/index.scss b/packages/custom-carbon-addons/src/scss/index.scss index 6d7d587..ced5833 100644 --- a/packages/custom-carbon-addons/src/scss/index.scss +++ b/packages/custom-carbon-addons/src/scss/index.scss @@ -1,17 +1,7 @@ -// @import "../../../carbon-addons-devenv/src/scss/app.scss"; +@use "@carbon/themes/scss/themes" as *; +@use "@carbon/themes"; .spm-custom-component { - //------------------------- - // Variable overrides - //------------------------- @import "./variables.scss"; - //------------------------- - // Carbon-Components - //------------------------- - // @import "../../../carbon-addons-devenv/src/scss/carbon-components.scss"; - //------------------------- - // Custom addons scss here - //------------------------- - // Sample component addons - //@import '../../../carbon-addons-devenv/src/scss/addon-samples.scss'; + @import "./addons"; } diff --git a/packages/custom-carbon-addons/src/scss/index_latest.scss b/packages/custom-carbon-addons/src/scss/index_latest.scss deleted file mode 100644 index 95eee20..0000000 --- a/packages/custom-carbon-addons/src/scss/index_latest.scss +++ /dev/null @@ -1,18 +0,0 @@ -@import "devenv_pkg/src/scss/app.scss"; - -.spm-custom-component { - //------------------------- - // Variable overrides - //------------------------- - @import "./variables.scss"; - //------------------------- - // Carbon-Components - //------------------------- - @import "devenv_pkg/src/scss/carbon-components.scss"; - //------------------------- - // Custom addons scss here - //------------------------- - // Sample component addons - // add your custom styling here from scss files in the addons directory - // e.g @import './addons/componentX.scss'; -} From 6677ab45cf8f33dc8ad5c02ff3b6c7ba0a4a34cd Mon Sep 17 00:00:00 2001 From: folkforms Date: Thu, 9 May 2024 14:58:48 +0100 Subject: [PATCH 4/4] Fix more scss files --- packages/carbon-addons-devenv/src/scss/logo.scss | 2 +- .../src/scss/personfolio.scss | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/carbon-addons-devenv/src/scss/logo.scss b/packages/carbon-addons-devenv/src/scss/logo.scss index c086664..9b2fe6a 100644 --- a/packages/carbon-addons-devenv/src/scss/logo.scss +++ b/packages/carbon-addons-devenv/src/scss/logo.scss @@ -1,5 +1,5 @@ .#{$prefix}--logo { - box-shadow: inset 0 0 0 2px $carbon--white-0; + box-shadow: inset 0 0 0 2px themes.get("layer-01"); border-radius: $border-radius-round; font-weight: 500; overflow: hidden; diff --git a/packages/carbon-addons-devenv/src/scss/personfolio.scss b/packages/carbon-addons-devenv/src/scss/personfolio.scss index b007b06..1ded0d1 100644 --- a/packages/carbon-addons-devenv/src/scss/personfolio.scss +++ b/packages/carbon-addons-devenv/src/scss/personfolio.scss @@ -1,25 +1,25 @@ .#{$prefix}--personfolio { - background-color: $ui-01; - color: $text-01; + background-color: themes.get("layer-01"); + color: themes.get("text-primary"); border-radius: 6px; border-width: 1px 1px 1px 1px; border-style: solid !important; - padding: $spacing-05; - margin-top: $spacing-05; + padding: themes.get("spacing-05"); + margin-top: themes.get("spacing-05"); &--child { - border-color: $support-01; + border-color: themes.get("support-error"); } &--youngadult { - border-color: $support-02; + border-color: themes.get("support-success"); } &--adult { - border-color: $support-03; + border-color: themes.get("support-warning"); } &--senior { - border-color: $support-04; + border-color: themes.get("support-info"); } }