Skip to content
This repository was archived by the owner on Jul 10, 2025. It is now read-only.

feat(js-client)!: Adding strictes eslint and ts config to all packages [fixes DXJ-464] #355

Merged
merged 49 commits into from
Oct 17, 2023
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
baac1be
introduce eslint
akim-bow Oct 2, 2023
c6abda1
Fix all eslint errors
akim-bow Oct 6, 2023
3bcc732
Eslint fix and some touches
akim-bow Oct 6, 2023
572152e
Fix tests
akim-bow Oct 6, 2023
e421552
Fix misc errors
akim-bow Oct 7, 2023
1d185a7
change semver
akim-bow Oct 9, 2023
773b652
change semver #2
akim-bow Oct 9, 2023
bde42e5
Fix path
akim-bow Oct 9, 2023
3c795c8
Fix path #2
akim-bow Oct 9, 2023
1f49947
freeze lock file in CI
akim-bow Oct 9, 2023
ebf2191
fix package install
akim-bow Oct 9, 2023
3df618b
Fix formatting of surrounding files
akim-bow Oct 9, 2023
9163f3a
Add empty prettier config
akim-bow Oct 9, 2023
b0c9b5d
Fix formatting
akim-bow Oct 9, 2023
ebd9970
Fix build errors
akim-bow Oct 9, 2023
5026ea5
Remove unused deps
akim-bow Oct 10, 2023
c94cf87
remove changelog from formatting
akim-bow Oct 10, 2023
dd4ef4e
deps cleanup
akim-bow Oct 10, 2023
fc33ce3
make resource importers async
akim-bow Oct 10, 2023
2abed24
Refactor
akim-bow Oct 10, 2023
4ae649f
Fix error message
akim-bow Oct 10, 2023
8d51ab1
remove comment
akim-bow Oct 10, 2023
7ff7199
more refactoring
akim-bow Oct 10, 2023
ad52a1d
Update packages/core/js-client/src/compilerSupport/registerService.ts
akim-bow Oct 10, 2023
20c9597
refactoring
akim-bow Oct 10, 2023
2fd23f0
refactoring fix
akim-bow Oct 10, 2023
867d559
Merge remote-tracking branch 'origin/dxj-464' into dxj-464
akim-bow Oct 10, 2023
12c790e
optimize import
akim-bow Oct 11, 2023
b1a79b1
Update packages/@tests/smoke/node/src/index.ts
akim-bow Oct 11, 2023
f97397e
Revert package
akim-bow Oct 11, 2023
fcb9168
Merge remote-tracking branch 'origin/dxj-464' into dxj-464
akim-bow Oct 11, 2023
c928041
Merge branch 'master' into dxj-464
akim-bow Oct 11, 2023
b047938
Fix pnpm lock
akim-bow Oct 11, 2023
138c555
Lint-fix
akim-bow Oct 11, 2023
49d9898
Fix CI
akim-bow Oct 11, 2023
51229f3
Update tests
akim-bow Oct 12, 2023
72ad2df
Fix build
akim-bow Oct 12, 2023
7ea5809
Fix import
akim-bow Oct 12, 2023
91a9859
Use forked threads dep
akim-bow Oct 12, 2023
f0a449a
Use fixed version
akim-bow Oct 13, 2023
887123e
Merge branch 'master' into dxj-464
akim-bow Oct 13, 2023
b74c54b
Update threads
akim-bow Oct 16, 2023
2e1302a
Fix lint
akim-bow Oct 16, 2023
2157bcc
Fix test
akim-bow Oct 16, 2023
4971790
Fix test
akim-bow Oct 16, 2023
0b888f2
Add polyfill for assert
akim-bow Oct 16, 2023
381d20c
Add subpath import
akim-bow Oct 16, 2023
61a6632
Fix tests
akim-bow Oct 16, 2023
83af1f4
Fix deps
akim-bow Oct 16, 2023
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
162 changes: 162 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
{
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2022,
"project": [
"./tsconfig.eslint.json"
],
"sourceType": "module"
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking",
"plugin:import/recommended",
"plugin:import/typescript",
"prettier"
],
"plugins": [
"@typescript-eslint",
"import",
"license-header",
"unused-imports"
],
"ignorePatterns": [
"**/node_modules/**/*",
"**/dist/**/*"
],
"rules": {
"eqeqeq": [
"error",
"always",
{
"null": "ignore"
}
],
"no-console": [
"error"
],
"arrow-body-style": [
"error",
"always"
],
"no-empty": [
"error",
{
"allowEmptyCatch": true
}
],
"curly": [
"error",
"all"
],
"no-unused-expressions": [
"error"
],
"dot-notation": [
"off"
],
"object-curly-spacing": [
"error",
"always"
],
"padding-line-between-statements": [
"error",
{
"blankLine": "always",
"prev": "multiline-expression",
"next": "*"
},
{
"blankLine": "always",
"prev": "*",
"next": "multiline-expression"
},
{
"blankLine": "always",
"prev": "multiline-block-like",
"next": "*"
},
{
"blankLine": "always",
"prev": "*",
"next": "multiline-block-like"
},
{
"blankLine": "always",
"prev": "multiline-const",
"next": "*"
},
{
"blankLine": "always",
"prev": "*",
"next": "multiline-const"
},
{
"blankLine": "always",
"prev": "multiline-let",
"next": "*"
},
{
"blankLine": "always",
"prev": "*",
"next": "multiline-let"
},
{
"blankLine": "any",
"prev": "case",
"next": "case"
}
],
"import/extensions": [
"error",
"ignorePackages"
],
"import/no-unresolved": "off",
"import/no-cycle": [
"error"
],
"import/order": [
"error",
{
"newlines-between": "always",
"alphabetize": {
"order": "asc",
"caseInsensitive": true
}
}
],
"node/no-unsupported-features/es-syntax": "off",
"node/no-unpublished-import": "off",
"node/no-missing-import": "off",
"@typescript-eslint/explicit-member-accessibility": [
"error",
{
"accessibility": "no-public"
}
],
"@typescript-eslint/strict-boolean-expressions": [
"error",
{
"allowString": false,
"allowNumber": false,
"allowNullableObject": false,
"allowNullableBoolean": false,
"allowNullableString": false,
"allowNullableNumber": false,
"allowAny": false
}
],
"@typescript-eslint/consistent-type-assertions": [
"error",
{
"assertionStyle": "never"
}
],
"unused-imports/no-unused-imports": "error",
"license-header/header": [
"error",
"./resources/license-header.js"
]
}
}
3 changes: 2 additions & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,9 @@ jobs:
"@fluencelabs/marine-js": "${{ inputs.marine-js-version }}"
}

