diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..d34b6c2 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,20 @@ +{ + "env": { + "node": true, + "es2021": true, + "jest": true + }, + "extends": "eslint:recommended", + "parserOptions": { + "ecmaVersion": 2021, + "sourceType": "module" + }, + "rules": { + "indent": ["error", 2], + "linebreak-style": ["error", "unix"], + "quotes": ["error", "single"], + "semi": ["error", "always"], + "no-console": "warn", + "no-unused-vars": "warn" + } +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 74ca64e..be3dcc1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,10 @@ node_modules/ -docs/ -npm-debug.log +*.log +.env +.DS_Store +coverage/ +dist/ +build/ +*.local +.vscode/ +.idea/ \ No newline at end of file diff --git a/package.json b/package.json index 5aa2568..bec0ae4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "osmosis", - "version": "1.1.10", + "version": "1.1.11", "description": "Web scraper for NodeJS", "keywords": [ "web", @@ -21,22 +21,30 @@ }, "dependencies": { "libxmljs-dom": "~0.0.17", - "needle": "^1.6.0" + "needle": "^3.2.0" }, "devDependencies": { - "jscs": ">=3.0.2", - "nodeunit": "0.11.3" + "@types/node": "^18.15.11", + "eslint": "^8.38.0", + "jest": "^29.5.0", + "typescript": "^5.0.4" }, "scripts": { - "test": "node ./node_modules/.bin/nodeunit test" + "test": "jest test", + "lint": "eslint .", + "prepare": "npm run lint && npm test" }, "license": "MIT", "main": "index", "engines": { - "node": ">= 0.8.0" + "node": ">= 14.0.0" }, "readmeFilename": "Readme.md", "bugs": { "url": "https://github.com/rchipka/node-osmosis/issues" + }, + "jest": { + "testEnvironment": "node", + "verbose": true } -} +} \ No newline at end of file diff --git a/test/jest.config.js b/test/jest.config.js new file mode 100644 index 0000000..22d70f9 --- /dev/null +++ b/test/jest.config.js @@ -0,0 +1,8 @@ +module.exports = { + testEnvironment: 'node', + verbose: true, + collectCoverage: true, + coverageReporters: ['text', 'lcov'], + coverageDirectory: 'coverage', + testMatch: ['**/__tests__/**/*.js', '**/?(*.)+(spec|test).js'] +}; \ No newline at end of file diff --git a/test/sample.test.js b/test/sample.test.js new file mode 100644 index 0000000..bc31a29 --- /dev/null +++ b/test/sample.test.js @@ -0,0 +1,5 @@ +describe('Project Configuration', () => { + test('Jest is configured correctly', () => { + expect(true).toBe(true); + }); +}); \ No newline at end of file