New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

all-of-just

Package Overview
Dependencies
Maintainers
0
Versions
47
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

all-of-just - npm Package Compare versions

Comparing version 1.2.1 to 2.0.0

dist/arrays.d.ts

175

package.json
{
"name": "all-of-just",
"private": false,
"version": "1.2.1",
"description": "A single collection of all of Just utility functions in one single library",
"files": [
"*"
],
"version": "2.0.0",
"author": "PuruVJ (@puruvjdev)",
"license": "MIT",
"sideEffects": false,
"type": "module",
"types": "dist/index.d.ts",
"main": "dist/index.js",
"module": "dist/index.js",
"repository": {

@@ -17,59 +18,143 @@ "type": "git",

},
"sideEffects": false,
"main": "index.js",
"module": "index.js",
"types": "index.d.ts",
"description": "A single collection of all of Just utility functions in one single library",
"files": [
"dist/*"
],
"keywords": [
"just",
"utility",
"lodash",
"merge",
"clone",
"array",
"tiny"
],
"exports": {
".": {
"types": "./index.d.ts",
"module": "./index.js",
"import": "./index.js"
"types": "./dist/index.d.ts",
"module": "./dist/index.js",
"import": "./dist/index.js"
},
"./arrays": {
"types": "./arrays.d.ts",
"module": "./arrays.js",
"import": "./arrays.js"
"types": "./dist/arrays.d.ts",
"module": "./dist/arrays.js",
"import": "./dist/arrays.js"
},
"./collection": {
"types": "./collection.d.ts",
"module": "./collection.js",
"import": "./collection.js"
"types": "./dist/collection.d.ts",
"module": "./dist/collection.js",
"import": "./dist/collection.js"
},
"./functions": {
"types": "./functions.d.ts",
"module": "./functions.js",
"import": "./functions.js"
"types": "./dist/functions.d.ts",
"module": "./dist/functions.js",
"import": "./dist/functions.js"
},
"./numbers": {
"types": "./numbers.d.ts",
"module": "./numbers.js",
"import": "./numbers.js"
"types": "./dist/numbers.d.ts",
"module": "./dist/numbers.js",
"import": "./dist/numbers.js"
},
"./objects": {
"types": "./objects.d.ts",
"module": "./objects.js",
"import": "./objects.js"
"types": "./dist/objects.d.ts",
"module": "./dist/objects.js",
"import": "./dist/objects.js"
},
"./statistics": {
"types": "./statistics.d.ts",
"module": "./statistics.js",
"import": "./statistics.js"
"types": "./dist/statistics.d.ts",
"module": "./dist/statistics.js",
"import": "./dist/statistics.js"
},
"./strings": {
"types": "./strings.d.ts",
"module": "./strings.js",
"import": "./strings.js"
"types": "./dist/strings.d.ts",
"module": "./dist/strings.js",
"import": "./dist/strings.js"
}
},
"keywords": [
"just",
"utility",
"lodash",
"merge",
"clone",
"array",
"tiny"
],
"author": "PuruVJ (@puruvjdev)",
"license": "MIT"
"devDependencies": {
"@types/node": "^20.14.8",
"just-camel-case": "^6.2.0",
"just-capitalize": "^3.2.0",
"just-cartesian-product": "^4.2.0",
"just-clamp": "^4.2.0",
"just-clone": "^6.2.0",
"just-compact": "^3.2.0",
"just-compare": "^2.3.0",
"just-compose": "^2.3.0",
"just-curry-it": "^5.3.0",
"just-debounce-it": "^3.2.0",
"just-deep-map-values": "^1.2.0",
"just-demethodize": "^3.2.0",
"just-diff": "^6.0.2",
"just-diff-apply": "^5.5.0",
"just-entries": "^2.3.0",
"just-extend": "^6.2.0",
"just-filter-object": "^3.2.0",
"just-flatten-it": "^5.2.0",
"just-flip": "^2.2.0",
"just-flip-object": "^2.3.0",
"just-flush": "^2.3.0",
"just-group-by": "^2.2.0",
"just-index": "^4.2.0",
"just-insert": "^3.2.0",
"just-intersect": "^4.3.0",
"just-is-circular": "^2.2.0",
"just-is-empty": "^3.4.1",
"just-is-prime": "^2.3.0",
"just-is-primitive": "^2.3.0",
"just-kebab-case": "^4.2.0",
"just-last": "^3.2.0",
"just-left-pad": "^3.2.0",
"just-map-keys": "^2.3.0",
"just-map-object": "^2.3.0",
"just-map-values": "^3.2.0",
"just-mean": "^2.2.0",
"just-median": "^2.2.0",
"just-memoize": "^2.2.0",
"just-memoize-last": "^3.2.0",
"just-merge": "^3.2.0",
"just-mode": "^2.2.0",
"just-modulo": "^2.2.0",
"just-omit": "^2.2.0",
"just-once": "^2.2.0",
"just-partial-it": "^3.4.0",
"just-partition": "^2.2.0",
"just-pascal-case": "^3.2.0",
"just-percentile": "^4.2.0",
"just-permutations": "^2.2.1",
"just-pick": "^4.2.0",
"just-pluck-it": "^2.3.0",
"just-prune": "^2.2.0",
"just-random": "^3.2.0",
"just-random-integer": "^4.2.0",
"just-range": "^4.2.0",
"just-reduce-object": "^2.3.0",
"just-remove": "^3.2.0",
"just-replace-all": "^2.2.0",
"just-right-pad": "^3.2.0",
"just-safe-get": "^4.2.0",
"just-safe-set": "^4.2.1",
"just-shuffle": "^4.2.0",
"just-skewness": "^2.2.0",
"just-snake-case": "^3.2.0",
"just-sort-by": "^3.2.0",
"just-split": "^3.2.0",
"just-split-at": "^3.2.0",
"just-squash": "^2.2.0",
"just-standard-deviation": "^2.2.0",
"just-tail": "^3.2.0",
"just-template": "^2.2.0",
"just-throttle": "^4.2.0",
"just-truncate": "^2.2.0",
"just-typeof": "^3.2.0",
"just-union": "^3.2.0",
"just-unique": "^4.2.0",
"just-values": "^2.2.0",
"just-variance": "^2.2.0",
"just-zip-it": "^3.2.0"
},
"scripts": {
"pub": "bun run compile && npm publish --no-git-checks",
"compile": "tsup && bun post.ts"
}
}

