Skip to content

Commit d83d8a3

Browse files
authored
chore: replace package shortid with nanoid (#287)
* replace shortid with nanoid * changed ID length to 10 added getRandomId to utils
1 parent 36f8f0d commit d83d8a3

File tree

8 files changed

+19
-25
lines changed

8 files changed

+19
-25
lines changed

packages/core/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
"@types/react": "^17.0.5",
4040
"debounce": "^1.2.0",
4141
"lodash": "^4.17.20",
42-
"shortid": "^2.2.15",
4342
"tiny-invariant": "^1.0.6"
4443
},
4544
"devDependencies": {

packages/core/src/utils/createNode.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1+
import { getRandomId as getRandomNodeId } from '@craftjs/utils';
12
import React from 'react';
23

3-
import { getRandomNodeId } from './getRandomNodeId';
4-
54
import { Node, FreshNode, UserComponentConfig } from '../interfaces';
65
import {
76
defaultElementProps,

packages/core/src/utils/getRandomNodeId.ts

Lines changed: 0 additions & 3 deletions
This file was deleted.

packages/utils/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"@types/react": "^17.0.5",
1818
"immer": "^8.0.1",
1919
"lodash": "^4.17.20",
20+
"nanoid": "^3.1.23",
2021
"shallowequal": "^1.1.0",
2122
"tiny-invariant": "^1.0.6"
2223
},

packages/utils/src/EventHandlers/ConnectorRegistry.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import isEqual from 'shallowequal';
2-
import shortid from 'shortid';
32

43
import { Connector } from './interfaces';
54

5+
import { getRandomId } from '../getRandomId';
6+
67
type ConnectorToRegister = {
78
name: string;
89
required: any;
@@ -30,7 +31,7 @@ export class ConnectorRegistry {
3031
return existingId;
3132
}
3233

33-
const newId = shortid();
34+
const newId = getRandomId();
3435
this.elementIdMap.set(element, newId);
3536
return newId;
3637
}

packages/utils/src/getRandomId.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { nanoid } from 'nanoid';
2+
3+
// By default nanoid generate an ID with 21 characters. To reduce the footprint, we default to 10 characters.
4+
// We have a higher probability for collisions, though
5+
6+
/**
7+
* Generate a random ID. That ID can for example be used as a node ID.
8+
*
9+
* @param size The number of characters that are generated for the ID. Defaults to `10`
10+
* @returns A random id
11+
*/
12+
export const getRandomId = (size: number = 10) => nanoid(size);

packages/utils/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ export * from './useEffectOnce';
88
export * from './deprecate';
99
export * from './utilityTypes';
1010
export * from './History';
11+
export * from './getRandomId';

yarn.lock

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3016,7 +3016,6 @@ __metadata:
30163016
debounce: ^1.2.0
30173017
lodash: ^4.17.20
30183018
react: ^17.0.2
3019-
shortid: ^2.2.15
30203019
tiny-invariant: ^1.0.6
30213020
peerDependencies:
30223021
react: ^16.8.0
@@ -3044,6 +3043,7 @@ __metadata:
30443043
"@types/react": ^17.0.5
30453044
immer: ^8.0.1
30463045
lodash: ^4.17.20
3046+
nanoid: ^3.1.23
30473047
shallowequal: ^1.1.0
30483048
tiny-invariant: ^1.0.6
30493049
peerDependencies:
@@ -17605,13 +17605,6 @@ fsevents@~2.3.1:
1760517605
languageName: node
1760617606
linkType: hard
1760717607

17608-
"nanoid@npm:^2.1.0":
17609-
version: 2.1.6
17610-
resolution: "nanoid@npm:2.1.6"
17611-
checksum: b34d842ce85feeacd12275dc79728802e8b08f1466b66d00cf46f0883fcf9e40caceb504ea9f67c6921c0246a063f62c29ccd76a32bc7472cc699480a4831358
17612-
languageName: node
17613-
linkType: hard
17614-
1761517608
"nanoid@npm:^3.1.22, nanoid@npm:^3.1.23":
1761617609
version: 3.1.23
1761717610
resolution: "nanoid@npm:3.1.23"
@@ -23419,15 +23412,6 @@ resolve@^1.17.0:
2341923412
languageName: node
2342023413
linkType: hard
2342123414

23422-
"shortid@npm:^2.2.15":
23423-
version: 2.2.15
23424-
resolution: "shortid@npm:2.2.15"
23425-
dependencies:
23426-
nanoid: ^2.1.0
23427-
checksum: 0b657c406153029ba5fe3df357115d31c53929b6e603cbd2ff2aae7ddc016290179dfaa49625a3abc8967df8d53d04bd2c07a617562c1057ace8558f67558235
23428-
languageName: node
23429-
linkType: hard
23430-
2343123415
"signal-exit@npm:^3.0.0":
2343223416
version: 3.0.2
2343323417
resolution: "signal-exit@npm:3.0.2"

0 commit comments

Comments
 (0)