- run: pnpm -r --no-frozen-lockfile i
- run: pnpm -r i
- run: pnpm -r build
- run: pnpm lint-check
- run: pnpm -r test

- name: Dump rust-peer logs
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
*.log
.idea
.eslintcache

# Dependency directories
node_modules/
Expand Down
8 changes: 0 additions & 8 deletions .prettierrc.cjs

This file was deleted.

24 changes: 20 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,31 @@
"node": ">=10",
"pnpm": ">=3"
},
"scripts": {
"lint-check": "pnpm run prettier --check && pnpm run eslint",
"lint-fix": "pnpm run prettier --write && pnpm run eslint --fix",
"prettier": "prettier \"**/src/**/*.{js,ts}\"",
"eslint": "eslint --cache \"**/src/**/*.{js,ts}\""
},
"author": "Fluence Labs",
"license": "Apache-2.0",
"devDependencies": {
"@fluencelabs/aqua": "0.9.1-374",
"@fluencelabs/aqua-lib": "0.6.0",
"@total-typescript/ts-reset": "0.5.1",
"@tsconfig/strictest": "2.0.2",
"@types/node": "18.13.0",
"@typescript-eslint/eslint-plugin": "6.7.3",
"@typescript-eslint/parser": "6.7.3",
"eslint": "8.50.0",
"eslint-config-prettier": "9.0.0",
"eslint-plugin-import": "2.28.1",
"eslint-plugin-license-header": "0.6.0",
"eslint-plugin-unused-imports": "3.0.0",
"http-server": "14.1.1",
"prettier": "3.0.3",
"puppeteer": "19.7.2",
"@types/node": "18.13.0",
"ts-node": "10.9.1",
"typescript": "4.7",
"@fluencelabs/aqua-lib": "0.6.0",
"@fluencelabs/aqua": "0.9.1-374"
"typescript": "5.1.6"
}
}
8 changes: 8 additions & 0 deletions packages/@tests/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"ignorePatterns": [
"**/*.css"
],
"rules": {
"no-console": "off"
}
}
3 changes: 3 additions & 0 deletions packages/@tests/aqua/_aqua/smoke_test.aqua
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,6 @@ func marineTest(wasm64: string) -> f64:
<- res