@@ -11,32 +11,2 @@ # all-of-just

# Motivation
The original library by Angus Croll is really amazing, being very small and modular. But the modular aspect is also its bane in today's world.
Why? The way we use the functions from the original library is by doing an `npm install just-[FUNCTION NAME]`. Which works just fine. But nowadays, we're more used to libraries like `date-fns`, which exposes all of it's functions in the root module only. The advantages of this pattern are:
1. **Install only once**: Only have to install once, means less trips to terminal, meaning less context switching, and small `package.json` and lock files.
2. **VSCode Auto import fully supported**: In today's world of VSCode auto import, opening terminal, typing `npm install just-[FUNCTION NAME]`, then coming back to code, and manually typing the imports is less than ideal. Auto import, on the other hand, has spoiled us really bad 😁. By having this monolithic pattern, you stay in code editor, you don't even have to go up to type imports, the function is available right there for you 🪄🪄
This library(`all-of-just`) strives to give a similar experience, at no added cost.
## Installation size?
When you install `all-of-just`, you're not downloading all the `just-*` packages, which along with their packaged `package.json` and `README.md` can be quite big when downloaded all at once. Rather, `all-of-just` bundles all of them together into a few JS files, along with proper TypeScript types. Your machine downloads no more than `62.5KB` while installing this library
## Assumptions
1. **You bring your own bundler and minifier** - This library is not optimized for direct use in browsers. it is spread over multiple files, and non-minified, and overall not ideal for direct usage in browser. It is recommended to have bundler/minifier toolchain set up to optimize and tree-shake this library.
2. **Using next gen bundler** - This one is not as critical for final performance, but it can greatly affect your developer experience
The original library was made in 2016. The scene at that time was very different from what is now. Then, with bundlers like webpack, you couldn't afford to use big libraries, hence why the original library is divided in so many small packages.
Now, we have tools like [Vite](https://vitejs.dev/), [Snowpack](https://www.snowpack.dev/), [WMR](https://wmr.dev/), which offer blazing fast compilation and Hot Module Reloading, and overall just super great dev experience. You could throw dependencies in the magnitudes of megabytes and your dev experience will still be blazing fast 🔥🔥.
Because of these modern tools, I can ship this larger library as one single package and your developer experience will still be really fast.
So the gist is: I assume you're using one of these next-gen bundlers, and not something traditional which rebundles every single thing on every reload, like Webpack/Grunt projects without HMR.
# Install

@@ -51,3 +21,3 @@

# yarn
yarn add all-of-just
bun add all-of-just
```

@@ -204,4 +174,3 @@

merge,
/** EXCEPTION: in the docs it is `just-typeof`, but we can't export it as `typeof`, due to keyword conflict. So this one is named `objectsTypeof` */
objectsTypeof,
typeOf,
omit,

@@ -283,2 +252,32 @@ pick,

# Motivation
The original library by Angus Croll is really amazing, being very small and modular. But the modular aspect is also its bane in today's world.
Why? The way we use the functions from the original library is by doing an `npm install just-[FUNCTION NAME]`. Which works just fine. But nowadays, we're more used to libraries like `date-fns`, which exposes all of it's functions in the root module only. The advantages of this pattern are:
1. **Install only once**: Only have to install once, means less trips to terminal, meaning less context switching, and small `package.json` and lock files.
2. **VSCode Auto import fully supported**: In today's world of VSCode auto import, opening terminal, typing `npm install just-[FUNCTION NAME]`, then coming back to code, and manually typing the imports is less than ideal. Auto import, on the other hand, has spoiled us really bad 😁. By having this monolithic pattern, you stay in code editor, you don't even have to go up to type imports, the function is available right there for you 🪄🪄
This library(`all-of-just`) strives to give a similar experience, at no added cost.
## Installation size?
When you install `all-of-just`, you're not downloading all the `just-*` packages, which along with their packaged `package.json` and `README.md` can be quite big when downloaded all at once. Rather, `all-of-just` bundles all of them together into a few JS files, along with proper TypeScript types. Your machine downloads no more than `62.5KB` while installing this library
## Assumptions
1. **You bring your own bundler and minifier** - This library is not optimized for direct use in browsers. it is spread over multiple files, and non-minified, and overall not ideal for direct usage in browser. It is recommended to have bundler/minifier toolchain set up to optimize and tree-shake this library.
2. **Using next gen bundler** - This one is not as critical for final performance, but it can greatly affect your developer experience
The original library was made in 2016. The scene at that time was very different from what is now. Then, with bundlers like webpack, you couldn't afford to use big libraries, hence why the original library is divided in so many small packages.
Now, we have tools like [Vite](https://vitejs.dev/), [Snowpack](https://www.snowpack.dev/), [WMR](https://wmr.dev/), which offer blazing fast compilation and Hot Module Reloading, and overall just super great dev experience. You could throw dependencies in the magnitudes of megabytes and your dev experience will still be blazing fast 🔥🔥.
Because of these modern tools, I can ship this larger library as one single package and your developer experience will still be really fast.
So the gist is: I assume you're using one of these next-gen bundlers, and not something traditional which rebundles every single thing on every reload, like Webpack/Grunt projects without HMR.
# Source of truth

@@ -292,3 +291,3 @@

2. Some of the packages that do have TypeScript support export more than the function, they export some additional types/functions too. However, to keep `all-of-just` simple, it don't export those types/functions. You'll need to install that package separately and import from it.
2. To keep `all-of-just` simple, it doesn't export extra types/functions. You'll need to install that package separately and import from it.

@@ -295,0 +294,0 @@ [MORE INFO](https://github.com/angus-c/just#typescript-)

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc