Skip to content

Commit 7f85096

Browse files
refactor: make module compatible with the native ESM
1 parent 6123e5d commit 7f85096

File tree

12 files changed

+351
-30
lines changed

12 files changed

+351
-30
lines changed

eslint.config.mjs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,13 @@ export default [
1919
...ts,
2020
...unicorn,
2121
...react,
22+
{
23+
files: ['**/*.{ts,tsx,cts,mts}'],
24+
rules: {
25+
'@typescript-eslint/consistent-type-imports': 'error',
26+
'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],
27+
},
28+
},
2229
{
2330
rules: {
2431
'import/default': 'off',

package-lock.json

Lines changed: 324 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/NMRiumWrapper.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ import type { CSSProperties } from 'react';
44
import { useEffect, useState, useCallback, useRef } from 'react';
55
import { RootLayout } from 'react-science/ui';
66

7-
import events from './events';
8-
import { useLoadSpectra } from './hooks/useLoadSpectra';
9-
import { usePreferences } from './hooks/usePreferences';
10-
import { useWhiteList } from './hooks/useWhiteList';
11-
import AboutUsModal from './modal/AboutUsModal';
7+
import events from './events/event.js';
8+
import { useLoadSpectra } from './hooks/useLoadSpectra.js';
9+
import { usePreferences } from './hooks/usePreferences.js';
10+
import { useWhiteList } from './hooks/useWhiteList.js';
11+
import AboutUsModal from './modal/AboutUsModal.js';
1212

1313
const styles: Record<'container' | 'loadingContainer', CSSProperties> = {
1414
container: {

src/demo/NMRiumWrapperDemo.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ import styled from '@emotion/styled';
22
import type { NMRiumData } from 'nmrium';
33
import { Button } from 'react-science/ui';
44

5-
import NMRiumWrapper from '../NMRiumWrapper';
6-
import events from '../events';
7-
import { loadFilesFromURLs } from '../utilities/loadFilesFromURLs';
5+
import NMRiumWrapper from '../NMRiumWrapper.js';
6+
import events from '../events/event.js';
7+
import { loadFilesFromURLs } from '../utilities/loadFilesFromURLs.js';
88

9-
import jsonData from './data/test.json';
9+
import jsonData from './data/test.json' with { type: 'json' };
1010

1111
const Container = styled.div`
1212
display: flex;
@@ -29,7 +29,7 @@ export default function NMRiumWrapperDemo() {
2929
style={{ marginRight: '10px' }}
3030
onClick={() => {
3131
events.trigger('load', {
32-
data: jsonData as NMRiumData,
32+
data: jsonData as unknown as NMRiumData,
3333
type: 'nmrium',
3434
});
3535
}}

src/events/event.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { EventType, EventData } from './types';
1+
import type { EventType, EventData } from './types.js';
22

33
const namespace = 'nmr-wrapper';
44

src/events/index.ts

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/hooks/useLoadSpectra.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import type { NmriumState, ParsingOptions, ViewState } from 'nmr-load-save';
44
import { read, readFromWebSource, CURRENT_EXPORT_VERSION } from 'nmr-load-save';
55
import { useCallback, useMemo, useState } from 'react';
66

7-
import events from '../events';
8-
import { getFileNameFromURL } from '../utilities/getFileNameFromURL';
9-
import { isArrayOfString } from '../utilities/isArrayOfString';
7+
import events from '../events/event.js';
8+
import { getFileNameFromURL } from '../utilities/getFileNameFromURL.js';
9+
import { isArrayOfString } from '../utilities/isArrayOfString.js';
1010

1111
type DeepPartial<T> = {
1212
[K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K];

src/hooks/usePreferences.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type { CustomWorkspaces, WorkspacePreferences } from 'nmr-load-save';
22
import type { NMRiumWorkspace } from 'nmrium';
33
import { useLayoutEffect, useState } from 'react';
44

5-
import { getNmrXivWorkspace } from '../workspaces/nmrxiv';
5+
import { getNmrXivWorkspace } from '../workspaces/nmrxiv.js';
66

77
interface Preferences {
88
preferences: WorkspacePreferences | undefined;

src/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import { createRoot } from 'react-dom/client';
66
import { HashRouter as Router, Route, Routes } from 'react-router-dom';
77
import { registerSW } from 'virtual:pwa-register';
88

9-
import NMRiumWrapper from './NMRiumWrapper';
10-
import NMRiumWrapperDemo from './demo/NMRiumWrapperDemo';
9+
import NMRiumWrapper from './NMRiumWrapper.js';
10+
import NMRiumWrapperDemo from './demo/NMRiumWrapperDemo.js';
1111

1212
const rootContainer = document.querySelector('#root');
1313

src/modal/AboutUsModal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Dialog, DialogBody } from '@blueprintjs/core';
22
import styled from '@emotion/styled';
33
import { useOnOff } from 'react-science/ui';
44

5-
import versionInfo from '../versionInfo';
5+
import versionInfo from '../versionInfo.js';
66

77
const Title = styled.span`
88
font-weight: bold;

0 commit comments

Comments
 (0)