func callHappy(a: string, b: f64, c: f64, d: string -> f64) -> f64:
res <- d("abc")
<- res
4 changes: 2 additions & 2 deletions packages/@tests/aqua/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@
"author": "Fluence Labs",
"license": "Apache-2.0",
"dependencies": {
"@fluencelabs/js-client": "workspace:^",
"base64-js": "1.5.1"
},
"devDependencies": {
"@fluencelabs/aqua-lib": "0.6.0",
"@fluencelabs/cli": "0.7.2",
"@fluencelabs/js-client": "workspace:^",
"@fluencelabs/registry": "0.8.2",
"@fluencelabs/aqua-lib": "0.6.0",
"@fluencelabs/trust-graph": "3.1.2"
}
}
68 changes: 31 additions & 37 deletions packages/@tests/aqua/src/_aqua/finalize_particle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,14 @@
* Aqua version: 0.12.0
*
*/
import type { IFluenceClient as IFluenceClient$$, CallParams as CallParams$$ } from '@fluencelabs/js-client';
import type {
IFluenceClient as IFluenceClient$$,
CallParams as CallParams$$,
} from "@fluencelabs/js-client";
import {
v5_callFunction as callFunction$$,
v5_registerService as registerService$$,
} from '@fluencelabs/js-client';


} from "@fluencelabs/js-client";

// Services

Expand All @@ -30,49 +31,42 @@ export const test_script = `
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 0])
)
)
`

`;

export function test(
config?: {ttl?: number}
): Promise<void>;
export function test(config?: { ttl?: number }): Promise<void>;

export function test(
peer: IFluenceClient$$,
config?: {ttl?: number}
config?: { ttl?: number },
): Promise<void>;

export function test(...args: any) {


return callFunction$$(
args,
{
"functionName" : "test",
"arrow" : {
"tag" : "arrow",
"domain" : {
"tag" : "labeledProduct",
"fields" : {

}
functionName: "test",
arrow: {
tag: "arrow",
domain: {
tag: "labeledProduct",
fields: {},
},
codomain: {
tag: "nil",
},
},
names: {
relay: "-relay-",
getDataSrv: "getDataSrv",
callbackSrv: "callbackSrv",
responseSrv: "callbackSrv",
responseFnName: "response",
errorHandlingSrv: "errorHandlingSrv",
errorFnName: "error",
},
},
"codomain" : {
"tag" : "nil"
}
},
"names" : {
"relay" : "-relay-",
"getDataSrv" : "getDataSrv",
"callbackSrv" : "callbackSrv",
"responseSrv" : "callbackSrv",
"responseFnName" : "response",
"errorHandlingSrv" : "errorHandlingSrv",
"errorFnName" : "error"
}
},
test_script
)
test_script,
);
}

/* eslint-enable */
/* eslint-enable */
Loading