Skip to content

Commit

Permalink
Upgraded eslint and build
Browse files Browse the repository at this point in the history
  • Loading branch information
evg4b committed Oct 26, 2024
1 parent e27371e commit fd6c3db
Show file tree
Hide file tree
Showing 13 changed files with 586 additions and 706 deletions.
24 changes: 21 additions & 3 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,32 @@ export default tseslint.config(
ignores: [
'**/node_modules/',
'.git/',
'.yarn/',
'dist/',
'jest.config.js',
'media_data/',
'tsup.config.js',
'packages/wasm_exec.js'
'packages/wasm_exec.js',
'eslint.config.mjs'
],
},
eslint.configs.recommended,
...tseslint.configs.strict,
...tseslint.configs.stylistic,
...tseslint.configs.strictTypeChecked,
...tseslint.configs.stylisticTypeChecked,
{
rules: {
'@typescript-eslint/no-confusing-void-expression': 'off',
'@typescript-eslint/restrict-template-expressions': ['error', {
allowNumber: true,
}]
}
},
{
languageOptions: {
parserOptions: {
projectService: true,
tsconfigRootDir: import.meta.dirname,
},
},
},
);
22 changes: 11 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,29 +24,29 @@
"test": "jest"
},
"devDependencies": {
"@eslint/js": "^9.10.0",
"@eslint/js": "^9.13.0",
"@jest/globals": "^29.7.0",
"@types/chrome": "^0.0.271",
"@types/chrome": "^0.0.279",
"@types/golang-wasm-exec": "^1.15.2",
"@types/jest": "^29.5.13",
"@types/node": "^20.16.5",
"@types/jest": "^29.5.14",
"@types/node": "^20.17.1",
"@types/text-encoding": "^0.0.39",
"esbuild": "^0.23.1",
"esbuild": "^0.24.0",
"esbuild-plugin-copy": "^2.1.1",
"esbuild-plugin-json-merge": "^0.1.0",
"esbuild-sass-plugin": "^3.3.1",
"eslint": "^9.10.0",
"globals": "^15.9.0",
"eslint": "^9.13.0",
"globals": "^15.11.0",
"jest": "^29.7.0",
"jest-environment-jsdom": "^29.7.0",
"jest-transform-stub": "^2.0.0",
"sass-embedded": "^1.78.0",
"sass-embedded": "^1.80.4",
"text-encoding": "^0.7.0",
"ts-jest": "^29.2.5",
"tsup": "^8.2.4",
"tsup": "^8.3.5",
"typed-assert": "^1.0.9",
"typescript": "^5.6.2",
"typescript-eslint": "^8.5.0"
"typescript": "^5.6.3",
"typescript-eslint": "^8.11.0"
},
"workspaces": [
"tokenizer/**/*"
Expand Down
4 changes: 4 additions & 0 deletions packages/chrome/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// eslint-disable-next-line @typescript-eslint/no-deprecated
const { getURL } = chrome.runtime;

export { getURL };
1 change: 1 addition & 0 deletions packages/jq/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@ export const jq = async (data: string, query: string): Promise<TokenizerResponse
await importWasm(go, 'jq.wasm');
}

// eslint-disable-next-line @typescript-eslint/no-unsafe-return
return window.___jq(data, query);
};
5 changes: 3 additions & 2 deletions packages/shared/import-wasm.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import { getURL } from '@packages/chrome';
import { loadWasm } from './wasm_helpers';

export const importWasm = async (go: Go, wasmFile: string) => {
const webAssemblyInstance = await loadWasm(chrome.runtime.getURL(wasmFile), go.importObject);
const webAssemblyInstance = await loadWasm(getURL(wasmFile), go.importObject);

void go.run(webAssemblyInstance.instance)
.then(() => console.log(`Wasm module ${ wasmFile } loaded successfully`))
.catch(console.error)
.catch((error: unknown) => console.error(error))
.finally(() => console.log('Wasm module loaded'));
};

