diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..29f47c7 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,22 @@ +{ + "env": { + "node": true, + "es2021": true, + "mocha": 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..db25d4e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,44 @@ +# Dependency directories node_modules/ -docs/ -npm-debug.log + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Temporary files +.tmp +.temp + +# IDE settings +.vscode/ +.idea/ + +# Environment files +.env +.env.local +.env.development.local +.env.test.local +.env.production.local + +# Mac files +.DS_Store +.AppleDouble +.LSOverride + +# Coverage directory used by tools like istanbul +coverage/ \ No newline at end of file diff --git a/package.json b/package.json index 5aa2568..e5d5a2c 100644 --- a/package.json +++ b/package.json @@ -20,23 +20,26 @@ "email": "chipka01@email.franklin.edu" }, "dependencies": { - "libxmljs-dom": "~0.0.17", - "needle": "^1.6.0" + "libxmljs-dom": "^0.18.4", + "needle": "^3.2.0" }, "devDependencies": { - "jscs": ">=3.0.2", - "nodeunit": "0.11.3" + "@types/node": "^18.16.0", + "eslint": "^8.45.0", + "nodeunit": "^0.11.3" }, "scripts": { - "test": "node ./node_modules/.bin/nodeunit test" + "test": "node ./node_modules/.bin/nodeunit test", + "lint": "eslint .", + "lint:fix": "eslint . --fix" }, "license": "MIT", - "main": "index", + "main": "index.js", "engines": { - "node": ">= 0.8.0" + "node": ">=14.0.0" }, "readmeFilename": "Readme.md", "bugs": { "url": "https://github.com/rchipka/node-osmosis/issues" } -} +} \ No newline at end of file diff --git a/run-tests.js b/run-tests.js new file mode 100644 index 0000000..fce1e22 --- /dev/null +++ b/run-tests.js @@ -0,0 +1,17 @@ +const nodeunit = require('nodeunit'); +const fs = require('fs'); +const path = require('path'); + +const testFiles = fs.readdirSync('test') + .filter(file => file.endsWith('.js') && file !== 'server/index.js') + .map(file => path.join('test', file)); + +nodeunit.reporters.default.run(testFiles, null, (err) => { + if (err) { + console.error('Tests failed:', err); + process.exit(1); + } else { + console.log('All tests passed successfully'); + process.exit(0); + } +}); \ No newline at end of file