mirror of
https://github.com/pyscript/pyscript.git
synced 2025-12-19 18:27:29 -05:00
This PR adds support for optionally running pyodide in a web worker: - add a new option config.execution_thread, which can be `main` or `worker`. The default is `main` - improve the test machinery so that we run all tests twice, once for `main` and once for `worker` - add a new esbuild target which builds the code for the worker The support for workers is not complete and many features are still missing: there are 71 tests which are marked as `@skip_worker`, but we can fix them in subsequent PRs. The vast majority of tests fail because js.document is unavailable: for it to run transparently, we need the "auto-syncify" feature of synclink. Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com> Co-authored-by: Madhur Tandon <20173739+madhur-tandon@users.noreply.github.com>
41 lines
1.5 KiB
JavaScript
41 lines
1.5 KiB
JavaScript
module.exports = {
|
|
parser: '@typescript-eslint/parser',
|
|
extends: [
|
|
'eslint:recommended',
|
|
'plugin:@typescript-eslint/recommended',
|
|
'plugin:@typescript-eslint/recommended-requiring-type-checking',
|
|
],
|
|
parserOptions: {
|
|
ecmaVersion: 2020,
|
|
sourceType: 'module',
|
|
tsconfigRootDir: __dirname,
|
|
project: ['./tsconfig.json'],
|
|
},
|
|
env: {
|
|
es6: true,
|
|
browser: true,
|
|
},
|
|
plugins: ['@typescript-eslint'],
|
|
ignorePatterns: ['node_modules', 'src/interpreter_worker/*'],
|
|
rules: {
|
|
// ts-ignore is already an explicit override, no need to have a second lint
|
|
'@typescript-eslint/ban-ts-comment': 'off',
|
|
|
|
// any related lints
|
|
'@typescript-eslint/no-explicit-any': 'off',
|
|
'@typescript-eslint/no-unsafe-assignment': 'off',
|
|
'@typescript-eslint/no-unsafe-call': 'off',
|
|
'@typescript-eslint/no-unsafe-member-access': 'off',
|
|
'@typescript-eslint/no-unsafe-argument': 'off',
|
|
'@typescript-eslint/no-unsafe-return': 'off',
|
|
|
|
// other rules
|
|
'no-prototype-builtins': 'error',
|
|
'@typescript-eslint/no-unused-vars': ['error', { args: 'none' }],
|
|
'@typescript-eslint/no-floating-promises': 'error',
|
|
'@typescript-eslint/restrict-plus-operands': 'error',
|
|
'@typescript-eslint/no-empty-function': 'error',
|
|
'@typescript-eslint/restrict-template-expressions': ['error', { allowBoolean: true }],
|
|
},
|
|
};
|