
Security News
Bun 1.2.19 Adds Isolated Installs for Better Monorepo Support
Bun 1.2.19 introduces isolated installs for smoother monorepo workflows, along with performance boosts, new tooling, and key compatibility fixes.
@shelf/jest-elasticsearch
Advanced tools
Jest preset for running tests with local ElasticSearch
$ yarn add @shelf/jest-elasticsearch --dev
jest.config.js
module.exports = {
preset: '@shelf/jest-elasticsearch'
};
If you have a custom jest.config.js
make sure you remove testEnvironment
property, otherwise it will conflict with the preset.
jest-es-config.js
module.exports = () => {
return {
esVersion: '8.4.0', // ! must be exact version. Ref: https://github.com/elastic/elasticsearch-js .
// don't be shy to fork our code and update deps to correct.
clusterName: 'your-cluster-name',
nodeName: 'your-node-name',
port: 9200,
indexes: [
{
name: 'your-index-name',
body: {
settings: {
number_of_shards: '1',
number_of_replicas: '1'
},
aliases: {
'your-alias': {}
},
mappings: {
dynamic: false,
properties: {
//here you should paste your mapping
//Example:
id: {
type: 'keyword'
}
}
}
}
}
]
};
};
it();
By default the jest-es-config.js
is read from cwd
directory, but this might not be suitable for
monorepos with nested jest projects
with nested jest.config.*
files nested in subdirectories.
If your jest-es-config.js
file is not located at {cwd}/jest-es-config.js
or you are using
nested jest projects
, you can define the environment variable JEST_ELASTICSEARCH_CONFIG
with
the absolute path of the respective jest-es-config.js
file.
JEST_ELASTICSEARCH_CONFIG
in nested project// src/nested/project/jest.config.js
const path = require('path');
// Define path of project level config - extension not required as file will be imported
// via `require(process.env.JEST_ELASTICSEARCH_CONFIG)`
process.env.JEST_ELASTICSEARCH_CONFIG = path.resolve(__dirname, './jest-es-config');
module.exports = {
preset: '@shelf/jest-elasticsearch'
displayName: 'nested-project',
};
Exception in thread "main'
java.lang.UnsupportedOperationException The Security Manager is deprecated and will be removed in a future release
at java.base/java.lang.System.setSecurityManager(System. java: 416)
at ora.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.iava:71
The main reason why this issue appears is that you have an incompatible java version installed to run elastic locally.
$ /usr/libexec/java_home -V
$ /usr/libexec/java_home -v 18
If you see no versions or do not have a compatible version installed - Install version 18 https://www.oracle.com/java/technologies/downloads/#java18
Reload the console and check the java version with
$ java -version
Output for proper work
$ java -version
java version "18.0.2.1"
Java(TM) SE Runtime Environment (build 18.0.2.1+1-1)
Java HotSpot(TM) 64-Bit Server VM (build 18.0.2.1+1-1, mixed mode, sharing)
Note: If you need to run elastic <=
v7.17.x
locally, then perform the steps above but for the java version 1.8.xxx
$ git checkout master
$ yarn version
$ yarn publish
$ git push origin master --tags
Releases
Draft a new release
Publish release
MIT © Shelf
FAQs
Run your tests using jest & elasticsearch-local
The npm package @shelf/jest-elasticsearch receives a total of 1,499 weekly downloads. As such, @shelf/jest-elasticsearch popularity was classified as popular.
We found that @shelf/jest-elasticsearch demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 61 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Bun 1.2.19 introduces isolated installs for smoother monorepo workflows, along with performance boosts, new tooling, and key compatibility fixes.
Security News
Popular npm packages like eslint-config-prettier were compromised after a phishing attack stole a maintainer’s token, spreading malicious updates.
Security News
/Research
A phishing attack targeted developers using a typosquatted npm domain (npnjs.com) to steal credentials via fake login pages - watch out for similar scams.