Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
33 changes: 8 additions & 25 deletions .github/workflows/typedoc.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,15 @@
name: Deploy TypeDoc on GitHub pages
name: TypeDoc

on:
workflow_dispatch:
release:
types: [published]

env:
NODE_VERSION: 16.x
ENTRY_FILE: 'src/index.ts'

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
- name: Install dependencies
run: npm install
- name: Build documentation
uses: zakodium/typedoc-action@v2
with:
entry: ${{ env.ENTRY_FILE }}
- name: Deploy to GitHub pages
uses: JamesIves/github-pages-deploy-action@releases/v4
with:
token: ${{ secrets.BOT_TOKEN }}
branch: gh-pages
folder: docs
clean: true
typedoc:
# Documentation: https://github.com/zakodium/workflows#typedoc
uses: zakodium/workflows/.github/workflows/typedoc.yml@typedoc-v1
with:
entry: 'src/index.ts'
secrets:
github-token: ${{ secrets.BOT_TOKEN }}
5 changes: 5 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
CHANGELOG.md
lib
coverage
FilterXYSchema.json
FilterXYSchema.js
2 changes: 1 addition & 1 deletion FilterXYSchema.d.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
declare const schema: typeof import('./FilterXYSchema.json')
declare const schema: typeof import('./FilterXYSchema.json');
export = schema;
12 changes: 5 additions & 7 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import { defineConfig, globalIgnores } from 'eslint/config';
import cheminfo from 'eslint-config-cheminfo-typescript';

export default [
...cheminfo,
{
languageOptions: {},
rules: {},
},
];
export default defineConfig(
globalIgnores(['coverage', 'lib', 'FilterXYSchema.*']),
cheminfo,
);
39 changes: 18 additions & 21 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,32 @@
"name": "ml-signal-processing",
"version": "1.2.0",
"description": "Process data in the form of {x:[], y:[]}",
"main": "./lib/index.js",
"module": "./lib-esm/index.js",
"types": "./lib/index.d.ts",
"type": "module",
"exports": "./lib/index.js",
"keywords": [],
"author": "Luc Patiny",
"license": "MIT",
"files": [
"src",
"lib",
"lib-esm",
"FilterXYSchema.d.ts",
"FilterXYSchema.js",
"FilterXYSchema.json"
],
"scripts": {
"check-types": "tsc --noEmit",
"clean": "rimraf lib lib-esm",
"clean": "rimraf lib",
"createSchema": "typescript-json-schema --refs false ./tsconfig.json FilterXYType > FilterXYSchema.json",
"postcreateSchema": "node scripts/create_js_schema.mjs",
"eslint": "eslint src --cache",
"eslint-fix": "npm run eslint -- --fix",
"eslint": "eslint . --cache",
"eslint-fix": "node --run eslint -- --fix",
"prepack": "npm run createSchema && npm run tsc",
"prettier": "prettier --check src",
"prettier-write": "prettier --write src",
"prettier": "prettier --check .",
"prettier-write": "prettier --write .",
"test": "npm run test-only && npm run eslint && npm run prettier && npm run check-types",
"test-only": "vitest run --coverage",
"tsc": "npm run clean && npm run tsc-cjs && npm run tsc-esm",
"tsc-cjs": "tsc --project tsconfig.cjs.json",
"tsc-esm": "tsc --project tsconfig.esm.json"
"tsc": "npm run clean && npm run tsc-build",
"tsc-build": "tsc --project tsconfig.build.json"
},
"repository": {
"type": "git",
Expand All @@ -41,22 +38,22 @@
},
"homepage": "https://github.com/mljs/signal-processing#readme",
"devDependencies": {
"@vitest/coverage-v8": "^2.1.4",
"eslint": "^9.14.0",
"eslint-config-cheminfo-typescript": "^16.0.0",
"@vitest/coverage-v8": "^3.2.3",
"@zakodium/tsconfig": "^1.0.1",
"eslint": "^9.29.0",
"eslint-config-cheminfo-typescript": "^18.0.1",
"jest-matcher-deep-close-to": "^3.0.2",
"prettier": "^3.3.3",
"prettier": "^3.5.3",
"rimraf": "^6.0.1",
"ts-jest": "^29.2.5",
"typescript": "^5.6.3",
"typescript": "^5.8.3",
"typescript-json-schema": "^0.65.1",
"vitest": "^2.1.4"
"vitest": "^3.2.3"
},
"dependencies": {
"baselines": "^1.1.9",
"cheminfo-types": "^1.8.1",
"ml-gsd": "^12.1.8",
"ml-gsd": "^13.0.1",
"ml-savitzky-golay-generalized": "^4.2.0",
"ml-spectra-processing": "^14.6.2"
"ml-spectra-processing": "^14.12.0"
}
}
5 changes: 4 additions & 1 deletion scripts/create_js_schema.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import fs from 'node:fs';

