@leafygreen-ui/icon 14.5.1 → 14.6.1-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +10 -2
- package/.turbo/turbo-prebuild.log +1 -1
- package/.turbo/turbo-tsc.log +1 -1
- package/CHANGELOG.md +12 -0
- package/dist/esm/index.js +1 -1
- package/dist/types/glyphs/index.d.ts +1 -1
- package/dist/types/index.d.ts +5 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/umd/ActivityFeed.js +1 -1
- package/dist/umd/ActivityFeed.js.map +1 -1
- package/dist/umd/Boolean.js +1 -1
- package/dist/umd/Boolean.js.map +1 -1
- package/dist/umd/Ellipsis.js +1 -1
- package/dist/umd/Ellipsis.js.map +1 -1
- package/dist/umd/Recommended.js +1 -1
- package/dist/umd/Recommended.js.map +1 -1
- package/dist/umd/SortDescending.js +1 -1
- package/dist/umd/SortDescending.js.map +1 -1
- package/dist/umd/Streaming.js +1 -1
- package/dist/umd/Streaming.js.map +1 -1
- package/dist/umd/Sun.js +1 -1
- package/dist/umd/Sun.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +10 -7
- package/scripts/build/build-batch.ts +13 -4
- package/scripts/postbuild/index.ts +71 -0
- package/scripts/tsconfig.json +2 -1
- package/src/index.ts +7 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/tsdoc.json +94 -0
- package/dist/AIModel.js +0 -2
- package/dist/AIModel.js.map +0 -1
- package/dist/ActivityFeed.js +0 -2
- package/dist/ActivityFeed.js.map +0 -1
- package/dist/AddFile.js +0 -2
- package/dist/AddFile.js.map +0 -1
- package/dist/AllProducts.js +0 -2
- package/dist/AllProducts.js.map +0 -1
- package/dist/AnalyticsNode.js +0 -2
- package/dist/AnalyticsNode.js.map +0 -1
- package/dist/Apps.js +0 -2
- package/dist/Apps.js.map +0 -1
- package/dist/Array.js +0 -2
- package/dist/Array.js.map +0 -1
- package/dist/ArrowDown.js +0 -2
- package/dist/ArrowDown.js.map +0 -1
- package/dist/ArrowLeft.js +0 -2
- package/dist/ArrowLeft.js.map +0 -1
- package/dist/ArrowRight.js +0 -2
- package/dist/ArrowRight.js.map +0 -1
- package/dist/ArrowUp.js +0 -2
- package/dist/ArrowUp.js.map +0 -1
- package/dist/Award.js +0 -2
- package/dist/Award.js.map +0 -1
- package/dist/Beaker.js +0 -2
- package/dist/Beaker.js.map +0 -1
- package/dist/Bell.js +0 -2
- package/dist/Bell.js.map +0 -1
- package/dist/Biometric.js +0 -2
- package/dist/Biometric.js.map +0 -1
- package/dist/Boolean.js +0 -2
- package/dist/Boolean.js.map +0 -1
- package/dist/Building.js +0 -2
- package/dist/Building.js.map +0 -1
- package/dist/Bulb.js +0 -2
- package/dist/Bulb.js.map +0 -1
- package/dist/Calendar.js +0 -2
- package/dist/Calendar.js.map +0 -1
- package/dist/Camera.js +0 -2
- package/dist/Camera.js.map +0 -1
- package/dist/Cap.js +0 -2
- package/dist/Cap.js.map +0 -1
- package/dist/CaretDown.js +0 -2
- package/dist/CaretDown.js.map +0 -1
- package/dist/CaretLeft.js +0 -2
- package/dist/CaretLeft.js.map +0 -1
- package/dist/CaretRight.js +0 -2
- package/dist/CaretRight.js.map +0 -1
- package/dist/CaretUp.js +0 -2
- package/dist/CaretUp.js.map +0 -1
- package/dist/ChartFilled.js +0 -2
- package/dist/ChartFilled.js.map +0 -1
- package/dist/Charts.js +0 -2
- package/dist/Charts.js.map +0 -1
- package/dist/Checkmark.js +0 -2
- package/dist/Checkmark.js.map +0 -1
- package/dist/CheckmarkWithCircle.js +0 -2
- package/dist/CheckmarkWithCircle.js.map +0 -1
- package/dist/ChevronDown.js +0 -2
- package/dist/ChevronDown.js.map +0 -1
- package/dist/ChevronLeft.js +0 -2
- package/dist/ChevronLeft.js.map +0 -1
- package/dist/ChevronRight.js +0 -2
- package/dist/ChevronRight.js.map +0 -1
- package/dist/ChevronUp.js +0 -2
- package/dist/ChevronUp.js.map +0 -1
- package/dist/Circle.js +0 -2
- package/dist/Circle.js.map +0 -1
- package/dist/Clock.js +0 -2
- package/dist/Clock.js.map +0 -1
- package/dist/ClockWithArrow.js +0 -2
- package/dist/ClockWithArrow.js.map +0 -1
- package/dist/Clone.js +0 -2
- package/dist/Clone.js.map +0 -1
- package/dist/Cloud.js +0 -2
- package/dist/Cloud.js.map +0 -1
- package/dist/Code.js +0 -2
- package/dist/Code.js.map +0 -1
- package/dist/CodeBlock.js +0 -2
- package/dist/CodeBlock.js.map +0 -1
- package/dist/Coin.js +0 -2
- package/dist/Coin.js.map +0 -1
- package/dist/Colon.js +0 -2
- package/dist/Colon.js.map +0 -1
- package/dist/Config.js +0 -2
- package/dist/Config.js.map +0 -1
- package/dist/Connect.js +0 -2
- package/dist/Connect.js.map +0 -1
- package/dist/Copy.js +0 -2
- package/dist/Copy.js.map +0 -1
- package/dist/CreditCard.js +0 -2
- package/dist/CreditCard.js.map +0 -1
- package/dist/CurlyBraces.js +0 -2
- package/dist/CurlyBraces.js.map +0 -1
- package/dist/Cursor.js +0 -2
- package/dist/Cursor.js.map +0 -1
- package/dist/Dashboard.js +0 -2
- package/dist/Dashboard.js.map +0 -1
- package/dist/Database.js +0 -2
- package/dist/Database.js.map +0 -1
- package/dist/Diagram.js +0 -2
- package/dist/Diagram.js.map +0 -1
- package/dist/Diagram2.js +0 -2
- package/dist/Diagram2.js.map +0 -1
- package/dist/Diagram3.js +0 -2
- package/dist/Diagram3.js.map +0 -1
- package/dist/Disconnect.js +0 -2
- package/dist/Disconnect.js.map +0 -1
- package/dist/Download.js +0 -2
- package/dist/Download.js.map +0 -1
- package/dist/Drag.js +0 -2
- package/dist/Drag.js.map +0 -1
- package/dist/Edit.js +0 -2
- package/dist/Edit.js.map +0 -1
- package/dist/Ellipsis.js +0 -2
- package/dist/Ellipsis.js.map +0 -1
- package/dist/Email.js +0 -2
- package/dist/Email.js.map +0 -1
- package/dist/EmptyDatabase.js +0 -2
- package/dist/EmptyDatabase.js.map +0 -1
- package/dist/EmptyFolder.js +0 -2
- package/dist/EmptyFolder.js.map +0 -1
- package/dist/Eraser.js +0 -2
- package/dist/Eraser.js.map +0 -1
- package/dist/Escalation.js +0 -2
- package/dist/Escalation.js.map +0 -1
- package/dist/Export.js +0 -2
- package/dist/Export.js.map +0 -1
- package/dist/Favorite.js +0 -2
- package/dist/Favorite.js.map +0 -1
- package/dist/Federation.js +0 -2
- package/dist/Federation.js.map +0 -1
- package/dist/File.js +0 -2
- package/dist/File.js.map +0 -1
- package/dist/Filter.js +0 -2
- package/dist/Filter.js.map +0 -1
- package/dist/Folder.js +0 -2
- package/dist/Folder.js.map +0 -1
- package/dist/Format.js +0 -2
- package/dist/Format.js.map +0 -1
- package/dist/FullScreenEnter.js +0 -2
- package/dist/FullScreenEnter.js.map +0 -1
- package/dist/FullScreenExit.js +0 -2
- package/dist/FullScreenExit.js.map +0 -1
- package/dist/Function.js +0 -2
- package/dist/Function.js.map +0 -1
- package/dist/Gauge.js +0 -2
- package/dist/Gauge.js.map +0 -1
- package/dist/GlobeAmericas.js +0 -2
- package/dist/GlobeAmericas.js.map +0 -1
- package/dist/GovernmentBuilding.js +0 -2
- package/dist/GovernmentBuilding.js.map +0 -1
- package/dist/Guide.js +0 -2
- package/dist/Guide.js.map +0 -1
- package/dist/Hash.js +0 -2
- package/dist/Hash.js.map +0 -1
- package/dist/HiddenSecondaryNode.js +0 -2
- package/dist/HiddenSecondaryNode.js.map +0 -1
- package/dist/Highlight.js +0 -2
- package/dist/Highlight.js.map +0 -1
- package/dist/Home.js +0 -2
- package/dist/Home.js.map +0 -1
- package/dist/HorizontalDrag.js +0 -2
- package/dist/HorizontalDrag.js.map +0 -1
- package/dist/Import.js +0 -2
- package/dist/Import.js.map +0 -1
- package/dist/ImportantWithCircle.js +0 -2
- package/dist/ImportantWithCircle.js.map +0 -1
- package/dist/InfoWithCircle.js +0 -2
- package/dist/InfoWithCircle.js.map +0 -1
- package/dist/InternalEmployee.js +0 -2
- package/dist/InternalEmployee.js.map +0 -1
- package/dist/InviteUser.js +0 -2
- package/dist/InviteUser.js.map +0 -1
- package/dist/Key.js +0 -2
- package/dist/Key.js.map +0 -1
- package/dist/Laptop.js +0 -2
- package/dist/Laptop.js.map +0 -1
- package/dist/LightningBolt.js +0 -2
- package/dist/LightningBolt.js.map +0 -1
- package/dist/Link.js +0 -2
- package/dist/Link.js.map +0 -1
- package/dist/List.js +0 -2
- package/dist/List.js.map +0 -1
- package/dist/Lock.js +0 -2
- package/dist/Lock.js.map +0 -1
- package/dist/LogIn.js +0 -2
- package/dist/LogIn.js.map +0 -1
- package/dist/LogOut.js +0 -2
- package/dist/LogOut.js.map +0 -1
- package/dist/MagnifyingGlass.js +0 -2
- package/dist/MagnifyingGlass.js.map +0 -1
- package/dist/Megaphone.js +0 -2
- package/dist/Megaphone.js.map +0 -1
- package/dist/Menu.js +0 -2
- package/dist/Menu.js.map +0 -1
- package/dist/Minus.js +0 -2
- package/dist/Minus.js.map +0 -1
- package/dist/Mobile.js +0 -2
- package/dist/Mobile.js.map +0 -1
- package/dist/Moon.js +0 -2
- package/dist/Moon.js.map +0 -1
- package/dist/MultiDirectionArrow.js +0 -2
- package/dist/MultiDirectionArrow.js.map +0 -1
- package/dist/MultiLayers.js +0 -2
- package/dist/MultiLayers.js.map +0 -1
- package/dist/NavCollapse.js +0 -2
- package/dist/NavCollapse.js.map +0 -1
- package/dist/NavExpand.js +0 -2
- package/dist/NavExpand.js.map +0 -1
- package/dist/NoFilter.js +0 -2
- package/dist/NoFilter.js.map +0 -1
- package/dist/NotAllowed.js +0 -2
- package/dist/NotAllowed.js.map +0 -1
- package/dist/Note.js +0 -2
- package/dist/Note.js.map +0 -1
- package/dist/NumberedList.js +0 -2
- package/dist/NumberedList.js.map +0 -1
- package/dist/OpenNewTab.js +0 -2
- package/dist/OpenNewTab.js.map +0 -1
- package/dist/OutlineFavorite.js +0 -2
- package/dist/OutlineFavorite.js.map +0 -1
- package/dist/Package.js +0 -2
- package/dist/Package.js.map +0 -1
- package/dist/Pause.js +0 -2
- package/dist/Pause.js.map +0 -1
- package/dist/Pending.js +0 -2
- package/dist/Pending.js.map +0 -1
- package/dist/Person.js +0 -2
- package/dist/Person.js.map +0 -1
- package/dist/PersonGroup.js +0 -2
- package/dist/PersonGroup.js.map +0 -1
- package/dist/PersonWithLock.js +0 -2
- package/dist/PersonWithLock.js.map +0 -1
- package/dist/Pin.js +0 -2
- package/dist/Pin.js.map +0 -1
- package/dist/Play.js +0 -2
- package/dist/Play.js.map +0 -1
- package/dist/Plus.js +0 -2
- package/dist/Plus.js.map +0 -1
- package/dist/PlusWithCircle.js +0 -2
- package/dist/PlusWithCircle.js.map +0 -1
- package/dist/Primary.js +0 -2
- package/dist/Primary.js.map +0 -1
- package/dist/Project.js +0 -2
- package/dist/Project.js.map +0 -1
- package/dist/QuestionMarkWithCircle.js +0 -2
- package/dist/QuestionMarkWithCircle.js.map +0 -1
- package/dist/Read.js +0 -2
- package/dist/Read.js.map +0 -1
- package/dist/Recommended.js +0 -2
- package/dist/Recommended.js.map +0 -1
- package/dist/Redo.js +0 -2
- package/dist/Redo.js.map +0 -1
- package/dist/Refresh.js +0 -2
- package/dist/Refresh.js.map +0 -1
- package/dist/Relationship.js +0 -2
- package/dist/Relationship.js.map +0 -1
- package/dist/ReplicaSet.js +0 -2
- package/dist/ReplicaSet.js.map +0 -1
- package/dist/Resize.js +0 -2
- package/dist/Resize.js.map +0 -1
- package/dist/Resource.js +0 -2
- package/dist/Resource.js.map +0 -1
- package/dist/Return.js +0 -2
- package/dist/Return.js.map +0 -1
- package/dist/Revert.js +0 -2
- package/dist/Revert.js.map +0 -1
- package/dist/Router.js +0 -2
- package/dist/Router.js.map +0 -1
- package/dist/SMS.js +0 -2
- package/dist/SMS.js.map +0 -1
- package/dist/Save.js +0 -2
- package/dist/Save.js.map +0 -1
- package/dist/SearchIndex.js +0 -2
- package/dist/SearchIndex.js.map +0 -1
- package/dist/Secondary.js +0 -2
- package/dist/Secondary.js.map +0 -1
- package/dist/Serverless.js +0 -2
- package/dist/Serverless.js.map +0 -1
- package/dist/Settings.js +0 -2
- package/dist/Settings.js.map +0 -1
- package/dist/ShardedCluster.js +0 -2
- package/dist/ShardedCluster.js.map +0 -1
- package/dist/Shell.js +0 -2
- package/dist/Shell.js.map +0 -1
- package/dist/Shield.js +0 -2
- package/dist/Shield.js.map +0 -1
- package/dist/Shirt.js +0 -2
- package/dist/Shirt.js.map +0 -1
- package/dist/Shortcut.js +0 -2
- package/dist/Shortcut.js.map +0 -1
- package/dist/SortAscending.js +0 -2
- package/dist/SortAscending.js.map +0 -1
- package/dist/SortDescending.js +0 -2
- package/dist/SortDescending.js.map +0 -1
- package/dist/Sparkle.js +0 -2
- package/dist/Sparkle.js.map +0 -1
- package/dist/SplitHorizontal.js +0 -2
- package/dist/SplitHorizontal.js.map +0 -1
- package/dist/SplitVertical.js +0 -2
- package/dist/SplitVertical.js.map +0 -1
- package/dist/Stitch.js +0 -2
- package/dist/Stitch.js.map +0 -1
- package/dist/Stop.js +0 -2
- package/dist/Stop.js.map +0 -1
- package/dist/Streaming.js +0 -2
- package/dist/Streaming.js.map +0 -1
- package/dist/String.js +0 -2
- package/dist/String.js.map +0 -1
- package/dist/Sun.js +0 -2
- package/dist/Sun.js.map +0 -1
- package/dist/Support.js +0 -2
- package/dist/Support.js.map +0 -1
- package/dist/Sweep.js +0 -2
- package/dist/Sweep.js.map +0 -1
- package/dist/Table.js +0 -2
- package/dist/Table.js.map +0 -1
- package/dist/Tag.js +0 -2
- package/dist/Tag.js.map +0 -1
- package/dist/TemporaryTable.js +0 -2
- package/dist/TemporaryTable.js.map +0 -1
- package/dist/ThumbsDown.js +0 -2
- package/dist/ThumbsDown.js.map +0 -1
- package/dist/ThumbsUp.js +0 -2
- package/dist/ThumbsUp.js.map +0 -1
- package/dist/TimeSeries.js +0 -2
- package/dist/TimeSeries.js.map +0 -1
- package/dist/TimeSeriesCollection.js +0 -2
- package/dist/TimeSeriesCollection.js.map +0 -1
- package/dist/Trash.js +0 -2
- package/dist/Trash.js.map +0 -1
- package/dist/Undo.js +0 -2
- package/dist/Undo.js.map +0 -1
- package/dist/University.js +0 -2
- package/dist/University.js.map +0 -1
- package/dist/Unlock.js +0 -2
- package/dist/Unlock.js.map +0 -1
- package/dist/Unsorted.js +0 -2
- package/dist/Unsorted.js.map +0 -1
- package/dist/UpDownCarets.js +0 -2
- package/dist/UpDownCarets.js.map +0 -1
- package/dist/Upload.js +0 -2
- package/dist/Upload.js.map +0 -1
- package/dist/VerticalEllipsis.js +0 -2
- package/dist/VerticalEllipsis.js.map +0 -1
- package/dist/View.js +0 -2
- package/dist/View.js.map +0 -1
- package/dist/Visibility.js +0 -2
- package/dist/Visibility.js.map +0 -1
- package/dist/VisibilityOff.js +0 -2
- package/dist/VisibilityOff.js.map +0 -1
- package/dist/Warning.js +0 -2
- package/dist/Warning.js.map +0 -1
- package/dist/Wizard.js +0 -2
- package/dist/Wizard.js.map +0 -1
- package/dist/Wrench.js +0 -2
- package/dist/Wrench.js.map +0 -1
- package/dist/Write.js +0 -2
- package/dist/Write.js.map +0 -1
- package/dist/X.js +0 -2
- package/dist/X.js.map +0 -1
- package/dist/XWithCircle.js +0 -2
- package/dist/XWithCircle.js.map +0 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leafygreen-ui/icon",
|
|
3
|
-
"version": "14.
|
|
3
|
+
"version": "14.6.1-next.0",
|
|
4
4
|
"description": "LeafyGreen UI Kit Icons",
|
|
5
5
|
"main": "./dist/umd/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -29,22 +29,24 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"lodash": "^4.17.21",
|
|
32
|
-
"@leafygreen-ui/emotion": "^5.0.
|
|
32
|
+
"@leafygreen-ui/emotion": "^5.0.4"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
+
"@rollup/plugin-node-resolve": "15.1.0",
|
|
35
36
|
"@svgr/core": "^5.3.1",
|
|
36
37
|
"@types/xml2json": "^0.11.0",
|
|
37
38
|
"commander": "^11.0.0",
|
|
39
|
+
"fs-extra": "11.1.1",
|
|
40
|
+
"p-queue": "^8.1.0",
|
|
38
41
|
"rollup": "4.16.1",
|
|
42
|
+
"rollup-plugin-node-externals": "7.1.1",
|
|
39
43
|
"ts-node": "^10.9.2",
|
|
40
44
|
"xml2json": "^0.12.0",
|
|
41
|
-
"
|
|
42
|
-
"fs-extra": "11.1.1",
|
|
45
|
+
"@lg-tools/storybook-utils": "^0.3.3",
|
|
43
46
|
"@lg-tools/build": "^0.8.3",
|
|
47
|
+
"@leafygreen-ui/palette": "^5.0.2",
|
|
44
48
|
"@lg-tools/lint": "^3.1.0",
|
|
45
|
-
"@leafygreen-ui/lib": "^15.
|
|
46
|
-
"@lg-tools/storybook-utils": "^0.3.2",
|
|
47
|
-
"@leafygreen-ui/palette": "^5.0.2"
|
|
49
|
+
"@leafygreen-ui/lib": "^15.6.2"
|
|
48
50
|
},
|
|
49
51
|
"gitHead": "dd71a2d404218ccec2e657df9c0263dc1c15b9e0",
|
|
50
52
|
"homepage": "https://github.com/mongodb/leafygreen-ui/tree/main/packages/icon",
|
|
@@ -59,6 +61,7 @@
|
|
|
59
61
|
"scripts": {
|
|
60
62
|
"prebuild": "ts-node ./scripts/prebuild/index.ts",
|
|
61
63
|
"build": "ts-node ./scripts/build/build.ts",
|
|
64
|
+
"postbuild": "ts-node ./scripts/postbuild/index.ts",
|
|
62
65
|
"tsc": "lg-build tsc",
|
|
63
66
|
"docs": "lg-build docs"
|
|
64
67
|
}
|
|
@@ -10,6 +10,8 @@ async function getBatchBuildOptions(
|
|
|
10
10
|
'@lg-tools/build/config/utils/constructUMDGlobalName.mjs'
|
|
11
11
|
);
|
|
12
12
|
|
|
13
|
+
const { nodeExternals } = await import('rollup-plugin-node-externals');
|
|
14
|
+
|
|
13
15
|
const { esmConfig, umdConfig } = await import(
|
|
14
16
|
'@lg-tools/build/config/rollup.config.mjs'
|
|
15
17
|
);
|
|
@@ -20,6 +22,11 @@ async function getBatchBuildOptions(
|
|
|
20
22
|
...esmConfig,
|
|
21
23
|
input: batch.map(icon => `${GENERATED_DIR}/${icon}.tsx`),
|
|
22
24
|
output: [esmConfig.output],
|
|
25
|
+
plugins: [
|
|
26
|
+
// Ensure @emotion packages are externalized (not bundled into icons)
|
|
27
|
+
nodeExternals({ deps: true, include: [/@emotion/] }),
|
|
28
|
+
...esmConfig.plugins,
|
|
29
|
+
],
|
|
23
30
|
},
|
|
24
31
|
// UMD builds need a single input file
|
|
25
32
|
...batch.map(iconName => {
|
|
@@ -33,6 +40,11 @@ async function getBatchBuildOptions(
|
|
|
33
40
|
dir: `dist/umd`,
|
|
34
41
|
},
|
|
35
42
|
],
|
|
43
|
+
plugins: [
|
|
44
|
+
// Ensure @emotion packages are externalized (not bundled into icons)
|
|
45
|
+
nodeExternals({ deps: true, include: [/@emotion/] }),
|
|
46
|
+
...umdConfig.plugins,
|
|
47
|
+
],
|
|
36
48
|
};
|
|
37
49
|
}),
|
|
38
50
|
];
|
|
@@ -45,16 +57,13 @@ export async function buildBatch(
|
|
|
45
57
|
batch: Array<string>,
|
|
46
58
|
verbose = false,
|
|
47
59
|
): Promise<void> {
|
|
60
|
+
verbose && console.log('Building batch', batch);
|
|
48
61
|
try {
|
|
49
62
|
const rollupConfigs = await getBatchBuildOptions(batch);
|
|
50
63
|
|
|
51
64
|
for (const config of rollupConfigs) {
|
|
52
65
|
const bundle = await rollup(config);
|
|
53
66
|
|
|
54
|
-
if (verbose) {
|
|
55
|
-
console.log(bundle.watchFiles);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
67
|
await Promise.all(config.output.map(bundle.write));
|
|
59
68
|
await bundle.close();
|
|
60
69
|
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Validates that built icon files do not import @emotion packages directly.
|
|
7
|
+
* Icons should only depend on @leafygreen-ui/emotion, not @emotion/* packages.
|
|
8
|
+
*/
|
|
9
|
+
function validateBuiltIcons(): void {
|
|
10
|
+
const distDirs = ['dist/esm', 'dist/umd'];
|
|
11
|
+
const emotionPattern = /@emotion\//g;
|
|
12
|
+
let hasErrors = false;
|
|
13
|
+
const errors: Array<{ file: string; matches: Array<string> }> = [];
|
|
14
|
+
|
|
15
|
+
console.log('Validating built icons...\n');
|
|
16
|
+
|
|
17
|
+
for (const distDir of distDirs) {
|
|
18
|
+
const fullPath = path.join(process.cwd(), distDir);
|
|
19
|
+
|
|
20
|
+
if (!fs.existsSync(fullPath)) {
|
|
21
|
+
console.warn(`Warning: ${distDir} directory does not exist. Skipping...`);
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const files = fs.readdirSync(fullPath);
|
|
26
|
+
const jsFiles = files.filter(file => file.endsWith('.js'));
|
|
27
|
+
|
|
28
|
+
for (const file of jsFiles) {
|
|
29
|
+
// Skip the main index file and glyphCommon as they may have different rules
|
|
30
|
+
if (file === 'index.js' || file === 'glyphCommon.js') {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const filePath = path.join(fullPath, file);
|
|
35
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
36
|
+
|
|
37
|
+
// Check for @emotion imports/requires
|
|
38
|
+
const matches = content.match(emotionPattern);
|
|
39
|
+
|
|
40
|
+
if (matches) {
|
|
41
|
+
hasErrors = true;
|
|
42
|
+
const uniqueMatches = Array.from(new Set(matches));
|
|
43
|
+
errors.push({ file: `${distDir}/${file}`, matches: uniqueMatches });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if (hasErrors) {
|
|
49
|
+
console.error('❌ ERROR: Found @emotion imports in built icon files!\n');
|
|
50
|
+
console.error(
|
|
51
|
+
'Icons should only depend on @leafygreen-ui/emotion, not @emotion/* packages directly.\n',
|
|
52
|
+
);
|
|
53
|
+
console.error('Files with @emotion imports:');
|
|
54
|
+
for (const error of errors) {
|
|
55
|
+
console.error(` - ${error.file}`);
|
|
56
|
+
for (const match of error.matches) {
|
|
57
|
+
console.error(` → ${match}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
console.error('\nThis indicates a build configuration issue.');
|
|
61
|
+
console.error(
|
|
62
|
+
'Check packages/icon/scripts/build/build-batch.ts for proper externalization rules.',
|
|
63
|
+
);
|
|
64
|
+
process.exit(1);
|
|
65
|
+
} else {
|
|
66
|
+
console.log('Icon builds OK \n');
|
|
67
|
+
process.exit(0);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
validateBuiltIcons();
|
package/scripts/tsconfig.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -3,6 +3,12 @@ export type { IconProps } from './createIconComponent';
|
|
|
3
3
|
export { createIconComponent } from './createIconComponent';
|
|
4
4
|
export { Size, sizeMap } from './glyphCommon';
|
|
5
5
|
export { type GlyphName, glyphs } from './glyphs';
|
|
6
|
-
export {
|
|
6
|
+
export {
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated Use named export `{ Icon }` instead. See [named-exports codemod documentation](https://github.com/mongodb/leafygreen-ui/tree/main/tools/codemods#named-exports) for migration assistance.
|
|
9
|
+
*/
|
|
10
|
+
Icon as default,
|
|
11
|
+
Icon,
|
|
12
|
+
} from './Icon';
|
|
7
13
|
export { isComponentGlyph } from './isComponentGlyph';
|
|
8
14
|
export { LGGlyph } from './types';
|