Skip to content

Commit 61b7953

Browse files
committed
ESM
1 parent d443504 commit 61b7953

File tree

15 files changed

+1560
-572
lines changed

15 files changed

+1560
-572
lines changed

CHANGELOG.md

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,13 @@
11
## [2.0.5](https://github.com/GMOD/tabix-js/compare/v2.0.4...v2.0.5) (2025-03-18)
22

3-
4-
53
## [2.0.4](https://github.com/GMOD/tabix-js/compare/v2.0.3...v2.0.4) (2024-12-18)
64

7-
8-
95
## [2.0.3](https://github.com/GMOD/tabix-js/compare/v2.0.2...v2.0.3) (2024-12-18)
106

11-
12-
137
## [2.0.2](https://github.com/GMOD/tabix-js/compare/v2.0.0...v2.0.2) (2024-12-12)
148

15-
16-
179
# [2.0.0](https://github.com/GMOD/tabix-js/compare/v1.6.1...v2.0.0) (2024-12-12)
1810

19-
20-
2111
## [1.6.1](https://github.com/GMOD/tabix-js/compare/v1.6.0...v1.6.1) (2024-12-07)
2212

2313
# [1.6.0](https://github.com/GMOD/tabix-js/compare/v1.5.15...v1.6.0) (2024-11-30)

eslint.config.mjs

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import eslint from '@eslint/js'
22
import eslintPluginUnicorn from 'eslint-plugin-unicorn'
3+
import importPlugin from 'eslint-plugin-import'
34
import tseslint from 'typescript-eslint'
45

