@mui/x-license 9.0.0-alpha.0 → 9.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +236 -0
- package/{esm/Unstable_LicenseInfoProvider/LicenseInfoProvider.d.ts → Unstable_LicenseInfoProvider/LicenseInfoProvider.d.mts} +1 -1
- package/{esm/Unstable_LicenseInfoProvider/LicenseInfoProvider.js → Unstable_LicenseInfoProvider/LicenseInfoProvider.mjs} +1 -1
- package/{esm/Unstable_LicenseInfoProvider/MuiLicenseInfoContext.d.ts → Unstable_LicenseInfoProvider/MuiLicenseInfoContext.d.mts} +1 -1
- package/{esm/Unstable_LicenseInfoProvider/index.d.ts → Unstable_LicenseInfoProvider/index.d.mts} +2 -2
- package/{esm/Unstable_LicenseInfoProvider/index.js → Unstable_LicenseInfoProvider/index.mjs} +1 -1
- package/{esm/Watermark/Watermark.d.ts → Watermark/Watermark.d.mts} +1 -1
- package/Watermark/Watermark.js +3 -1
- package/{esm/Watermark/Watermark.js → Watermark/Watermark.mjs} +4 -3
- package/Watermark/index.d.mts +1 -0
- package/Watermark/index.mjs +1 -0
- package/encoding/base64.js +3 -1
- package/{esm/encoding/base64.js → encoding/base64.mjs} +2 -1
- package/encoding/index.d.mts +2 -0
- package/encoding/index.mjs +2 -0
- package/index.d.mts +4 -0
- package/index.d.ts +3 -6
- package/index.js +14 -75
- package/index.mjs +10 -0
- package/license-env.d.mts +6 -0
- package/license-env.d.ts +6 -0
- package/package.json +105 -14
- package/test-keys.d.mts +92 -0
- package/test-keys.d.ts +92 -0
- package/test-keys.js +135 -0
- package/test-keys.mjs +129 -0
- package/{esm/useLicenseVerifier/index.d.ts → useLicenseVerifier/index.d.mts} +1 -1
- package/{esm/useLicenseVerifier/index.js → useLicenseVerifier/index.mjs} +1 -1
- package/{esm/useLicenseVerifier/useLicenseVerifier.d.ts → useLicenseVerifier/useLicenseVerifier.d.mts} +2 -2
- package/useLicenseVerifier/useLicenseVerifier.js +2 -1
- package/{esm/useLicenseVerifier/useLicenseVerifier.js → useLicenseVerifier/useLicenseVerifier.mjs} +7 -6
- package/{esm/utils/commercialPackages.d.ts → utils/commercialPackages.d.mts} +1 -1
- package/utils/commercialPackages.d.ts +1 -1
- package/utils/index.d.mts +8 -0
- package/utils/index.d.ts +3 -1
- package/utils/index.mjs +4 -0
- package/utils/licenseAppType.d.mts +8 -0
- package/utils/licenseAppType.d.ts +8 -0
- package/utils/licenseAppType.js +16 -0
- package/utils/licenseAppType.mjs +10 -0
- package/utils/licenseDetails.d.mts +60 -0
- package/utils/licenseDetails.d.ts +60 -0
- package/utils/licenseDetails.js +5 -0
- package/utils/licenseDetails.mjs +1 -0
- package/utils/licenseErrorMessageUtils.js +15 -1
- package/{esm/utils/licenseErrorMessageUtils.js → utils/licenseErrorMessageUtils.mjs} +14 -1
- package/{esm/utils/plan.d.ts → utils/licensePlan.d.mts} +1 -1
- package/utils/{plan.d.ts → licensePlan.d.ts} +1 -1
- package/utils/{plan.js → licensePlan.js} +1 -1
- package/utils/licensePlan.mjs +2 -0
- package/verifyLicense/index.d.mts +1 -0
- package/verifyLicense/index.mjs +1 -0
- package/verifyLicense/verifyLicense.d.mts +32 -0
- package/verifyLicense/verifyLicense.d.ts +18 -1
- package/verifyLicense/verifyLicense.js +86 -36
- package/{esm/verifyLicense/verifyLicense.js → verifyLicense/verifyLicense.mjs} +85 -39
- package/esm/Watermark/index.d.ts +0 -1
- package/esm/Watermark/index.js +0 -1
- package/esm/encoding/index.d.ts +0 -2
- package/esm/encoding/index.js +0 -2
- package/esm/generateLicense/generateLicense.d.ts +0 -10
- package/esm/generateLicense/generateLicense.js +0 -19
- package/esm/generateLicense/index.d.ts +0 -1
- package/esm/generateLicense/index.js +0 -1
- package/esm/index.d.ts +0 -7
- package/esm/index.js +0 -14
- package/esm/package.json +0 -1
- package/esm/utils/index.d.ts +0 -6
- package/esm/utils/index.js +0 -4
- package/esm/utils/plan.js +0 -2
- package/esm/verifyLicense/index.d.ts +0 -1
- package/esm/verifyLicense/index.js +0 -1
- package/esm/verifyLicense/verifyLicense.d.ts +0 -15
- package/generateLicense/generateLicense.d.ts +0 -10
- package/generateLicense/generateLicense.js +0 -25
- package/generateLicense/index.d.ts +0 -1
- package/generateLicense/index.js +0 -16
- /package/{esm/Unstable_LicenseInfoProvider/MuiLicenseInfoContext.js → Unstable_LicenseInfoProvider/MuiLicenseInfoContext.mjs} +0 -0
- /package/{esm/encoding/base64.d.ts → encoding/base64.d.mts} +0 -0
- /package/{esm/encoding/md5.d.ts → encoding/md5.d.mts} +0 -0
- /package/{esm/encoding/md5.js → encoding/md5.mjs} +0 -0
- /package/{esm/utils/commercialPackages.js → utils/commercialPackages.mjs} +0 -0
- /package/{esm/utils/licenseErrorMessageUtils.d.ts → utils/licenseErrorMessageUtils.d.mts} +0 -0
- /package/{esm/utils/licenseInfo.d.ts → utils/licenseInfo.d.mts} +0 -0
- /package/{esm/utils/licenseInfo.js → utils/licenseInfo.mjs} +0 -0
- /package/{esm/utils/licenseModel.d.ts → utils/licenseModel.d.mts} +0 -0
- /package/{esm/utils/licenseModel.js → utils/licenseModel.mjs} +0 -0
- /package/{esm/utils/licenseStatus.d.ts → utils/licenseStatus.d.mts} +0 -0
- /package/{esm/utils/licenseStatus.js → utils/licenseStatus.mjs} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-license",
|
|
3
|
-
"version": "9.0.0-alpha.
|
|
3
|
+
"version": "9.0.0-alpha.2",
|
|
4
4
|
"author": "MUI Team",
|
|
5
5
|
"description": "MUI X License verification.",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@babel/runtime": "^7.28.6",
|
|
25
25
|
"@mui/utils": "^7.3.7",
|
|
26
|
-
"@mui/x-internals": "9.0.0-alpha.
|
|
27
|
-
"@mui/x-telemetry": "9.0.0-alpha.
|
|
26
|
+
"@mui/x-internals": "9.0.0-alpha.2",
|
|
27
|
+
"@mui/x-telemetry": "9.0.0-alpha.2"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"react": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
|
@@ -33,30 +33,121 @@
|
|
|
33
33
|
"node": ">=14.0.0"
|
|
34
34
|
},
|
|
35
35
|
"type": "commonjs",
|
|
36
|
-
"main": "./index.js",
|
|
37
|
-
"types": "./index.d.ts",
|
|
38
36
|
"exports": {
|
|
39
37
|
"./package.json": "./package.json",
|
|
40
38
|
".": {
|
|
39
|
+
"import": {
|
|
40
|
+
"types": "./index.d.mts",
|
|
41
|
+
"default": "./index.mjs"
|
|
42
|
+
},
|
|
41
43
|
"require": {
|
|
42
44
|
"types": "./index.d.ts",
|
|
43
45
|
"default": "./index.js"
|
|
44
46
|
},
|
|
45
47
|
"default": {
|
|
46
|
-
"types": "./
|
|
47
|
-
"default": "./
|
|
48
|
+
"types": "./index.d.mts",
|
|
49
|
+
"default": "./index.mjs"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"./Watermark": {
|
|
53
|
+
"import": {
|
|
54
|
+
"types": "./Watermark/index.d.mts",
|
|
55
|
+
"default": "./Watermark/index.mjs"
|
|
56
|
+
},
|
|
57
|
+
"require": {
|
|
58
|
+
"types": "./Watermark/index.d.ts",
|
|
59
|
+
"default": "./Watermark/index.js"
|
|
60
|
+
},
|
|
61
|
+
"default": {
|
|
62
|
+
"types": "./Watermark/index.d.mts",
|
|
63
|
+
"default": "./Watermark/index.mjs"
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"./useLicenseVerifier": {
|
|
67
|
+
"import": {
|
|
68
|
+
"types": "./useLicenseVerifier/index.d.mts",
|
|
69
|
+
"default": "./useLicenseVerifier/index.mjs"
|
|
70
|
+
},
|
|
71
|
+
"require": {
|
|
72
|
+
"types": "./useLicenseVerifier/index.d.ts",
|
|
73
|
+
"default": "./useLicenseVerifier/index.js"
|
|
74
|
+
},
|
|
75
|
+
"default": {
|
|
76
|
+
"types": "./useLicenseVerifier/index.d.mts",
|
|
77
|
+
"default": "./useLicenseVerifier/index.mjs"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"./verifyLicense": {
|
|
81
|
+
"import": {
|
|
82
|
+
"types": "./verifyLicense/index.d.mts",
|
|
83
|
+
"default": "./verifyLicense/index.mjs"
|
|
84
|
+
},
|
|
85
|
+
"require": {
|
|
86
|
+
"types": "./verifyLicense/index.d.ts",
|
|
87
|
+
"default": "./verifyLicense/index.js"
|
|
88
|
+
},
|
|
89
|
+
"default": {
|
|
90
|
+
"types": "./verifyLicense/index.d.mts",
|
|
91
|
+
"default": "./verifyLicense/index.mjs"
|
|
48
92
|
}
|
|
49
93
|
},
|
|
50
|
-
"
|
|
94
|
+
"./utils": {
|
|
95
|
+
"import": {
|
|
96
|
+
"types": "./utils/index.d.mts",
|
|
97
|
+
"default": "./utils/index.mjs"
|
|
98
|
+
},
|
|
99
|
+
"require": {
|
|
100
|
+
"types": "./utils/index.d.ts",
|
|
101
|
+
"default": "./utils/index.js"
|
|
102
|
+
},
|
|
103
|
+
"default": {
|
|
104
|
+
"types": "./utils/index.d.mts",
|
|
105
|
+
"default": "./utils/index.mjs"
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"./test-keys": {
|
|
109
|
+
"import": {
|
|
110
|
+
"types": "./test-keys.d.mts",
|
|
111
|
+
"default": "./test-keys.mjs"
|
|
112
|
+
},
|
|
113
|
+
"require": {
|
|
114
|
+
"types": "./test-keys.d.ts",
|
|
115
|
+
"default": "./test-keys.js"
|
|
116
|
+
},
|
|
117
|
+
"default": {
|
|
118
|
+
"types": "./test-keys.d.mts",
|
|
119
|
+
"default": "./test-keys.mjs"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"./Unstable_LicenseInfoProvider": {
|
|
123
|
+
"import": {
|
|
124
|
+
"types": "./Unstable_LicenseInfoProvider/index.d.mts",
|
|
125
|
+
"default": "./Unstable_LicenseInfoProvider/index.mjs"
|
|
126
|
+
},
|
|
51
127
|
"require": {
|
|
52
|
-
"types": "
|
|
53
|
-
"default": "
|
|
128
|
+
"types": "./Unstable_LicenseInfoProvider/index.d.ts",
|
|
129
|
+
"default": "./Unstable_LicenseInfoProvider/index.js"
|
|
54
130
|
},
|
|
55
131
|
"default": {
|
|
56
|
-
"types": "./
|
|
57
|
-
"default": "./
|
|
132
|
+
"types": "./Unstable_LicenseInfoProvider/index.d.mts",
|
|
133
|
+
"default": "./Unstable_LicenseInfoProvider/index.mjs"
|
|
58
134
|
}
|
|
59
135
|
},
|
|
60
|
-
"./
|
|
61
|
-
|
|
136
|
+
"./encoding": {
|
|
137
|
+
"import": {
|
|
138
|
+
"types": "./encoding/index.d.mts",
|
|
139
|
+
"default": "./encoding/index.mjs"
|
|
140
|
+
},
|
|
141
|
+
"require": {
|
|
142
|
+
"types": "./encoding/index.d.ts",
|
|
143
|
+
"default": "./encoding/index.js"
|
|
144
|
+
},
|
|
145
|
+
"default": {
|
|
146
|
+
"types": "./encoding/index.d.mts",
|
|
147
|
+
"default": "./encoding/index.mjs"
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"main": "./index.js",
|
|
152
|
+
"types": "./index.d.ts"
|
|
62
153
|
}
|
package/test-keys.d.mts
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test Premium license key.
|
|
3
|
+
* orderId: #123, scope: premium, licenseModel: annual, planVersion: Q3-2024
|
|
4
|
+
* keyVersion: 2, expiryDate: 2099-12-30T23:00:00.000Z
|
|
5
|
+
*/
|
|
6
|
+
export declare const TEST_LICENSE_KEY_PREMIUM = "715a2f48d6140e8e6f2484e6c4b981aeTz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJlbWl1bSxMTT1hbm51YWwsUFY9UTMtMjAyNCxUPXRydWUsS1Y9Mg==";
|
|
7
|
+
/**
|
|
8
|
+
* Test Pro license key.
|
|
9
|
+
* orderId: #123, scope: pro, licenseModel: annual, planVersion: Q3-2024
|
|
10
|
+
* keyVersion: 2, expiryDate: 2099-12-30T23:00:00.000Z
|
|
11
|
+
*/
|
|
12
|
+
export declare const TEST_LICENSE_KEY_PRO = "8d0500f3fe93ffea84445b2aed17c59cTz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1RMy0yMDI0LFQ9dHJ1ZSxLVj0y";
|
|
13
|
+
/**
|
|
14
|
+
* Key version 1 format (pro, perpetual, initial implied).
|
|
15
|
+
* orderId: #123, expiryDate: 2026-08-02
|
|
16
|
+
*/
|
|
17
|
+
export declare const TEST_KEY_V1 = "8f5bd7d70e4d7aeecd1d5b9d0d1759bbT1JERVI6MTIzLEVYUElSWT0xNzg1ODc0MDEwNzA4LFQ9dHJ1ZSxLRVlWRVJTSU9OPTE=";
|
|
18
|
+
/**
|
|
19
|
+
* Pro subscription, initial, expiry = releaseDate + 1 day.
|
|
20
|
+
* orderId: #123, keyVersion: 2
|
|
21
|
+
*/
|
|
22
|
+
export declare const TEST_KEY_PRO_SUBSCRIPTION = "b4cb282aa165b05f65f70a4caddadc81Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
23
|
+
/**
|
|
24
|
+
* Premium subscription, initial, expiry = releaseDate + 1 day.
|
|
25
|
+
* orderId: #123, keyVersion: 2
|
|
26
|
+
*/
|
|
27
|
+
export declare const TEST_KEY_PREMIUM_SUBSCRIPTION = "22bd1051015e3c663f8ca5cba9ebe56aTz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJlbWl1bSxMTT1zdWJzY3JpcHRpb24sUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==";
|
|
28
|
+
/**
|
|
29
|
+
* Pro perpetual, initial, expiry = releaseDate + 1 day (valid).
|
|
30
|
+
* orderId: #123, keyVersion: 2
|
|
31
|
+
*/
|
|
32
|
+
export declare const TEST_KEY_PRO_PERPETUAL = "f4221ac32d1b8b102c143dcf65080414Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
33
|
+
/**
|
|
34
|
+
* Pro perpetual, initial, expiry = releaseDate - 1 day (expired before release).
|
|
35
|
+
* orderId: #123, keyVersion: 2
|
|
36
|
+
*/
|
|
37
|
+
export declare const TEST_KEY_PRO_PERPETUAL_EXPIRED = "64245e2bb861fc92856e682b32dc8bf2Tz0xMjMsRT0xNTE0NTg4NDAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
38
|
+
/**
|
|
39
|
+
* Pro annual, initial, expiry = releaseDate + 1 day.
|
|
40
|
+
* orderId: #123, keyVersion: 2
|
|
41
|
+
*/
|
|
42
|
+
export declare const TEST_KEY_PRO_ANNUAL_INITIAL = "d82e3196c55fc5dc21a4145b796a77a7Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
43
|
+
/**
|
|
44
|
+
* Premium annual, initial, expiry = releaseDate + 1 day.
|
|
45
|
+
* orderId: #123, keyVersion: 2
|
|
46
|
+
*/
|
|
47
|
+
export declare const TEST_KEY_PREMIUM_ANNUAL_INITIAL = "8fc9fa79e1b5f30ce737ccec8f3e36f4Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJlbWl1bSxMTT1hbm51YWwsUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==";
|
|
48
|
+
/**
|
|
49
|
+
* Pro subscription, initial, expiry = 2024-06-14 (fakeNow - 1 day, within grace period).
|
|
50
|
+
* orderId: #123, keyVersion: 2
|
|
51
|
+
*/
|
|
52
|
+
export declare const TEST_KEY_EXPIRED_GRACE = "84dcbd1c5a6169c74e6c70ec23e0df55Tz0xMjMsRT0xNzE4MzIzMjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
53
|
+
/**
|
|
54
|
+
* Pro subscription, initial, expiry = 2024-05-16 (fakeNow - 30 days, past grace period).
|
|
55
|
+
* orderId: #123, keyVersion: 2
|
|
56
|
+
*/
|
|
57
|
+
export declare const TEST_KEY_EXPIRED_30DAYS = "4081d3863dda2ca60be4a5b29f582117Tz0xMjMsRT0xNzE1ODE3NjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
58
|
+
/**
|
|
59
|
+
* Pro subscription, initial, expiry = 3001-01-01.
|
|
60
|
+
* orderId: #123, keyVersion: 2
|
|
61
|
+
*/
|
|
62
|
+
export declare const TEST_KEY_PRO_SUBSCRIPTION_FUTURE = "e83a283135bbd911e4aa0fd55ceea3ebTz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXBybyxMTT1zdWJzY3JpcHRpb24sUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==";
|
|
63
|
+
/**
|
|
64
|
+
* Premium subscription, initial, expiry = 3001-01-01.
|
|
65
|
+
* orderId: #123, keyVersion: 2
|
|
66
|
+
*/
|
|
67
|
+
export declare const TEST_KEY_PREMIUM_SUBSCRIPTION_FUTURE = "1c6ea00fadedfcb3f2ef393f1de32f29Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXByZW1pdW0sTE09c3Vic2NyaXB0aW9uLFBWPWluaXRpYWwsVD10cnVlLEtWPTI=";
|
|
68
|
+
/**
|
|
69
|
+
* Pro annual, Q3-2024, quantity: 5, appType: single.
|
|
70
|
+
* orderId: #123, keyVersion: 3, expiryDate: 2099-12-30T23:00:00.000Z
|
|
71
|
+
*/
|
|
72
|
+
export declare const TEST_KEY_PRO_ANNUAL_V3 = "521a75b4cf0d0c5e8990ce070886e167Tz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1RMy0yMDI0LFE9NSxBVD1zaW5nbGUsVD10cnVlLEtWPTM=";
|
|
73
|
+
/**
|
|
74
|
+
* Pro annual, Q1-2026, quantity: 5, appType: single.
|
|
75
|
+
* orderId: #123, keyVersion: 3, expiryDate: 3001-01-01
|
|
76
|
+
*/
|
|
77
|
+
export declare const TEST_KEY_PRO_ANNUAL_Q1_2026_V3 = "5f52871b5845f28ebdd0fabbe0b89695Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXBybyxMTT1hbm51YWwsUFY9UTEtMjAyNixRPTUsQVQ9c2luZ2xlLFQ9dHJ1ZSxLVj0z";
|
|
78
|
+
/**
|
|
79
|
+
* Premium annual, Q1-2026, quantity: 10, appType: single.
|
|
80
|
+
* orderId: #123, keyVersion: 3, expiryDate: 3001-01-01
|
|
81
|
+
*/
|
|
82
|
+
export declare const TEST_KEY_PREMIUM_ANNUAL_Q1_2026_V3 = "450d9fc1b28e709fcb73969bd10e1c30Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXByZW1pdW0sTE09YW5udWFsLFBWPVExLTIwMjYsUT0xMCxBVD1zaW5nbGUsVD10cnVlLEtWPTM=";
|
|
83
|
+
/**
|
|
84
|
+
* Invalid key: hash does not match payload (tampered).
|
|
85
|
+
* Used to test that verifyLicense rejects tampered keys.
|
|
86
|
+
*/
|
|
87
|
+
export declare const TEST_KEY_INVALID = "c0b3c1c31055976260628def9b697020TkFNRTpNYC1VSSBTQVMsREVWRUxPUEVSX0NPVU5UPTEwLEVYUElSWT0xNTkxNzIzMDY3MDQyLFZFUlNJT049MS4yLjMsVD10cnVl";
|
|
88
|
+
/**
|
|
89
|
+
* Valid hash but unknown key version (KV=99).
|
|
90
|
+
* Used to test that decodeLicense returns null for unrecognized versions.
|
|
91
|
+
*/
|
|
92
|
+
export declare const TEST_KEY_UNKNOWN_VERSION = "64152474c774ae343484f08bbbc1a231Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj05OQ==";
|
package/test-keys.d.ts
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test Premium license key.
|
|
3
|
+
* orderId: #123, scope: premium, licenseModel: annual, planVersion: Q3-2024
|
|
4
|
+
* keyVersion: 2, expiryDate: 2099-12-30T23:00:00.000Z
|
|
5
|
+
*/
|
|
6
|
+
export declare const TEST_LICENSE_KEY_PREMIUM = "715a2f48d6140e8e6f2484e6c4b981aeTz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJlbWl1bSxMTT1hbm51YWwsUFY9UTMtMjAyNCxUPXRydWUsS1Y9Mg==";
|
|
7
|
+
/**
|
|
8
|
+
* Test Pro license key.
|
|
9
|
+
* orderId: #123, scope: pro, licenseModel: annual, planVersion: Q3-2024
|
|
10
|
+
* keyVersion: 2, expiryDate: 2099-12-30T23:00:00.000Z
|
|
11
|
+
*/
|
|
12
|
+
export declare const TEST_LICENSE_KEY_PRO = "8d0500f3fe93ffea84445b2aed17c59cTz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1RMy0yMDI0LFQ9dHJ1ZSxLVj0y";
|
|
13
|
+
/**
|
|
14
|
+
* Key version 1 format (pro, perpetual, initial implied).
|
|
15
|
+
* orderId: #123, expiryDate: 2026-08-02
|
|
16
|
+
*/
|
|
17
|
+
export declare const TEST_KEY_V1 = "8f5bd7d70e4d7aeecd1d5b9d0d1759bbT1JERVI6MTIzLEVYUElSWT0xNzg1ODc0MDEwNzA4LFQ9dHJ1ZSxLRVlWRVJTSU9OPTE=";
|
|
18
|
+
/**
|
|
19
|
+
* Pro subscription, initial, expiry = releaseDate + 1 day.
|
|
20
|
+
* orderId: #123, keyVersion: 2
|
|
21
|
+
*/
|
|
22
|
+
export declare const TEST_KEY_PRO_SUBSCRIPTION = "b4cb282aa165b05f65f70a4caddadc81Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
23
|
+
/**
|
|
24
|
+
* Premium subscription, initial, expiry = releaseDate + 1 day.
|
|
25
|
+
* orderId: #123, keyVersion: 2
|
|
26
|
+
*/
|
|
27
|
+
export declare const TEST_KEY_PREMIUM_SUBSCRIPTION = "22bd1051015e3c663f8ca5cba9ebe56aTz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJlbWl1bSxMTT1zdWJzY3JpcHRpb24sUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==";
|
|
28
|
+
/**
|
|
29
|
+
* Pro perpetual, initial, expiry = releaseDate + 1 day (valid).
|
|
30
|
+
* orderId: #123, keyVersion: 2
|
|
31
|
+
*/
|
|
32
|
+
export declare const TEST_KEY_PRO_PERPETUAL = "f4221ac32d1b8b102c143dcf65080414Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
33
|
+
/**
|
|
34
|
+
* Pro perpetual, initial, expiry = releaseDate - 1 day (expired before release).
|
|
35
|
+
* orderId: #123, keyVersion: 2
|
|
36
|
+
*/
|
|
37
|
+
export declare const TEST_KEY_PRO_PERPETUAL_EXPIRED = "64245e2bb861fc92856e682b32dc8bf2Tz0xMjMsRT0xNTE0NTg4NDAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
38
|
+
/**
|
|
39
|
+
* Pro annual, initial, expiry = releaseDate + 1 day.
|
|
40
|
+
* orderId: #123, keyVersion: 2
|
|
41
|
+
*/
|
|
42
|
+
export declare const TEST_KEY_PRO_ANNUAL_INITIAL = "d82e3196c55fc5dc21a4145b796a77a7Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
43
|
+
/**
|
|
44
|
+
* Premium annual, initial, expiry = releaseDate + 1 day.
|
|
45
|
+
* orderId: #123, keyVersion: 2
|
|
46
|
+
*/
|
|
47
|
+
export declare const TEST_KEY_PREMIUM_ANNUAL_INITIAL = "8fc9fa79e1b5f30ce737ccec8f3e36f4Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJlbWl1bSxMTT1hbm51YWwsUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==";
|
|
48
|
+
/**
|
|
49
|
+
* Pro subscription, initial, expiry = 2024-06-14 (fakeNow - 1 day, within grace period).
|
|
50
|
+
* orderId: #123, keyVersion: 2
|
|
51
|
+
*/
|
|
52
|
+
export declare const TEST_KEY_EXPIRED_GRACE = "84dcbd1c5a6169c74e6c70ec23e0df55Tz0xMjMsRT0xNzE4MzIzMjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
53
|
+
/**
|
|
54
|
+
* Pro subscription, initial, expiry = 2024-05-16 (fakeNow - 30 days, past grace period).
|
|
55
|
+
* orderId: #123, keyVersion: 2
|
|
56
|
+
*/
|
|
57
|
+
export declare const TEST_KEY_EXPIRED_30DAYS = "4081d3863dda2ca60be4a5b29f582117Tz0xMjMsRT0xNzE1ODE3NjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y";
|
|
58
|
+
/**
|
|
59
|
+
* Pro subscription, initial, expiry = 3001-01-01.
|
|
60
|
+
* orderId: #123, keyVersion: 2
|
|
61
|
+
*/
|
|
62
|
+
export declare const TEST_KEY_PRO_SUBSCRIPTION_FUTURE = "e83a283135bbd911e4aa0fd55ceea3ebTz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXBybyxMTT1zdWJzY3JpcHRpb24sUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==";
|
|
63
|
+
/**
|
|
64
|
+
* Premium subscription, initial, expiry = 3001-01-01.
|
|
65
|
+
* orderId: #123, keyVersion: 2
|
|
66
|
+
*/
|
|
67
|
+
export declare const TEST_KEY_PREMIUM_SUBSCRIPTION_FUTURE = "1c6ea00fadedfcb3f2ef393f1de32f29Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXByZW1pdW0sTE09c3Vic2NyaXB0aW9uLFBWPWluaXRpYWwsVD10cnVlLEtWPTI=";
|
|
68
|
+
/**
|
|
69
|
+
* Pro annual, Q3-2024, quantity: 5, appType: single.
|
|
70
|
+
* orderId: #123, keyVersion: 3, expiryDate: 2099-12-30T23:00:00.000Z
|
|
71
|
+
*/
|
|
72
|
+
export declare const TEST_KEY_PRO_ANNUAL_V3 = "521a75b4cf0d0c5e8990ce070886e167Tz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1RMy0yMDI0LFE9NSxBVD1zaW5nbGUsVD10cnVlLEtWPTM=";
|
|
73
|
+
/**
|
|
74
|
+
* Pro annual, Q1-2026, quantity: 5, appType: single.
|
|
75
|
+
* orderId: #123, keyVersion: 3, expiryDate: 3001-01-01
|
|
76
|
+
*/
|
|
77
|
+
export declare const TEST_KEY_PRO_ANNUAL_Q1_2026_V3 = "5f52871b5845f28ebdd0fabbe0b89695Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXBybyxMTT1hbm51YWwsUFY9UTEtMjAyNixRPTUsQVQ9c2luZ2xlLFQ9dHJ1ZSxLVj0z";
|
|
78
|
+
/**
|
|
79
|
+
* Premium annual, Q1-2026, quantity: 10, appType: single.
|
|
80
|
+
* orderId: #123, keyVersion: 3, expiryDate: 3001-01-01
|
|
81
|
+
*/
|
|
82
|
+
export declare const TEST_KEY_PREMIUM_ANNUAL_Q1_2026_V3 = "450d9fc1b28e709fcb73969bd10e1c30Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXByZW1pdW0sTE09YW5udWFsLFBWPVExLTIwMjYsUT0xMCxBVD1zaW5nbGUsVD10cnVlLEtWPTM=";
|
|
83
|
+
/**
|
|
84
|
+
* Invalid key: hash does not match payload (tampered).
|
|
85
|
+
* Used to test that verifyLicense rejects tampered keys.
|
|
86
|
+
*/
|
|
87
|
+
export declare const TEST_KEY_INVALID = "c0b3c1c31055976260628def9b697020TkFNRTpNYC1VSSBTQVMsREVWRUxPUEVSX0NPVU5UPTEwLEVYUElSWT0xNTkxNzIzMDY3MDQyLFZFUlNJT049MS4yLjMsVD10cnVl";
|
|
88
|
+
/**
|
|
89
|
+
* Valid hash but unknown key version (KV=99).
|
|
90
|
+
* Used to test that decodeLicense returns null for unrecognized versions.
|
|
91
|
+
*/
|
|
92
|
+
export declare const TEST_KEY_UNKNOWN_VERSION = "64152474c774ae343484f08bbbc1a231Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj05OQ==";
|
package/test-keys.js
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TEST_LICENSE_KEY_PRO = exports.TEST_LICENSE_KEY_PREMIUM = exports.TEST_KEY_V1 = exports.TEST_KEY_UNKNOWN_VERSION = exports.TEST_KEY_PRO_SUBSCRIPTION_FUTURE = exports.TEST_KEY_PRO_SUBSCRIPTION = exports.TEST_KEY_PRO_PERPETUAL_EXPIRED = exports.TEST_KEY_PRO_PERPETUAL = exports.TEST_KEY_PRO_ANNUAL_V3 = exports.TEST_KEY_PRO_ANNUAL_Q1_2026_V3 = exports.TEST_KEY_PRO_ANNUAL_INITIAL = exports.TEST_KEY_PREMIUM_SUBSCRIPTION_FUTURE = exports.TEST_KEY_PREMIUM_SUBSCRIPTION = exports.TEST_KEY_PREMIUM_ANNUAL_Q1_2026_V3 = exports.TEST_KEY_PREMIUM_ANNUAL_INITIAL = exports.TEST_KEY_INVALID = exports.TEST_KEY_EXPIRED_GRACE = exports.TEST_KEY_EXPIRED_30DAYS = void 0;
|
|
7
|
+
// =============================================================================
|
|
8
|
+
// Test license keys for use in test suites.
|
|
9
|
+
// All keys contain T=true in their payload and are rejected outside test environments.
|
|
10
|
+
// Import via '@mui/x-license/test-keys'.
|
|
11
|
+
// =============================================================================
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Test Premium license key.
|
|
15
|
+
* orderId: #123, scope: premium, licenseModel: annual, planVersion: Q3-2024
|
|
16
|
+
* keyVersion: 2, expiryDate: 2099-12-30T23:00:00.000Z
|
|
17
|
+
*/
|
|
18
|
+
const TEST_LICENSE_KEY_PREMIUM = exports.TEST_LICENSE_KEY_PREMIUM = '715a2f48d6140e8e6f2484e6c4b981aeTz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJlbWl1bSxMTT1hbm51YWwsUFY9UTMtMjAyNCxUPXRydWUsS1Y9Mg==';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Test Pro license key.
|
|
22
|
+
* orderId: #123, scope: pro, licenseModel: annual, planVersion: Q3-2024
|
|
23
|
+
* keyVersion: 2, expiryDate: 2099-12-30T23:00:00.000Z
|
|
24
|
+
*/
|
|
25
|
+
const TEST_LICENSE_KEY_PRO = exports.TEST_LICENSE_KEY_PRO = '8d0500f3fe93ffea84445b2aed17c59cTz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1RMy0yMDI0LFQ9dHJ1ZSxLVj0y';
|
|
26
|
+
|
|
27
|
+
// --- Key format v1 ---
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Key version 1 format (pro, perpetual, initial implied).
|
|
31
|
+
* orderId: #123, expiryDate: 2026-08-02
|
|
32
|
+
*/
|
|
33
|
+
const TEST_KEY_V1 = exports.TEST_KEY_V1 = '8f5bd7d70e4d7aeecd1d5b9d0d1759bbT1JERVI6MTIzLEVYUElSWT0xNzg1ODc0MDEwNzA4LFQ9dHJ1ZSxLRVlWRVJTSU9OPTE=';
|
|
34
|
+
|
|
35
|
+
// --- Keys for verifyLicense tests (paired with releaseDate = 2018-01-01) ---
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Pro subscription, initial, expiry = releaseDate + 1 day.
|
|
39
|
+
* orderId: #123, keyVersion: 2
|
|
40
|
+
*/
|
|
41
|
+
const TEST_KEY_PRO_SUBSCRIPTION = exports.TEST_KEY_PRO_SUBSCRIPTION = 'b4cb282aa165b05f65f70a4caddadc81Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Premium subscription, initial, expiry = releaseDate + 1 day.
|
|
45
|
+
* orderId: #123, keyVersion: 2
|
|
46
|
+
*/
|
|
47
|
+
const TEST_KEY_PREMIUM_SUBSCRIPTION = exports.TEST_KEY_PREMIUM_SUBSCRIPTION = '22bd1051015e3c663f8ca5cba9ebe56aTz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJlbWl1bSxMTT1zdWJzY3JpcHRpb24sUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==';
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Pro perpetual, initial, expiry = releaseDate + 1 day (valid).
|
|
51
|
+
* orderId: #123, keyVersion: 2
|
|
52
|
+
*/
|
|
53
|
+
const TEST_KEY_PRO_PERPETUAL = exports.TEST_KEY_PRO_PERPETUAL = 'f4221ac32d1b8b102c143dcf65080414Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Pro perpetual, initial, expiry = releaseDate - 1 day (expired before release).
|
|
57
|
+
* orderId: #123, keyVersion: 2
|
|
58
|
+
*/
|
|
59
|
+
const TEST_KEY_PRO_PERPETUAL_EXPIRED = exports.TEST_KEY_PRO_PERPETUAL_EXPIRED = '64245e2bb861fc92856e682b32dc8bf2Tz0xMjMsRT0xNTE0NTg4NDAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Pro annual, initial, expiry = releaseDate + 1 day.
|
|
63
|
+
* orderId: #123, keyVersion: 2
|
|
64
|
+
*/
|
|
65
|
+
const TEST_KEY_PRO_ANNUAL_INITIAL = exports.TEST_KEY_PRO_ANNUAL_INITIAL = 'd82e3196c55fc5dc21a4145b796a77a7Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Premium annual, initial, expiry = releaseDate + 1 day.
|
|
69
|
+
* orderId: #123, keyVersion: 2
|
|
70
|
+
*/
|
|
71
|
+
const TEST_KEY_PREMIUM_ANNUAL_INITIAL = exports.TEST_KEY_PREMIUM_ANNUAL_INITIAL = '8fc9fa79e1b5f30ce737ccec8f3e36f4Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJlbWl1bSxMTT1hbm51YWwsUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==';
|
|
72
|
+
|
|
73
|
+
// --- Keys for time-sensitive tests (used with vi.useFakeTimers, fakeNow = 2024-06-15) ---
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Pro subscription, initial, expiry = 2024-06-14 (fakeNow - 1 day, within grace period).
|
|
77
|
+
* orderId: #123, keyVersion: 2
|
|
78
|
+
*/
|
|
79
|
+
const TEST_KEY_EXPIRED_GRACE = exports.TEST_KEY_EXPIRED_GRACE = '84dcbd1c5a6169c74e6c70ec23e0df55Tz0xMjMsRT0xNzE4MzIzMjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Pro subscription, initial, expiry = 2024-05-16 (fakeNow - 30 days, past grace period).
|
|
83
|
+
* orderId: #123, keyVersion: 2
|
|
84
|
+
*/
|
|
85
|
+
const TEST_KEY_EXPIRED_30DAYS = exports.TEST_KEY_EXPIRED_30DAYS = '4081d3863dda2ca60be4a5b29f582117Tz0xMjMsRT0xNzE1ODE3NjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
86
|
+
|
|
87
|
+
// --- Keys for useLicenseVerifier plan combination tests (initial planVersion, far-future expiry) ---
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Pro subscription, initial, expiry = 3001-01-01.
|
|
91
|
+
* orderId: #123, keyVersion: 2
|
|
92
|
+
*/
|
|
93
|
+
const TEST_KEY_PRO_SUBSCRIPTION_FUTURE = exports.TEST_KEY_PRO_SUBSCRIPTION_FUTURE = 'e83a283135bbd911e4aa0fd55ceea3ebTz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXBybyxMTT1zdWJzY3JpcHRpb24sUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==';
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Premium subscription, initial, expiry = 3001-01-01.
|
|
97
|
+
* orderId: #123, keyVersion: 2
|
|
98
|
+
*/
|
|
99
|
+
const TEST_KEY_PREMIUM_SUBSCRIPTION_FUTURE = exports.TEST_KEY_PREMIUM_SUBSCRIPTION_FUTURE = '1c6ea00fadedfcb3f2ef393f1de32f29Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXByZW1pdW0sTE09c3Vic2NyaXB0aW9uLFBWPWluaXRpYWwsVD10cnVlLEtWPTI=';
|
|
100
|
+
|
|
101
|
+
// --- Key format v3 ---
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Pro annual, Q3-2024, quantity: 5, appType: single.
|
|
105
|
+
* orderId: #123, keyVersion: 3, expiryDate: 2099-12-30T23:00:00.000Z
|
|
106
|
+
*/
|
|
107
|
+
const TEST_KEY_PRO_ANNUAL_V3 = exports.TEST_KEY_PRO_ANNUAL_V3 = '521a75b4cf0d0c5e8990ce070886e167Tz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1RMy0yMDI0LFE9NSxBVD1zaW5nbGUsVD10cnVlLEtWPTM=';
|
|
108
|
+
|
|
109
|
+
// --- Key format v3 Q1-2026 ---
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Pro annual, Q1-2026, quantity: 5, appType: single.
|
|
113
|
+
* orderId: #123, keyVersion: 3, expiryDate: 3001-01-01
|
|
114
|
+
*/
|
|
115
|
+
const TEST_KEY_PRO_ANNUAL_Q1_2026_V3 = exports.TEST_KEY_PRO_ANNUAL_Q1_2026_V3 = '5f52871b5845f28ebdd0fabbe0b89695Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXBybyxMTT1hbm51YWwsUFY9UTEtMjAyNixRPTUsQVQ9c2luZ2xlLFQ9dHJ1ZSxLVj0z';
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Premium annual, Q1-2026, quantity: 10, appType: single.
|
|
119
|
+
* orderId: #123, keyVersion: 3, expiryDate: 3001-01-01
|
|
120
|
+
*/
|
|
121
|
+
const TEST_KEY_PREMIUM_ANNUAL_Q1_2026_V3 = exports.TEST_KEY_PREMIUM_ANNUAL_Q1_2026_V3 = '450d9fc1b28e709fcb73969bd10e1c30Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXByZW1pdW0sTE09YW5udWFsLFBWPVExLTIwMjYsUT0xMCxBVD1zaW5nbGUsVD10cnVlLEtWPTM=';
|
|
122
|
+
|
|
123
|
+
// --- Invalid / edge-case keys ---
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Invalid key: hash does not match payload (tampered).
|
|
127
|
+
* Used to test that verifyLicense rejects tampered keys.
|
|
128
|
+
*/
|
|
129
|
+
const TEST_KEY_INVALID = exports.TEST_KEY_INVALID = 'c0b3c1c31055976260628def9b697020TkFNRTpNYC1VSSBTQVMsREVWRUxPUEVSX0NPVU5UPTEwLEVYUElSWT0xNTkxNzIzMDY3MDQyLFZFUlNJT049MS4yLjMsVD10cnVl';
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Valid hash but unknown key version (KV=99).
|
|
133
|
+
* Used to test that decodeLicense returns null for unrecognized versions.
|
|
134
|
+
*/
|
|
135
|
+
const TEST_KEY_UNKNOWN_VERSION = exports.TEST_KEY_UNKNOWN_VERSION = '64152474c774ae343484f08bbbc1a231Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj05OQ==';
|
package/test-keys.mjs
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// Test license keys for use in test suites.
|
|
3
|
+
// All keys contain T=true in their payload and are rejected outside test environments.
|
|
4
|
+
// Import via '@mui/x-license/test-keys'.
|
|
5
|
+
// =============================================================================
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Test Premium license key.
|
|
9
|
+
* orderId: #123, scope: premium, licenseModel: annual, planVersion: Q3-2024
|
|
10
|
+
* keyVersion: 2, expiryDate: 2099-12-30T23:00:00.000Z
|
|
11
|
+
*/
|
|
12
|
+
export const TEST_LICENSE_KEY_PREMIUM = '715a2f48d6140e8e6f2484e6c4b981aeTz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJlbWl1bSxMTT1hbm51YWwsUFY9UTMtMjAyNCxUPXRydWUsS1Y9Mg==';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Test Pro license key.
|
|
16
|
+
* orderId: #123, scope: pro, licenseModel: annual, planVersion: Q3-2024
|
|
17
|
+
* keyVersion: 2, expiryDate: 2099-12-30T23:00:00.000Z
|
|
18
|
+
*/
|
|
19
|
+
export const TEST_LICENSE_KEY_PRO = '8d0500f3fe93ffea84445b2aed17c59cTz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1RMy0yMDI0LFQ9dHJ1ZSxLVj0y';
|
|
20
|
+
|
|
21
|
+
// --- Key format v1 ---
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Key version 1 format (pro, perpetual, initial implied).
|
|
25
|
+
* orderId: #123, expiryDate: 2026-08-02
|
|
26
|
+
*/
|
|
27
|
+
export const TEST_KEY_V1 = '8f5bd7d70e4d7aeecd1d5b9d0d1759bbT1JERVI6MTIzLEVYUElSWT0xNzg1ODc0MDEwNzA4LFQ9dHJ1ZSxLRVlWRVJTSU9OPTE=';
|
|
28
|
+
|
|
29
|
+
// --- Keys for verifyLicense tests (paired with releaseDate = 2018-01-01) ---
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Pro subscription, initial, expiry = releaseDate + 1 day.
|
|
33
|
+
* orderId: #123, keyVersion: 2
|
|
34
|
+
*/
|
|
35
|
+
export const TEST_KEY_PRO_SUBSCRIPTION = 'b4cb282aa165b05f65f70a4caddadc81Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Premium subscription, initial, expiry = releaseDate + 1 day.
|
|
39
|
+
* orderId: #123, keyVersion: 2
|
|
40
|
+
*/
|
|
41
|
+
export const TEST_KEY_PREMIUM_SUBSCRIPTION = '22bd1051015e3c663f8ca5cba9ebe56aTz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJlbWl1bSxMTT1zdWJzY3JpcHRpb24sUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==';
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Pro perpetual, initial, expiry = releaseDate + 1 day (valid).
|
|
45
|
+
* orderId: #123, keyVersion: 2
|
|
46
|
+
*/
|
|
47
|
+
export const TEST_KEY_PRO_PERPETUAL = 'f4221ac32d1b8b102c143dcf65080414Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Pro perpetual, initial, expiry = releaseDate - 1 day (expired before release).
|
|
51
|
+
* orderId: #123, keyVersion: 2
|
|
52
|
+
*/
|
|
53
|
+
export const TEST_KEY_PRO_PERPETUAL_EXPIRED = '64245e2bb861fc92856e682b32dc8bf2Tz0xMjMsRT0xNTE0NTg4NDAwMDAwLFM9cHJvLExNPXBlcnBldHVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Pro annual, initial, expiry = releaseDate + 1 day.
|
|
57
|
+
* orderId: #123, keyVersion: 2
|
|
58
|
+
*/
|
|
59
|
+
export const TEST_KEY_PRO_ANNUAL_INITIAL = 'd82e3196c55fc5dc21a4145b796a77a7Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Premium annual, initial, expiry = releaseDate + 1 day.
|
|
63
|
+
* orderId: #123, keyVersion: 2
|
|
64
|
+
*/
|
|
65
|
+
export const TEST_KEY_PREMIUM_ANNUAL_INITIAL = '8fc9fa79e1b5f30ce737ccec8f3e36f4Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJlbWl1bSxMTT1hbm51YWwsUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==';
|
|
66
|
+
|
|
67
|
+
// --- Keys for time-sensitive tests (used with vi.useFakeTimers, fakeNow = 2024-06-15) ---
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Pro subscription, initial, expiry = 2024-06-14 (fakeNow - 1 day, within grace period).
|
|
71
|
+
* orderId: #123, keyVersion: 2
|
|
72
|
+
*/
|
|
73
|
+
export const TEST_KEY_EXPIRED_GRACE = '84dcbd1c5a6169c74e6c70ec23e0df55Tz0xMjMsRT0xNzE4MzIzMjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Pro subscription, initial, expiry = 2024-05-16 (fakeNow - 30 days, past grace period).
|
|
77
|
+
* orderId: #123, keyVersion: 2
|
|
78
|
+
*/
|
|
79
|
+
export const TEST_KEY_EXPIRED_30DAYS = '4081d3863dda2ca60be4a5b29f582117Tz0xMjMsRT0xNzE1ODE3NjAwMDAwLFM9cHJvLExNPXN1YnNjcmlwdGlvbixQVj1pbml0aWFsLFQ9dHJ1ZSxLVj0y';
|
|
80
|
+
|
|
81
|
+
// --- Keys for useLicenseVerifier plan combination tests (initial planVersion, far-future expiry) ---
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Pro subscription, initial, expiry = 3001-01-01.
|
|
85
|
+
* orderId: #123, keyVersion: 2
|
|
86
|
+
*/
|
|
87
|
+
export const TEST_KEY_PRO_SUBSCRIPTION_FUTURE = 'e83a283135bbd911e4aa0fd55ceea3ebTz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXBybyxMTT1zdWJzY3JpcHRpb24sUFY9aW5pdGlhbCxUPXRydWUsS1Y9Mg==';
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Premium subscription, initial, expiry = 3001-01-01.
|
|
91
|
+
* orderId: #123, keyVersion: 2
|
|
92
|
+
*/
|
|
93
|
+
export const TEST_KEY_PREMIUM_SUBSCRIPTION_FUTURE = '1c6ea00fadedfcb3f2ef393f1de32f29Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXByZW1pdW0sTE09c3Vic2NyaXB0aW9uLFBWPWluaXRpYWwsVD10cnVlLEtWPTI=';
|
|
94
|
+
|
|
95
|
+
// --- Key format v3 ---
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Pro annual, Q3-2024, quantity: 5, appType: single.
|
|
99
|
+
* orderId: #123, keyVersion: 3, expiryDate: 2099-12-30T23:00:00.000Z
|
|
100
|
+
*/
|
|
101
|
+
export const TEST_KEY_PRO_ANNUAL_V3 = '521a75b4cf0d0c5e8990ce070886e167Tz0xMjMsRT00MTAyMzU0ODAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1RMy0yMDI0LFE9NSxBVD1zaW5nbGUsVD10cnVlLEtWPTM=';
|
|
102
|
+
|
|
103
|
+
// --- Key format v3 Q1-2026 ---
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Pro annual, Q1-2026, quantity: 5, appType: single.
|
|
107
|
+
* orderId: #123, keyVersion: 3, expiryDate: 3001-01-01
|
|
108
|
+
*/
|
|
109
|
+
export const TEST_KEY_PRO_ANNUAL_Q1_2026_V3 = '5f52871b5845f28ebdd0fabbe0b89695Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXBybyxMTT1hbm51YWwsUFY9UTEtMjAyNixRPTUsQVQ9c2luZ2xlLFQ9dHJ1ZSxLVj0z';
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Premium annual, Q1-2026, quantity: 10, appType: single.
|
|
113
|
+
* orderId: #123, keyVersion: 3, expiryDate: 3001-01-01
|
|
114
|
+
*/
|
|
115
|
+
export const TEST_KEY_PREMIUM_ANNUAL_Q1_2026_V3 = '450d9fc1b28e709fcb73969bd10e1c30Tz0xMjMsRT0zMjUzNTEyNjAwMDAwMCxTPXByZW1pdW0sTE09YW5udWFsLFBWPVExLTIwMjYsUT0xMCxBVD1zaW5nbGUsVD10cnVlLEtWPTM=';
|
|
116
|
+
|
|
117
|
+
// --- Invalid / edge-case keys ---
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Invalid key: hash does not match payload (tampered).
|
|
121
|
+
* Used to test that verifyLicense rejects tampered keys.
|
|
122
|
+
*/
|
|
123
|
+
export const TEST_KEY_INVALID = 'c0b3c1c31055976260628def9b697020TkFNRTpNYC1VSSBTQVMsREVWRUxPUEVSX0NPVU5UPTEwLEVYUElSWT0xNTkxNzIzMDY3MDQyLFZFUlNJT049MS4yLjMsVD10cnVl';
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Valid hash but unknown key version (KV=99).
|
|
127
|
+
* Used to test that decodeLicense returns null for unrecognized versions.
|
|
128
|
+
*/
|
|
129
|
+
export const TEST_KEY_UNKNOWN_VERSION = '64152474c774ae343484f08bbbc1a231Tz0xMjMsRT0xNTE0NzYxMjAwMDAwLFM9cHJvLExNPWFubnVhbCxQVj1pbml0aWFsLFQ9dHJ1ZSxLVj05OQ==';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { clearLicenseStatusCache, useLicenseVerifier } from "./useLicenseVerifier.
|
|
1
|
+
export { clearLicenseStatusCache, useLicenseVerifier } from "./useLicenseVerifier.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { clearLicenseStatusCache, useLicenseVerifier } from "./useLicenseVerifier.
|
|
1
|
+
export { clearLicenseStatusCache, useLicenseVerifier } from "./useLicenseVerifier.mjs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { LicenseStatus } from "../utils/licenseStatus.
|
|
2
|
-
import { MuiCommercialPackageName } from "../utils/commercialPackages.
|
|
1
|
+
import { LicenseStatus } from "../utils/licenseStatus.mjs";
|
|
2
|
+
import { MuiCommercialPackageName } from "../utils/commercialPackages.mjs";
|
|
3
3
|
export declare const sharedLicenseStatuses: { [packageName in MuiCommercialPackageName]?: {
|
|
4
4
|
key: string | undefined;
|
|
5
5
|
licenseVerifier: {
|
|
@@ -49,7 +49,8 @@ function useLicenseVerifier(packageName, releaseInfo) {
|
|
|
49
49
|
});
|
|
50
50
|
const fullPackageName = `@mui/${packageName}`;
|
|
51
51
|
(0, _xTelemetry.sendMuiXTelemetryEvent)(_xTelemetry.muiXTelemetryEvents.licenseVerification({
|
|
52
|
-
licenseKey
|
|
52
|
+
licenseKey,
|
|
53
|
+
xLicenseClientVersion: "9.0.0-alpha.2"
|
|
53
54
|
}, {
|
|
54
55
|
packageName,
|
|
55
56
|
packageReleaseInfo: releaseInfo,
|
package/{esm/useLicenseVerifier/useLicenseVerifier.js → useLicenseVerifier/useLicenseVerifier.mjs}
RENAMED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { sendMuiXTelemetryEvent, muiXTelemetryEvents } from '@mui/x-telemetry';
|
|
6
|
-
import { verifyLicense } from "../verifyLicense/verifyLicense.
|
|
7
|
-
import { LicenseInfo } from "../utils/licenseInfo.
|
|
8
|
-
import { showExpiredAnnualGraceLicenseKeyError, showExpiredAnnualLicenseKeyError, showInvalidLicenseKeyError, showMissingLicenseKeyError, showLicenseKeyPlanMismatchError, showExpiredPackageVersionError, showNotAvailableInInitialProPlanError } from "../utils/licenseErrorMessageUtils.
|
|
9
|
-
import { LICENSE_STATUS } from "../utils/licenseStatus.
|
|
10
|
-
import MuiLicenseInfoContext from "../Unstable_LicenseInfoProvider/MuiLicenseInfoContext.
|
|
6
|
+
import { verifyLicense } from "../verifyLicense/verifyLicense.mjs";
|
|
7
|
+
import { LicenseInfo } from "../utils/licenseInfo.mjs";
|
|
8
|
+
import { showExpiredAnnualGraceLicenseKeyError, showExpiredAnnualLicenseKeyError, showInvalidLicenseKeyError, showMissingLicenseKeyError, showLicenseKeyPlanMismatchError, showExpiredPackageVersionError, showNotAvailableInInitialProPlanError } from "../utils/licenseErrorMessageUtils.mjs";
|
|
9
|
+
import { LICENSE_STATUS } from "../utils/licenseStatus.mjs";
|
|
10
|
+
import MuiLicenseInfoContext from "../Unstable_LicenseInfoProvider/MuiLicenseInfoContext.mjs";
|
|
11
11
|
export const sharedLicenseStatuses = {};
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -40,7 +40,8 @@ export function useLicenseVerifier(packageName, releaseInfo) {
|
|
|
40
40
|
});
|
|
41
41
|
const fullPackageName = `@mui/${packageName}`;
|
|
42
42
|
sendMuiXTelemetryEvent(muiXTelemetryEvents.licenseVerification({
|
|
43
|
-
licenseKey
|
|
43
|
+
licenseKey,
|
|
44
|
+
xLicenseClientVersion: "9.0.0-alpha.2"
|
|
44
45
|
}, {
|
|
45
46
|
packageName,
|
|
46
47
|
packageReleaseInfo: releaseInfo,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export type MuiCommercialPackageName = 'x-data-grid-pro' | 'x-data-grid-premium' | 'x-date-pickers-pro' | 'x-tree-view-pro' | 'x-charts-pro' | 'x-charts-premium';
|
|
1
|
+
export type MuiCommercialPackageName = 'x-data-grid-pro' | 'x-data-grid-premium' | 'x-date-pickers-pro' | 'x-tree-view-pro' | 'x-charts-pro' | 'x-charts-premium' | 'x-scheduler-premium';
|