Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
3cd75df
Fix visibility
happy5214 Dec 17, 2025
91da00d
Port parsed HED string and substring classes
happy5214 Dec 18, 2025
b1997cf
Fix type errors and reorder some imports
happy5214 Dec 18, 2025
01c6c6c
Shorten Chai imports
happy5214 Dec 18, 2025
975fc33
Port parseUtils to TypeScript
happy5214 Dec 20, 2025
ca9b2fb
Fix issues from previous work
happy5214 Dec 20, 2025
de6db6b
Fix several linter errors
happy5214 Dec 20, 2025
9f2fcb2
Port splitter to TypeScript
happy5214 Dec 24, 2025
9c76ddf
Port top-level parser module
happy5214 Jan 16, 2026
4ac376a
Port several more modules
happy5214 Jan 17, 2026
d8fcecb
Bump @babel/core from 7.28.5 to 7.29.0
dependabot[bot] Feb 17, 2026
cdc8d4e
Bump globals from 17.0.0 to 17.3.0
dependabot[bot] Feb 17, 2026
178a5c7
Merge pull request #41 from hed-standard/dependabot/npm_and_yarn/main…
happy5214 Feb 17, 2026
12d9984
Merge pull request #42 from hed-standard/dependabot/npm_and_yarn/main…
happy5214 Feb 17, 2026
3cd5a53
Merge branch 'main' into typescript
happy5214 Feb 17, 2026
4620650
Update dependencies in package.json
happy5214 Feb 18, 2026
d9b6e26
Port remaining parser code to TypeScript
happy5214 Feb 18, 2026
57aa02d
Merge branch 'typescript' into port-parsed-substrings
happy5214 Feb 18, 2026
1349a55
Merge branch 'typescript' into port-parsed-substrings
happy5214 Feb 18, 2026
a4ab9e8
Fix several Qlty issues
happy5214 Feb 18, 2026
6cdfeeb
Generally standardize docstring formatting
happy5214 Feb 19, 2026
c4552a1
Port entry point to TypeScript
happy5214 Feb 19, 2026
eb19fb2
Update ESLint config for TypeScript
happy5214 Feb 19, 2026
f93110a
Fix most new linter issues
happy5214 Feb 19, 2026
3b1918d
Delete TSDoc ESLint plugin dep (does not work)
happy5214 Feb 19, 2026
b00e53c
Fix several issues related to exceptions
happy5214 Feb 23, 2026
064b433
Merge branch 'typescript' into port-parsed-substrings
happy5214 Mar 1, 2026
d86abd3
Fix most linter issues
happy5214 Mar 2, 2026
0716e46
Merge branch 'typescript' into port-parsed-substrings
happy5214 Mar 18, 2026
16de637
Fix issues flagged by Copilot
happy5214 Mar 18, 2026
c63bbaa
Merge branch 'main' into port-parsed-substrings
happy5214 Mar 18, 2026
4bd38c1
Add additional TypeScript compiler checks
happy5214 Mar 19, 2026
7966d73
Replace prettier ESLint plugin with config
happy5214 Mar 22, 2026
fb9eb10
Merge branch 'main' into port-parsed-substrings
happy5214 Mar 22, 2026
a8e91b8
Merge branch 'main' into port-parsed-substrings
happy5214 Mar 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 2 additions & 7 deletions browser/src/bids/BidsWebAccessor.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,17 @@
import { BidsFileAccessor } from '../../../src/bids/datasetParser'
import { buildSchemasFromVersion } from '../schema/init'
import { BidsHedIssue } from '../../../src/bids/types/issues'

/**
* Build HED schemas from a dataset description for the browser environment.
* @param {object} description The dataset_description.json data.
* @returns {Promise<Schemas|null>} The HED schemas.
* @returns {Promise<HedSchemas|null>} The HED schemas.
*/
async function buildBidsSchemas(description) {
const hedVersionString = description.jsonData?.HEDVersion
if (!hedVersionString) {
return null
}
try {
return await buildSchemasFromVersion(hedVersionString)
} catch (e) {
throw new BidsHedIssue(e.issue)
}
return await buildSchemasFromVersion(hedVersionString)
}

/**
Expand Down
131 changes: 115 additions & 16 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,21 +1,24 @@
import prettier from 'eslint-config-prettier'
import { defineConfig, globalIgnores } from 'eslint/config'
import prettier from 'eslint-config-prettier/flat'
import globals from 'globals'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
import js from '@eslint/js'
import { FlatCompat } from '@eslint/eslintrc'

const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all,
})

export default [
...compat.extends('eslint:recommended'),
import tseslint from 'typescript-eslint'

export default defineConfig([
globalIgnores(['dist/**/*'], 'Ignore Build Directory'),
globalIgnores(['docs/**/*'], 'Ignore Documentation Directory'),
globalIgnores(['tests/bidsDemoData/**/*'], 'Ignore BIDS Demo Data Directory'),
globalIgnores(['tests/otherTestData/**/*'], 'Ignore Other Test Data Directory'),
globalIgnores(['src/data/*'], 'Ignore Source Data Directory'),

{
files: ['**/*.js', '**/*.mjs'],
plugins: {
js,
},

extends: ['js/recommended'],

languageOptions: {
globals: {
...globals.node,
Expand Down Expand Up @@ -58,5 +61,101 @@ export default [
],
},
},
{
files: ['**/*.cjs'],
plugins: {
js,
},

extends: ['js/recommended'],

languageOptions: {
globals: {
...globals.node,
...globals.jest,
__VITE_ENV__: 'readonly',
},

ecmaVersion: 'latest',
sourceType: 'commonjs',
},

rules: {
'no-console': [
'error',
{
allow: ['warn'],
},
],

'linebreak-style': ['error', 'unix'],
'guard-for-in': 'error',
'max-len': 'off',
'no-var': 'error',
'prefer-const': 'error',
'array-callback-return': 'error',
'no-constant-binary-expression': 'error',
'no-constructor-return': 'error',
'no-duplicate-imports': 'error',
'no-self-compare': 'error',
'no-template-curly-in-string': 'warn',
'no-unmodified-loop-condition': 'warn',
'no-unreachable-loop': 'error',
'no-unused-private-class-members': 'error',

'prefer-arrow-callback': [
'error',
{
allowUnboundThis: false,
},
],
},
},
{
files: ['**/*.ts'],
plugins: {
js,
},

extends: [tseslint.configs.recommendedTypeChecked],

languageOptions: {
parserOptions: {
projectService: true,
},
},

rules: {
'no-console': [
'error',
{
allow: ['warn'],
},
],

'linebreak-style': ['error', 'unix'],
'guard-for-in': 'error',
'max-len': 'off',
'no-var': 'error',
'prefer-const': 'error',
'array-callback-return': 'error',
'no-constant-binary-expression': 'error',
'no-constructor-return': 'error',
'no-duplicate-imports': 'error',
'no-self-compare': 'error',
'no-template-curly-in-string': 'warn',
'no-unmodified-loop-condition': 'warn',
'no-unreachable-loop': 'error',
'no-unused-private-class-members': 'error',
'@typescript-eslint/require-await': 'off',

'prefer-arrow-callback': [
'error',
{
allowUnboundThis: false,
},
],
},
},
prettier,
]
])
File renamed without changes.
Loading
Loading