56
export default tseslint.config(
@@ -24,8 +25,8 @@ export default tseslint.config(
2425
...tseslint.configs.recommended,
2526
...tseslint.configs.stylisticTypeChecked,
2627
...tseslint.configs.strictTypeChecked,
27-
28-
eslintPluginUnicorn.configs['flat/recommended'],
28+
importPlugin.flatConfigs.recommended,
29+
eslintPluginUnicorn.configs.recommended,
2930
{
3031
rules: {
3132
'@typescript-eslint/no-unused-vars': [
@@ -99,6 +100,24 @@ export default tseslint.config(
99100
'@typescript-eslint/no-deprecated': 'off',
100101
'@typescript-eslint/restrict-plus-operands': 'off',
101102
'no-empty': 'off',
103+
104+
'import/no-unresolved': 'off',
105+
'import/order': [
106+
'error',
107+
{
108+
named: true,
109+
'newlines-between': 'always',
110+
alphabetize: {
111+
order: 'asc',
112+
},
113+
groups: [
114+
'builtin',
115+
['external', 'internal'],
116+
['parent', 'sibling', 'index', 'object'],
117+
'type',
118+
],
119+
},
120+
],
102121
},
103122
},
104123
)

package.json

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@
22
"name": "@gmod/tabix",
33
"version": "2.0.5",
44
"description": "Read Tabix-indexed files, supports both .tbi and .csi indexes",
5+
"type": "module",
6+
"types": "./dist/index.d.ts",
7+
"exports": {
8+
"import": {
9+
"import": "./esm/index.js"
10+
},
11+
"require": {
12+
"require": "./dist/index.js"
13+
}
14+
},
515
"license": "MIT",
616
"repository": "GMOD/tabix-js",
717
"main": "dist/index.js",
@@ -26,8 +36,8 @@
2636
"docs": "documentation readme --shallow src/tabixIndexedFile.ts --section TabixIndexedFile",
2737
"clean": "rimraf dist esm",
2838
"prebuild": "npm run clean && npm run lint",
29-
"build:esm": "tsc --outDir esm",
30-
"build:es5": "tsc --module commonjs --outDir dist",
39+
"build:esm": "tsc --target es2020 --outDir esm",
40+
"build:es5": "tsc --target es2020 --module commonjs --outDir dist",
3141
"build": "npm run build:esm && npm run build:es5",
3242
"postbuild": "webpack",
3343
"preversion": "npm run lint && npm test run && npm run build",
@@ -50,12 +60,11 @@
5060
"@eslint/eslintrc": "^3.1.0",
5161
"@eslint/js": "^9.9.0",
5262
"@types/node": "^20.11.16",
53-
"@typescript-eslint/eslint-plugin": "^8.0.1",
54-
"@typescript-eslint/parser": "^8.0.1",
5563
"@vitest/coverage-v8": "^3.0.1",
5664
"documentation": "^14.0.3",
5765
"eslint": "^9.9.0",
58-
"eslint-plugin-unicorn": "^57.0.0",
66+
"eslint-plugin-import": "^2.31.0",
67+
"eslint-plugin-unicorn": "^58.0.0",
5968
"prettier": "^3.3.3",
6069
"rimraf": "^6.0.1",
6170
"standard-changelog": "^6.0.0",

src/chunk.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import VirtualOffset from './virtualOffset'
1+
import VirtualOffset from './virtualOffset.ts'
22

33
// little class representing a chunk in the index
44
export default class Chunk {

src/csi.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import { unzip } from '@gmod/bgzf-filehandle'
22

3-
import VirtualOffset, { fromBytes } from './virtualOffset'
4-
import Chunk from './chunk'
5-
import { optimizeChunks } from './util'
6-
7-
import IndexFile, { Options } from './indexFile'
8-
import { longFromBytesToUnsigned } from './long'
3+
import Chunk from './chunk.ts'
4+
import IndexFile, { Options } from './indexFile.ts'
5+
import { longFromBytesToUnsigned } from './long.ts'
6+
import { optimizeChunks } from './util.ts'
7+
import VirtualOffset, { fromBytes } from './virtualOffset.ts'
98

109
const CSI1_MAGIC = 21582659 // CSI\1
1110
const CSI2_MAGIC = 38359875 // CSI\2

src/indexFile.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import { GenericFilehandle } from 'generic-filehandle2'
2-
import VirtualOffset from './virtualOffset'
3-
import Chunk from './chunk'
1+
import Chunk from './chunk.ts'
2+
import VirtualOffset from './virtualOffset.ts'
3+
4+
import type { GenericFilehandle } from 'generic-filehandle2'
45

56
export interface Options {
67
signal?: AbortSignal

src/tabixIndexedFile.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
import AbortablePromiseCache from '@gmod/abortable-promise-cache'
2-
import LRU from 'quick-lru'
3-
import { GenericFilehandle, RemoteFile, LocalFile } from 'generic-filehandle2'
42
import { unzip, unzipChunkSlice } from '@gmod/bgzf-filehandle'
5-
import { checkAbortSignal } from './util'
6-
import IndexFile, { Options, IndexData } from './indexFile'
3+
import { LocalFile, RemoteFile } from 'generic-filehandle2'
4+
import LRU from 'quick-lru'
5+
6+
import Chunk from './chunk.ts'
7+
import CSI from './csi.ts'
8+
import IndexFile, { IndexData, Options } from './indexFile.ts'
9+
import TBI from './tbi.ts'
10+
import { checkAbortSignal } from './util.ts'
711

8-
import Chunk from './chunk'
9-
import TBI from './tbi'
10-
import CSI from './csi'
12+
import type { GenericFilehandle } from 'generic-filehandle2'
1113

1214
function isASCII(str: string) {
1315
// eslint-disable-next-line no-control-regex

src/tbi.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
import VirtualOffset, { fromBytes } from './virtualOffset'
2-
import Chunk from './chunk'
31
import { unzip } from '@gmod/bgzf-filehandle'
4-
import { optimizeChunks, checkAbortSignal } from './util'
5-
import IndexFile, { Options } from './indexFile'
6-
import { longFromBytesToUnsigned } from './long'
2+
3+
import Chunk from './chunk.ts'
4+
import IndexFile, { Options } from './indexFile.ts'
5+
import { longFromBytesToUnsigned } from './long.ts'
6+
import { checkAbortSignal, optimizeChunks } from './util.ts'
7+
import VirtualOffset, { fromBytes } from './virtualOffset.ts'
78

89
const TBI_MAGIC = 21578324 // TBI\1
910
const TAD_LIDX_SHIFT = 14

src/util.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import Chunk from './chunk'
2-
import VirtualOffset from './virtualOffset'
1+
import Chunk from './chunk.ts'
2+
import VirtualOffset from './virtualOffset.ts'
33

44
class AbortError extends Error {
55
public code: string | undefined

test/csi.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import { expect, test } from 'vitest'
21
import { LocalFile } from 'generic-filehandle2'
3-
import VirtualOffset from '../src/virtualOffset'
2+
import { expect, test } from 'vitest'
3+
44
import CSI from '../src/csi'
5+
import VirtualOffset from '../src/virtualOffset'
56

67
test('loads test.gff3.gz.csi', async () => {
78
const ti = new CSI({

0 commit comments

Comments
 (0)