const schema = fs.readFileSync(new URL('../FilterXYSchema.json', import.meta.url), 'utf8');
const schema = fs.readFileSync(
new URL('../FilterXYSchema.json', import.meta.url),
'utf8',
);

const schemaJs = `'use strict';

Expand Down
6 changes: 3 additions & 3 deletions src/FilterMatrixType.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { MatrixCenterZMeanFilter } from './matrixFilters/centerZMean';
import { PQNFilter } from './matrixFilters/pqn';
import { MatrixZRescaleFilter } from './matrixFilters/zRescale';
import type { MatrixCenterZMeanFilter } from './matrixFilters/centerZMean.ts';
import type { PQNFilter } from './matrixFilters/pqn.ts';
import type { MatrixZRescaleFilter } from './matrixFilters/zRescale.ts';

export type FilterMatrixType =
| MatrixCenterZMeanFilter
Expand Down
6 changes: 3 additions & 3 deletions src/FilterXYType.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {
import type {
AirPLSBaselineFilter,
CenterMeanFilter,
CenterMedianFilter,
Expand All @@ -21,8 +21,8 @@ import {
YFunctionFilter,
CalibrateFilter,
ParetoNormalizationFilter,
} from './filters/filters';
import { ReverseIfNeededFilter } from './filters/x/reverseIfNeeded';
} from './filters/filters.ts';
import type { ReverseIfNeededFilter } from './filters/x/reverseIfNeeded.ts';

export type FilterXYType =
| AirPLSBaselineFilter
Expand Down
File renamed without changes.
4 changes: 2 additions & 2 deletions src/__tests__/filterMatrix.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { test, expect } from 'vitest';

import { filterMatrix } from '..';
import { FilterMatrixType } from '../FilterMatrixType';
import type { FilterMatrixType } from '../FilterMatrixType.ts';
import { filterMatrix } from '../index.ts';

test('filterMatrix', () => {
const filters: FilterMatrixType[] = [
Expand Down
6 changes: 3 additions & 3 deletions src/__tests__/filterXY.test.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { describe, it, expect } from 'vitest';

import { filterXY } from '..';
import { FilterXYType } from '../FilterXYType';
import linear from '../filters/__tests__/data/linear';
import type { FilterXYType } from '../FilterXYType.ts';
import linear from '../filters/__tests__/data/linear.ts';
import { filterXY } from '../index.ts';

describe('filterXY', () => {
it('filters', () => {
Expand Down
6 changes: 3 additions & 3 deletions src/filterMatrix.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { DoubleMatrix } from 'ml-spectra-processing';
import type { DoubleMatrix } from 'ml-spectra-processing';

import { FilterMatrixType } from './FilterMatrixType';
//import * as Filters from './matrixFilters/matrixFilters';
import type { FilterMatrixType } from './FilterMatrixType.ts';

// eslint-disable-next-line jsdoc/require-jsdoc
export function filterMatrix(
matrix: DoubleMatrix,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
Expand All @@ -12,7 +12,7 @@
data: matrix,
};

const logs: any = [];

Check warning on line 15 in src/filterMatrix.ts

View workflow job for this annotation

GitHub Actions / nodejs / lint-eslint

Unexpected any. Specify a different type

/**
* todo
Expand Down
6 changes: 3 additions & 3 deletions src/filterXY.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { DataXY } from 'cheminfo-types';
import type { DataXY } from 'cheminfo-types';
import { xEnsureFloat64, xyGrowingX } from 'ml-spectra-processing';

import { FilterXYType } from './FilterXYType';
import * as Filters from './filters/filters';
import type { FilterXYType } from './FilterXYType.ts';
import * as Filters from './filters/filters.ts';

/**
* Apply filters on {x:[], y:[]}
* @param data

Check warning on line 9 in src/filterXY.ts

View workflow job for this annotation

GitHub Actions / nodejs / lint-eslint

Missing JSDoc @param "data" description
* @param filters

Check warning on line 10 in src/filterXY.ts

View workflow job for this annotation

GitHub Actions / nodejs / lint-eslint

Missing JSDoc @param "filters" description
* @returns A very important number
*/
export function filterXY(data: DataXY, filters: FilterXYType[]) {
Expand Down
7 changes: 2 additions & 5 deletions src/filters/baseline/__tests__/airPLSBaseline.test.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
import { toBeDeepCloseTo, toMatchCloseTo } from 'jest-matcher-deep-close-to';
import { test, expect } from 'vitest';

import baseline from '../../__tests__/data/baseline';
import { airPLSBaseline } from '../airPLSBaseline';

expect.extend({ toBeDeepCloseTo, toMatchCloseTo });
import baseline from '../../__tests__/data/baseline.ts';
import { airPLSBaseline } from '../airPLSBaseline.ts';

test('airPLSBaseline', () => {
const result = airPLSBaseline(baseline);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
import { toBeDeepCloseTo, toMatchCloseTo } from 'jest-matcher-deep-close-to';
import { test, expect } from 'vitest';

import baseline from '../../__tests__/data/baseline';
import { iterativePolynomialBaseline } from '../iterativePolynomialBaseline';

expect.extend({ toBeDeepCloseTo, toMatchCloseTo });
import baseline from '../../__tests__/data/baseline.ts';
import { iterativePolynomialBaseline } from '../iterativePolynomialBaseline.ts';

test('iterativePolynomialBaseline', () => {
const result = iterativePolynomialBaseline(baseline);
Expand Down
7 changes: 2 additions & 5 deletions src/filters/baseline/__tests__/rollingAverageBaseline.test.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
import { toBeDeepCloseTo, toMatchCloseTo } from 'jest-matcher-deep-close-to';
import { test, expect } from 'vitest';

import baseline from '../../__tests__/data/baseline';
import { rollingAverageBaseline } from '../rollingAverageBaseline';

expect.extend({ toBeDeepCloseTo, toMatchCloseTo });
import baseline from '../../__tests__/data/baseline.ts';
import { rollingAverageBaseline } from '../rollingAverageBaseline.ts';

test('rollingAverageBaseline', () => {
const result = rollingAverageBaseline(baseline);
Expand Down
7 changes: 2 additions & 5 deletions src/filters/baseline/__tests__/rollingBallBaseline.test.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
import { toBeDeepCloseTo, toMatchCloseTo } from 'jest-matcher-deep-close-to';
import { test, expect } from 'vitest';

import baseline from '../../__tests__/data/baseline';
import { rollingBallBaseline } from '../rollingBallBaseline';

expect.extend({ toBeDeepCloseTo, toMatchCloseTo });
import baseline from '../../__tests__/data/baseline.ts';
import { rollingBallBaseline } from '../rollingBallBaseline.ts';

test('rollingBallBaseline', () => {
const result = rollingBallBaseline(baseline);
Expand Down
7 changes: 2 additions & 5 deletions src/filters/baseline/__tests__/rollingMedianBaseline.test.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
import { toBeDeepCloseTo, toMatchCloseTo } from 'jest-matcher-deep-close-to';
import { test, expect } from 'vitest';

import baseline from '../../__tests__/data/baseline';
import { rollingMedianBaseline } from '../rollingMedianBaseline';

expect.extend({ toBeDeepCloseTo, toMatchCloseTo });
import baseline from '../../__tests__/data/baseline.ts';
import { rollingMedianBaseline } from '../rollingMedianBaseline.ts';

test('rollingMedianBaseline', () => {
const result = rollingMedianBaseline(baseline);
Expand Down
2 changes: 1 addition & 1 deletion src/filters/baseline/airPLSBaseline.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
//@ts-expect-error no type definition for baselines
import { airPLSBaseline as baselineFct } from 'baselines';
import { DataXY } from 'cheminfo-types';
import type { DataXY } from 'cheminfo-types';

export interface AirPLSBaselineFilter {
name: 'airPLSBaseline';
}

/**

Check warning on line 9 in src/filters/baseline/airPLSBaseline.ts

View workflow job for this annotation

GitHub Actions / nodejs / lint-eslint

Missing JSDoc @returns declaration

Check warning on line 9 in src/filters/baseline/airPLSBaseline.ts

View workflow job for this annotation

GitHub Actions / nodejs / lint-eslint

Missing JSDoc block description
* @param data

Check warning on line 10 in src/filters/baseline/airPLSBaseline.ts

View workflow job for this annotation

GitHub Actions / nodejs / lint-eslint

Missing JSDoc @param "data" description
*/
export function airPLSBaseline(data: DataXY<Float64Array>) {
data.y = baselineFct(data.y).correctedSpectrum;
Expand Down
2 changes: 1 addition & 1 deletion src/filters/baseline/iterativePolynomialBaseline.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
//@ts-expect-error no type definition for baselines
import { iterativePolynomialBaseline as baselineFct } from 'baselines';
import { DataXY } from 'cheminfo-types';
import type { DataXY } from 'cheminfo-types';

export interface IterativePolynomialBaselineFilter {
name: 'iterativePolynomialBaseline';
}

/**

Check warning on line 9 in src/filters/baseline/iterativePolynomialBaseline.ts

View workflow job for this annotation

GitHub Actions / nodejs / lint-eslint

Missing JSDoc @returns declaration

Check warning on line 9 in src/filters/baseline/iterativePolynomialBaseline.ts

View workflow job for this annotation

GitHub Actions / nodejs / lint-eslint

Missing JSDoc block description
* @param data

Check warning on line 10 in src/filters/baseline/iterativePolynomialBaseline.ts

View workflow job for this annotation

GitHub Actions / nodejs / lint-eslint

Missing JSDoc @param "data" description
*/
export function iterativePolynomialBaseline(data: DataXY<Float64Array>) {
data.y = baselineFct(data.y).correctedSpectrum;
Expand Down
2 changes: 1 addition & 1 deletion src/filters/baseline/rollingAverageBaseline.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
//@ts-expect-error no type definition for baselines
import { rollingAverageBaseline as baselineFct } from 'baselines';
import { DataXY } from 'cheminfo-types';
import type { DataXY } from 'cheminfo-types';

export interface RollingAverageBaselineFilter {
name: 'rollingAverageBaseline';
}

/**

Check warning on line 9 in src/filters/baseline/rollingAverageBaseline.ts

View workflow job for this annotation

GitHub Actions / nodejs / lint-eslint

Missing JSDoc block description
* @param data
*/
export function rollingAverageBaseline(data: DataXY<Float64Array>) {
Expand Down
2 changes: 1 addition & 1 deletion src/filters/baseline/rollingBallBaseline.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//@ts-expect-error no type definition for baselines
import { rollingBallBaseline as baselineFct } from 'baselines';
import { DataXY } from 'cheminfo-types';
import type { DataXY } from 'cheminfo-types';

export interface RollingBallBaselineFilter {
name: 'rollingBallBaseline';
Expand Down
2 changes: 1 addition & 1 deletion src/filters/baseline/rollingMedianBaseline.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//@ts-expect-error no type definition for baselines
import { rollingMedianBaseline as baselineFct } from 'baselines';
import { DataXY } from 'cheminfo-types';
import type { DataXY } from 'cheminfo-types';

export interface RollingMedianBaselineFilter {
name: 'rollingMedianBaseline';
Expand Down
54 changes: 27 additions & 27 deletions src/filters/filters.ts
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
export * from './scaling/centerMean';
export * from './scaling/centerMedian';
export * from './x/fromTo';
export * from './scaling/normed';
export * from './scaling/divideBySD';
export * from './scaling/rescale';
export * from './scaling/paretoNormalization';
export * from './scaling/centerMean.ts';
export * from './scaling/centerMedian.ts';
export * from './x/fromTo.ts';
export * from './scaling/normed.ts';
export * from './scaling/divideBySD.ts';
export * from './scaling/rescale.ts';
export * from './scaling/paretoNormalization.ts';

export * from './baseline/airPLSBaseline';
export * from './baseline/iterativePolynomialBaseline';
export * from './baseline/rollingAverageBaseline';
export * from './baseline/rollingBallBaseline';
export * from './baseline/rollingMedianBaseline';
export * from './baseline/airPLSBaseline.ts';
export * from './baseline/iterativePolynomialBaseline.ts';
export * from './baseline/rollingAverageBaseline.ts';
export * from './baseline/rollingBallBaseline.ts';
export * from './baseline/rollingMedianBaseline.ts';

export * from './sg/firstDerivative';
export * from './sg/secondDerivative';
export * from './sg/thirdDerivative';
export * from './sg/savitzkyGolay';
export * from './sg/firstDerivative.ts';
export * from './sg/secondDerivative.ts';
export * from './sg/thirdDerivative.ts';
export * from './sg/savitzkyGolay.ts';

export * from './x/ensureGrowing';
export * from './x/reverseIfNeeded';
export * from './x/equallySpaced';
export * from './x/filterX';
export * from './x/setMaxX';
export * from './x/setMinX';
export * from './x/calibrateX';
export * from './x/xFunction';
export * from './x/ensureGrowing.ts';
export * from './x/reverseIfNeeded.ts';
export * from './x/equallySpaced.ts';
export * from './x/filterX.ts';
export * from './x/setMaxX.ts';
export * from './x/setMinX.ts';
export * from './x/calibrateX.ts';
export * from './x/xFunction.ts';

export * from './scaling/yFunction';
export * from './y/setMaxY';
export * from './y/setMinY';
export * from './scaling/yFunction.ts';
export * from './y/setMaxY.ts';
export * from './y/setMinY.ts';
Loading