10 changes: 5 additions & 5 deletions src/dom/build-dom.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -171,17 +171,17 @@ describe('buildDom', () => {
const result = buildDom(parsedJson);

const invisibleElements = [
...result.querySelectorAll('.toggle') ?? [],
...result.querySelectorAll('.ellipsis') ?? [],
...result.querySelectorAll('.properties-count') ?? [],
...result.querySelectorAll('.items-count') ?? [],
...result.querySelectorAll('.toggle'),
...result.querySelectorAll('.ellipsis'),
...result.querySelectorAll('.properties-count'),
...result.querySelectorAll('.items-count'),
];

invisibleElements.forEach((element) => element.remove());

const text = result.textContent;
assert(!!text, 'No text content found');
const parsed = JSON.parse(text);
const parsed = JSON.parse(text) as unknown;

expect(parsed).toEqual(expected);
});
Expand Down
2 changes: 1 addition & 1 deletion src/dom/build-error-node.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ describe('error-node', () => {
Object.assign(global, {
chrome: {
runtime: {
getURL: jest.fn((a) => a),
getURL: jest.fn((a: string) => a),
},
},
});
Expand Down
3 changes: 2 additions & 1 deletion src/dom/build-error-node.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import { getURL } from '@packages/chrome';
import { element } from './helpres';

export const buildErrorNode = (header: string, ...lines: string[]) => {
const wrapper = document.createElement('div');
wrapper.className = 'error';
const image = document.createElement('img');
image.src = chrome.runtime.getURL('invalid.svg');
image.src = getURL('invalid.svg');
image.alt = 'Error';
const message = document.createElement('div');
message.className = 'message';
Expand Down
25 changes: 12 additions & 13 deletions src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,24 +46,23 @@ export const runExtension = async () => {
queryInput.style.display = 'none';
});

queryButton.addEventListener('click', async () => {
queryButton.addEventListener('click', () => {
rootContainer.classList.remove('raw', 'formatted');
rootContainer.classList.add('query');
queryInput.style.display = 'inline-block';
});

queryInput.addEventListener('keydown', async (event) => {
if (event.key !== 'Enter') {
return;
}

const { jq } = await import('@packages/jq');
// eslint-disable-next-line @typescript-eslint/no-misused-promises
queryInput.addEventListener('keydown', async event => {
if (event.key === 'Enter') {
const { jq } = await import('@packages/jq');

const info = await jq(data.innerText, queryInput.value);
queryContainer.innerHTML = '';
queryContainer.appendChild(
prepareResponse(info),
);
const info = await jq(data.innerText, queryInput.value);
queryContainer.innerHTML = '';
queryContainer.appendChild(
prepareResponse(info),
);
}
});

formatContainer.appendChild(
Expand All @@ -77,7 +76,7 @@ const prepareResponse = (response: TokenizerResponse): HTMLElement => {
: buildDom(response);
};

const extractLines = (response: ErrorNode) => response.error ?? 'Please check the file and try again.';
const extractLines = (response: ErrorNode) => response.error;

const extractHeader = (response: ErrorNode): string => response.scope === 'tokenizer'
? 'Invalid JSON file.'
Expand Down
1 change: 1 addition & 0 deletions src/helpres.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ export const throws = (value?: string): never => {
throw new Error(value ?? 'Unexpected value');
};

// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-parameters
export const query = <T extends HTMLElement = HTMLElement, D extends HTMLElement = HTMLElement>(
value: D,
selector: string,
Expand Down
2 changes: 1 addition & 1 deletion src/main.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import '../packages/wasm_exec.js';
import { runExtension } from './extension';

runExtension().catch((error) => console.error('Error running extension:', error))
runExtension().catch((error: unknown) => console.error('Error running extension:', error));
2 changes: 1 addition & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"strict": true,
"skipLibCheck": true,
"sourceRoot": ".",
"strictNullChecks": false,
"strictNullChecks": true,
"paths": {
"@packages/*": ["packages/*"]
}
Expand Down
Loading

0 comments on commit fd6c3db

Please sign in to comment.