Skip to content

Commit

Permalink
Convert package to purely ESM
Browse files Browse the repository at this point in the history
  • Loading branch information
jmrossy committed Apr 3, 2024
1 parent ddb4d8c commit b0fd9c2
Show file tree
Hide file tree
Showing 24 changed files with 122 additions and 195 deletions.
29 changes: 9 additions & 20 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"version": "3.8.0",
"author": "J M Rossy",
"peerDependencies": {
"@hyperlane-xyz/sdk": "^3.1",
"@hyperlane-xyz/sdk": "^3.8",
"react": "^18",
"react-dom": "^18"
},
Expand Down Expand Up @@ -43,22 +43,12 @@
"files": [
"/dist"
],
"main": "./dist/cjs/index.js",
"module": "./dist/esm/index.js",
"browser": "./dist/esm/index.js",
"types": "./dist/esm/index.d.ts",
"type": "module",
"exports": {
".": {
"import": "./dist/esm/index.js",
"require": "./dist/cjs/index.js",
"default": "./dist/esm/index.js"
},
"./styles.css": {
"import": "./dist/styles.css",
"style": "./dist/styles.css",
"default": "./dist/styles.css"
}
".": "./dist/index.js",
"./styles.css": "./dist/styles.css"
},
"types": "./dist/index.d.ts",
"homepage": "https://www.hyperlane.xyz",
"keywords": [
"Hyperlane",
Expand All @@ -74,11 +64,10 @@
"url": "https://github.com/hyperlane-xyz/hyperlane-widgets"
},
"scripts": {
"build": "yarn build:svg && yarn build:cjs && yarn build:esm && yarn build:css",
"build:cjs": "tsc --project ./tsconfig.json",
"build:esm": "tsc --project ./tsconfig.esm.json",
"build:css": "tailwindcss -c ./tailwind.config.js -i ./src/styles.css -o ./dist/styles.css --minify",
"build:svg": "svgr --typescript --out-dir src/logos -- node_modules/@hyperlane-xyz/sdk/logos",
"build": "yarn build:svg && yarn build:ts && yarn build:css",
"build:ts": "tsc",
"build:css": "tailwindcss -c ./tailwind.config.cjs -i ./src/styles.css -o ./dist/styles.css --minify",
"build:svg": "svgr --typescript --no-index --out-dir src/logos -- node_modules/@hyperlane-xyz/sdk/logos",
"clean": "rm -rf dist cache",
"lint": "eslint . --ext .ts",
"prettier": "prettier --write ./src",
Expand Down
2 changes: 1 addition & 1 deletion src/icons/Airplane.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { memo } from 'react';

import { ColorPalette } from '../color';
import { ColorPalette } from '../color.js';

interface Props {
width?: string | number;
Expand Down
84 changes: 42 additions & 42 deletions src/icons/ChainLogo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,49 +3,49 @@ import React, { ReactElement, memo } from 'react';
import { Chains, chainMetadata } from '@hyperlane-xyz/sdk';
import { isNumeric } from '@hyperlane-xyz/utils';

import ArbitrumBlack from '../logos/black/Arbitrum';
import AvalancheBlack from '../logos/black/Avalanche';
import BaseBlack from '../logos/black/Base';
import BscBlack from '../logos/black/Bsc';
import CeloBlack from '../logos/black/Celo';
import EthereumBlack from '../logos/black/Ethereum';
import GnosisBlack from '../logos/black/Gnosis';
import InevmBlack from '../logos/black/Inevm';
import InjectiveBlack from '../logos/black/Injective';
import MantaBlack from '../logos/black/Manta';
import MoonbeamBlack from '../logos/black/Moonbeam';
import NautilusBlack from '../logos/black/Nautilus';
import NeutronBlack from '../logos/black/Neutron';
import OptimismBlack from '../logos/black/Optimism';
import PlumeBlack from '../logos/black/Plume';
import PolygonBlack from '../logos/black/Polygon';
import PolygonzkevmBlack from '../logos/black/Polygonzkevm';
import ScrollBlack from '../logos/black/Scroll';
import SolanaBlack from '../logos/black/Solana';
import VictionBlack from '../logos/black/Viction';
import ArbitrumColor from '../logos/color/Arbitrum';
import AvalancheColor from '../logos/color/Avalanche';
import BaseColor from '../logos/color/Base';
import BscColor from '../logos/color/Bsc';
import CeloColor from '../logos/color/Celo';
import EthereumColor from '../logos/color/Ethereum';
import GnosisColor from '../logos/color/Gnosis';
import InevmColor from '../logos/color/Inevm';
import InjectiveColor from '../logos/color/Injective';
import MantaColor from '../logos/color/Manta';
import MoonbeamColor from '../logos/color/Moonbeam';
import NautilusColor from '../logos/color/Nautilus';
import NeutronColor from '../logos/color/Neutron';
import OptimismColor from '../logos/color/Optimism';
import PlumeColor from '../logos/color/Plume';
import PolygonColor from '../logos/color/Polygon';
import PolygonzkevmColor from '../logos/color/Polygonzkevm';
import ScrollColor from '../logos/color/Scroll';
import SolanaColor from '../logos/color/Solana';
import VictionColor from '../logos/color/Viction';
import ArbitrumBlack from '../logos/black/Arbitrum.js';
import AvalancheBlack from '../logos/black/Avalanche.js';
import BaseBlack from '../logos/black/Base.js';
import BscBlack from '../logos/black/Bsc.js';
import CeloBlack from '../logos/black/Celo.js';
import EthereumBlack from '../logos/black/Ethereum.js';
import GnosisBlack from '../logos/black/Gnosis.js';
import InevmBlack from '../logos/black/Inevm.js';
import InjectiveBlack from '../logos/black/Injective.js';
import MantaBlack from '../logos/black/Manta.js';
import MoonbeamBlack from '../logos/black/Moonbeam.js';
import NautilusBlack from '../logos/black/Nautilus.js';
import NeutronBlack from '../logos/black/Neutron.js';
import OptimismBlack from '../logos/black/Optimism.js';
import PlumeBlack from '../logos/black/Plume.js';
import PolygonBlack from '../logos/black/Polygon.js';
import PolygonzkevmBlack from '../logos/black/Polygonzkevm.js';
import ScrollBlack from '../logos/black/Scroll.js';
import SolanaBlack from '../logos/black/Solana.js';
import VictionBlack from '../logos/black/Viction.js';
import ArbitrumColor from '../logos/color/Arbitrum.js';
import AvalancheColor from '../logos/color/Avalanche.js';
import BaseColor from '../logos/color/Base.js';
import BscColor from '../logos/color/Bsc.js';
import CeloColor from '../logos/color/Celo.js';
import EthereumColor from '../logos/color/Ethereum.js';
import GnosisColor from '../logos/color/Gnosis.js';
import InevmColor from '../logos/color/Inevm.js';
import InjectiveColor from '../logos/color/Injective.js';
import MantaColor from '../logos/color/Manta.js';
import MoonbeamColor from '../logos/color/Moonbeam.js';
import NautilusColor from '../logos/color/Nautilus.js';
import NeutronColor from '../logos/color/Neutron.js';
import OptimismColor from '../logos/color/Optimism.js';
import PlumeColor from '../logos/color/Plume.js';
import PolygonColor from '../logos/color/Polygon.js';
import PolygonzkevmColor from '../logos/color/Polygonzkevm.js';
import ScrollColor from '../logos/color/Scroll.js';
import SolanaColor from '../logos/color/Solana.js';
import VictionColor from '../logos/color/Viction.js';

import { Circle } from './Circle';
import { QuestionMarkIcon } from './QuestionMark';
import { Circle } from './Circle.js';
import { QuestionMarkIcon } from './QuestionMark.js';

type SvgIcon = (props: { width: number; height: number; title?: string }) => ReactElement;

Expand Down
2 changes: 1 addition & 1 deletion src/icons/Circle.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { PropsWithChildren } from 'react';

import { seedToBgColor } from '../color';
import { seedToBgColor } from '../color.js';

export function Circle({
size,
Expand Down
2 changes: 1 addition & 1 deletion src/icons/Envelope.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { memo } from 'react';

import { ColorPalette } from '../color';
import { ColorPalette } from '../color.js';

interface Props {
width?: string | number;
Expand Down
2 changes: 1 addition & 1 deletion src/icons/Lock.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { memo } from 'react';

import { ColorPalette } from '../color';
import { ColorPalette } from '../color.js';

interface Props {
width?: string | number;
Expand Down
2 changes: 1 addition & 1 deletion src/icons/QuestionMark.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { memo } from 'react';

import { ColorPalette } from '../color';
import { ColorPalette } from '../color.js';

interface Props {
width?: string | number;
Expand Down
2 changes: 1 addition & 1 deletion src/icons/Shield.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { memo } from 'react';

import { ColorPalette } from '../color';
import { ColorPalette } from '../color.js';

interface Props {
width?: string | number;
Expand Down
2 changes: 1 addition & 1 deletion src/icons/WideChevron.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { memo } from 'react';

import { ColorPalette } from '../color';
import { ColorPalette } from '../color.js';

export interface WideChevronProps {
width?: string | number;
Expand Down
27 changes: 15 additions & 12 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
export { ColorPalette, seedToBgColor } from './color';
export * from './consts';
export { ChainLogo } from './icons/ChainLogo';
export { Circle } from './icons/Circle';
export { WideChevron } from './icons/WideChevron';
export * as BlackLogos from './logos/black';
export * as ColorLogos from './logos/color';
export { MessageTimeline } from './messages/MessageTimeline';
export { MessageStage, MessageStatus, type ApiMessage, type StageTimings } from './messages/types';
export { useMessage } from './messages/useMessage';
export { useMessageStage } from './messages/useMessageStage';
export { useMessageTimeline } from './messages/useMessageTimeline';
export { ColorPalette, seedToBgColor } from './color.js';
export * from './consts.js';
export { ChainLogo } from './icons/ChainLogo.js';
export { Circle } from './icons/Circle.js';
export { WideChevron } from './icons/WideChevron.js';
export { MessageTimeline } from './messages/MessageTimeline.js';
export {
MessageStage,
MessageStatus,
type ApiMessage,
type StageTimings,
} from './messages/types.js';
export { useMessage } from './messages/useMessage.js';
export { useMessageStage } from './messages/useMessageStage.js';
export { useMessageTimeline } from './messages/useMessageTimeline.js';
25 changes: 0 additions & 25 deletions src/logos/black/index.ts

This file was deleted.

24 changes: 0 additions & 24 deletions src/logos/color/index.ts

This file was deleted.

14 changes: 7 additions & 7 deletions src/messages/MessageTimeline.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import React from 'react';

import { ColorPalette } from '../color';
import { AirplaneIcon } from '../icons/Airplane';
import { EnvelopeIcon } from '../icons/Envelope';
import { LockIcon } from '../icons/Lock';
import { ShieldIcon } from '../icons/Shield';
import { WideChevron } from '../icons/WideChevron';
import { ColorPalette } from '../color.js';
import { AirplaneIcon } from '../icons/Airplane.js';
import { EnvelopeIcon } from '../icons/Envelope.js';
import { LockIcon } from '../icons/Lock.js';
import { ShieldIcon } from '../icons/Shield.js';
import { WideChevron } from '../icons/WideChevron.js';

import { MessageStatus, MessageStage as Stage, StageTimings } from './types';
import { MessageStatus, MessageStage as Stage, StageTimings } from './types.js';

interface Props {
status: MessageStatus;
Expand Down
8 changes: 4 additions & 4 deletions src/messages/useMessage.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { useCallback, useState } from 'react';

import { HYPERLANE_EXPLORER_API_URL } from '../consts';
import { executeExplorerQuery } from '../utils/explorers';
import { useInterval } from '../utils/useInterval';
import { HYPERLANE_EXPLORER_API_URL } from '../consts.js';
import { executeExplorerQuery } from '../utils/explorers.js';
import { useInterval } from '../utils/useInterval.js';

import { ApiMessage, MessageStatus } from './types';
import { ApiMessage, MessageStatus } from './types.js';

interface Params {
messageId?: string;
Expand Down
10 changes: 5 additions & 5 deletions src/messages/useMessageStage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ import { useCallback, useState } from 'react';

import { chainIdToMetadata } from '@hyperlane-xyz/sdk';

import { HYPERLANE_EXPLORER_API_URL } from '../consts';
import { queryExplorerForBlock } from '../utils/explorers';
import { fetchWithTimeout } from '../utils/timeout';
import { useInterval } from '../utils/useInterval';
import { HYPERLANE_EXPLORER_API_URL } from '../consts.js';
import { queryExplorerForBlock } from '../utils/explorers.js';
import { fetchWithTimeout } from '../utils/timeout.js';
import { useInterval } from '../utils/useInterval.js';

import { MessageStatus, PartialMessage, MessageStage as Stage, StageTimings } from './types';
import { MessageStatus, PartialMessage, MessageStage as Stage, StageTimings } from './types.js';

const VALIDATION_TIME_EST = 5;

Expand Down
4 changes: 2 additions & 2 deletions src/messages/useMessageTimeline.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { useMessage } from './useMessage';
import { useMessageStage } from './useMessageStage';
import { useMessage } from './useMessage.js';
import { useMessageStage } from './useMessageStage.js';

interface Params {
messageId?: string;
Expand Down
2 changes: 1 addition & 1 deletion src/stories/ChainLogo.stories.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { ComponentMeta, ComponentStory } from '@storybook/react';
import React from 'react';

import { ChainLogo } from '../icons/ChainLogo';
import { ChainLogo } from '../icons/ChainLogo.js';

export default {
title: 'ChainLogo',
Expand Down
4 changes: 2 additions & 2 deletions src/stories/MessageTimeline.stories.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { ComponentMeta, ComponentStory } from '@storybook/react';
import React from 'react';

import { MessageTimeline } from '../messages/MessageTimeline';
import { MessageStage, MessageStatus } from '../messages/types';
import { MessageTimeline } from '../messages/MessageTimeline.js';
import { MessageStage, MessageStatus } from '../messages/types.js';

export default {
title: 'MessageTimeline',
Expand Down
4 changes: 2 additions & 2 deletions src/stories/WideChevron.stories.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { ComponentMeta, ComponentStory } from '@storybook/react';
import React from 'react';

import { ColorPalette } from '../color';
import { WideChevron } from '../icons/WideChevron';
import { ColorPalette } from '../color.js';
import { WideChevron } from '../icons/WideChevron.js';

export default {
title: 'WideChevron',
Expand Down
2 changes: 1 addition & 1 deletion src/utils/explorers.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { chainIdToMetadata } from '@hyperlane-xyz/sdk';

import { fetchWithTimeout } from './timeout';
import { fetchWithTimeout } from './timeout.js';

export interface ExplorerQueryResponse<R> {
status: string;
Expand Down
File renamed without changes.
Loading

0 comments on commit b0fd9c2

Please sign in to comment.