@stripe/stripe-js 5.9.2 → 6.0.0-rc.0
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/dist/index.js +18 -2
- package/dist/index.mjs +18 -2
- package/dist/pure.js +18 -2
- package/dist/pure.mjs +18 -2
- package/package.json +2 -2
- package/src/index.test.ts +15 -37
- package/src/pure.test.ts +7 -5
- package/src/shared.ts +19 -1
- package/src/testUtils.ts +3 -0
package/dist/index.js
CHANGED
|
@@ -2,8 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var RELEASE_TRAIN = 'acacia';
|
|
6
|
+
|
|
7
|
+
var runtimeVersionToUrlVersion = function runtimeVersionToUrlVersion(version) {
|
|
8
|
+
return version === 3 ? 'v3' : version;
|
|
9
|
+
};
|
|
10
|
+
|
|
5
11
|
var ORIGIN = 'https://js.stripe.com';
|
|
6
|
-
var STRIPE_JS_URL = "".concat(ORIGIN, "/
|
|
12
|
+
var STRIPE_JS_URL = "".concat(ORIGIN, "/").concat(RELEASE_TRAIN, "/stripe.js");
|
|
7
13
|
var V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
|
|
8
14
|
var STRIPE_JS_URL_REGEX = /^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/;
|
|
9
15
|
var EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';
|
|
@@ -49,7 +55,7 @@ var registerWrapper = function registerWrapper(stripe, startTime) {
|
|
|
49
55
|
|
|
50
56
|
stripe._registerWrapper({
|
|
51
57
|
name: 'stripe-js',
|
|
52
|
-
version: "
|
|
58
|
+
version: "6.0.0-rc.0",
|
|
53
59
|
startTime: startTime
|
|
54
60
|
});
|
|
55
61
|
};
|
|
@@ -138,6 +144,16 @@ var initStripe = function initStripe(maybeStripe, args, startTime) {
|
|
|
138
144
|
return null;
|
|
139
145
|
}
|
|
140
146
|
|
|
147
|
+
var pk = args[0];
|
|
148
|
+
var isTestKey = pk.match(/^pk_test/); // @ts-expect-error this is not publicly typed
|
|
149
|
+
|
|
150
|
+
var version = runtimeVersionToUrlVersion(maybeStripe.version);
|
|
151
|
+
var expectedVersion = RELEASE_TRAIN;
|
|
152
|
+
|
|
153
|
+
if (isTestKey && version !== expectedVersion) {
|
|
154
|
+
console.warn("Stripe.js@".concat(version, " was loaded on the page, but @stripe/stripe-js@").concat("6.0.0-rc.0", " expected Stripe.js@").concat(expectedVersion, ". This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning"));
|
|
155
|
+
}
|
|
156
|
+
|
|
141
157
|
var stripe = maybeStripe.apply(undefined, args);
|
|
142
158
|
registerWrapper(stripe, startTime);
|
|
143
159
|
return stripe;
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
var RELEASE_TRAIN = 'acacia';
|
|
2
|
+
|
|
3
|
+
var runtimeVersionToUrlVersion = function runtimeVersionToUrlVersion(version) {
|
|
4
|
+
return version === 3 ? 'v3' : version;
|
|
5
|
+
};
|
|
6
|
+
|
|
1
7
|
var ORIGIN = 'https://js.stripe.com';
|
|
2
|
-
var STRIPE_JS_URL = "".concat(ORIGIN, "/
|
|
8
|
+
var STRIPE_JS_URL = "".concat(ORIGIN, "/").concat(RELEASE_TRAIN, "/stripe.js");
|
|
3
9
|
var V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
|
|
4
10
|
var STRIPE_JS_URL_REGEX = /^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/;
|
|
5
11
|
var EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';
|
|
@@ -45,7 +51,7 @@ var registerWrapper = function registerWrapper(stripe, startTime) {
|
|
|
45
51
|
|
|
46
52
|
stripe._registerWrapper({
|
|
47
53
|
name: 'stripe-js',
|
|
48
|
-
version: "
|
|
54
|
+
version: "6.0.0-rc.0",
|
|
49
55
|
startTime: startTime
|
|
50
56
|
});
|
|
51
57
|
};
|
|
@@ -134,6 +140,16 @@ var initStripe = function initStripe(maybeStripe, args, startTime) {
|
|
|
134
140
|
return null;
|
|
135
141
|
}
|
|
136
142
|
|
|
143
|
+
var pk = args[0];
|
|
144
|
+
var isTestKey = pk.match(/^pk_test/); // @ts-expect-error this is not publicly typed
|
|
145
|
+
|
|
146
|
+
var version = runtimeVersionToUrlVersion(maybeStripe.version);
|
|
147
|
+
var expectedVersion = RELEASE_TRAIN;
|
|
148
|
+
|
|
149
|
+
if (isTestKey && version !== expectedVersion) {
|
|
150
|
+
console.warn("Stripe.js@".concat(version, " was loaded on the page, but @stripe/stripe-js@").concat("6.0.0-rc.0", " expected Stripe.js@").concat(expectedVersion, ". This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning"));
|
|
151
|
+
}
|
|
152
|
+
|
|
137
153
|
var stripe = maybeStripe.apply(undefined, args);
|
|
138
154
|
registerWrapper(stripe, startTime);
|
|
139
155
|
return stripe;
|
package/dist/pure.js
CHANGED
|
@@ -18,8 +18,14 @@ function _typeof(obj) {
|
|
|
18
18
|
return _typeof(obj);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
var RELEASE_TRAIN = 'acacia';
|
|
22
|
+
|
|
23
|
+
var runtimeVersionToUrlVersion = function runtimeVersionToUrlVersion(version) {
|
|
24
|
+
return version === 3 ? 'v3' : version;
|
|
25
|
+
};
|
|
26
|
+
|
|
21
27
|
var ORIGIN = 'https://js.stripe.com';
|
|
22
|
-
var STRIPE_JS_URL = "".concat(ORIGIN, "/
|
|
28
|
+
var STRIPE_JS_URL = "".concat(ORIGIN, "/").concat(RELEASE_TRAIN, "/stripe.js");
|
|
23
29
|
var V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
|
|
24
30
|
var STRIPE_JS_URL_REGEX = /^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/;
|
|
25
31
|
var EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';
|
|
@@ -65,7 +71,7 @@ var registerWrapper = function registerWrapper(stripe, startTime) {
|
|
|
65
71
|
|
|
66
72
|
stripe._registerWrapper({
|
|
67
73
|
name: 'stripe-js',
|
|
68
|
-
version: "
|
|
74
|
+
version: "6.0.0-rc.0",
|
|
69
75
|
startTime: startTime
|
|
70
76
|
});
|
|
71
77
|
};
|
|
@@ -154,6 +160,16 @@ var initStripe = function initStripe(maybeStripe, args, startTime) {
|
|
|
154
160
|
return null;
|
|
155
161
|
}
|
|
156
162
|
|
|
163
|
+
var pk = args[0];
|
|
164
|
+
var isTestKey = pk.match(/^pk_test/); // @ts-expect-error this is not publicly typed
|
|
165
|
+
|
|
166
|
+
var version = runtimeVersionToUrlVersion(maybeStripe.version);
|
|
167
|
+
var expectedVersion = RELEASE_TRAIN;
|
|
168
|
+
|
|
169
|
+
if (isTestKey && version !== expectedVersion) {
|
|
170
|
+
console.warn("Stripe.js@".concat(version, " was loaded on the page, but @stripe/stripe-js@").concat("6.0.0-rc.0", " expected Stripe.js@").concat(expectedVersion, ". This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning"));
|
|
171
|
+
}
|
|
172
|
+
|
|
157
173
|
var stripe = maybeStripe.apply(undefined, args);
|
|
158
174
|
registerWrapper(stripe, startTime);
|
|
159
175
|
return stripe;
|
package/dist/pure.mjs
CHANGED
|
@@ -14,8 +14,14 @@ function _typeof(obj) {
|
|
|
14
14
|
return _typeof(obj);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
var RELEASE_TRAIN = 'acacia';
|
|
18
|
+
|
|
19
|
+
var runtimeVersionToUrlVersion = function runtimeVersionToUrlVersion(version) {
|
|
20
|
+
return version === 3 ? 'v3' : version;
|
|
21
|
+
};
|
|
22
|
+
|
|
17
23
|
var ORIGIN = 'https://js.stripe.com';
|
|
18
|
-
var STRIPE_JS_URL = "".concat(ORIGIN, "/
|
|
24
|
+
var STRIPE_JS_URL = "".concat(ORIGIN, "/").concat(RELEASE_TRAIN, "/stripe.js");
|
|
19
25
|
var V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
|
|
20
26
|
var STRIPE_JS_URL_REGEX = /^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/;
|
|
21
27
|
var EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';
|
|
@@ -61,7 +67,7 @@ var registerWrapper = function registerWrapper(stripe, startTime) {
|
|
|
61
67
|
|
|
62
68
|
stripe._registerWrapper({
|
|
63
69
|
name: 'stripe-js',
|
|
64
|
-
version: "
|
|
70
|
+
version: "6.0.0-rc.0",
|
|
65
71
|
startTime: startTime
|
|
66
72
|
});
|
|
67
73
|
};
|
|
@@ -150,6 +156,16 @@ var initStripe = function initStripe(maybeStripe, args, startTime) {
|
|
|
150
156
|
return null;
|
|
151
157
|
}
|
|
152
158
|
|
|
159
|
+
var pk = args[0];
|
|
160
|
+
var isTestKey = pk.match(/^pk_test/); // @ts-expect-error this is not publicly typed
|
|
161
|
+
|
|
162
|
+
var version = runtimeVersionToUrlVersion(maybeStripe.version);
|
|
163
|
+
var expectedVersion = RELEASE_TRAIN;
|
|
164
|
+
|
|
165
|
+
if (isTestKey && version !== expectedVersion) {
|
|
166
|
+
console.warn("Stripe.js@".concat(version, " was loaded on the page, but @stripe/stripe-js@").concat("6.0.0-rc.0", " expected Stripe.js@").concat(expectedVersion, ". This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning"));
|
|
167
|
+
}
|
|
168
|
+
|
|
153
169
|
var stripe = maybeStripe.apply(undefined, args);
|
|
154
170
|
registerWrapper(stripe, startTime);
|
|
155
171
|
return stripe;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stripe/stripe-js",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0-rc.0",
|
|
4
4
|
"description": "Stripe.js loading utility",
|
|
5
5
|
"repository": "github:stripe/stripe-js",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"jsnext:main": "lib/index.mjs",
|
|
9
9
|
"types": "lib/index.d.ts",
|
|
10
10
|
"typings": "lib/index.d.ts",
|
|
11
|
-
"releaseCandidate":
|
|
11
|
+
"releaseCandidate": true,
|
|
12
12
|
"scripts": {
|
|
13
13
|
"test": "yarn lint && yarn test:unit && yarn test:package-types && yarn test:types && yarn typecheck",
|
|
14
14
|
"test:unit": "jest",
|
package/src/index.test.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
+
import {SCRIPT_SRC} from './testUtils';
|
|
1
2
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
2
3
|
|
|
3
4
|
const dispatchScriptEvent = (eventType: string): void => {
|
|
4
|
-
const injectedScript = document.querySelector(
|
|
5
|
-
'script[src="https://js.stripe.com/v3"]'
|
|
6
|
-
);
|
|
5
|
+
const injectedScript = document.querySelector(`script[src="${SCRIPT_SRC}"]`);
|
|
7
6
|
|
|
8
7
|
if (!injectedScript) {
|
|
9
8
|
throw new Error('could not find Stripe.js script element');
|
|
@@ -15,11 +14,12 @@ const dispatchScriptEvent = (eventType: string): void => {
|
|
|
15
14
|
describe('Stripe module loader', () => {
|
|
16
15
|
afterEach(() => {
|
|
17
16
|
const script = document.querySelector(
|
|
18
|
-
'script[src
|
|
17
|
+
'script[src^="https://js.stripe.com/"]'
|
|
19
18
|
);
|
|
20
19
|
if (script && script.parentElement) {
|
|
21
20
|
script.parentElement.removeChild(script);
|
|
22
21
|
}
|
|
22
|
+
|
|
23
23
|
delete window.Stripe;
|
|
24
24
|
jest.resetModules();
|
|
25
25
|
});
|
|
@@ -27,14 +27,12 @@ describe('Stripe module loader', () => {
|
|
|
27
27
|
it('injects the Stripe script as a side effect after a tick', () => {
|
|
28
28
|
require('./index');
|
|
29
29
|
|
|
30
|
-
expect(
|
|
31
|
-
document.querySelector('script[src="https://js.stripe.com/v3"]')
|
|
32
|
-
).toBe(null);
|
|
30
|
+
expect(document.querySelector(`script[src="${SCRIPT_SRC}"]`)).toBe(null);
|
|
33
31
|
|
|
34
32
|
return Promise.resolve().then(() => {
|
|
35
|
-
expect(
|
|
36
|
-
|
|
37
|
-
)
|
|
33
|
+
expect(document.querySelector(`script[src="${SCRIPT_SRC}"]`)).not.toBe(
|
|
34
|
+
null
|
|
35
|
+
);
|
|
38
36
|
});
|
|
39
37
|
});
|
|
40
38
|
|
|
@@ -44,41 +42,21 @@ describe('Stripe module loader', () => {
|
|
|
44
42
|
window.Stripe = jest.fn((key) => ({key})) as any;
|
|
45
43
|
|
|
46
44
|
return new Promise((resolve) => setTimeout(resolve)).then(() => {
|
|
47
|
-
expect(
|
|
48
|
-
document.querySelector('script[src="https://js.stripe.com/v3"]')
|
|
49
|
-
).toBe(null);
|
|
45
|
+
expect(document.querySelector(`script[src="${SCRIPT_SRC}"]`)).toBe(null);
|
|
50
46
|
});
|
|
51
47
|
});
|
|
52
48
|
|
|
53
49
|
describe('does not inject a duplicate script when one is already present', () => {
|
|
54
|
-
test('when the script does not have a trailing slash', () => {
|
|
55
|
-
require('./index');
|
|
56
|
-
|
|
57
|
-
const script = document.createElement('script');
|
|
58
|
-
script.src = 'https://js.stripe.com/v3';
|
|
59
|
-
document.body.appendChild(script);
|
|
60
|
-
|
|
61
|
-
return Promise.resolve().then(() => {
|
|
62
|
-
expect(
|
|
63
|
-
document.querySelectorAll(
|
|
64
|
-
'script[src="https://js.stripe.com/v3"], script[src="https://js.stripe.com/v3/"]'
|
|
65
|
-
)
|
|
66
|
-
).toHaveLength(1);
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
|
|
70
50
|
test('when the script has a trailing slash', () => {
|
|
71
51
|
require('./index');
|
|
72
52
|
|
|
73
53
|
const script = document.createElement('script');
|
|
74
|
-
script.src =
|
|
54
|
+
script.src = SCRIPT_SRC;
|
|
75
55
|
document.body.appendChild(script);
|
|
76
56
|
|
|
77
57
|
return Promise.resolve().then(() => {
|
|
78
58
|
expect(
|
|
79
|
-
document.querySelectorAll(
|
|
80
|
-
'script[src="https://js.stripe.com/v3"], script[src="https://js.stripe.com/v3/"]'
|
|
81
|
-
)
|
|
59
|
+
document.querySelectorAll(`script[src="${SCRIPT_SRC}"]`)
|
|
82
60
|
).toHaveLength(1);
|
|
83
61
|
});
|
|
84
62
|
});
|
|
@@ -93,7 +71,7 @@ describe('Stripe module loader', () => {
|
|
|
93
71
|
await Promise.resolve();
|
|
94
72
|
|
|
95
73
|
expect(
|
|
96
|
-
document.querySelectorAll('script[src^="https://js.stripe.com
|
|
74
|
+
document.querySelectorAll('script[src^="https://js.stripe.com"]')
|
|
97
75
|
).toHaveLength(2);
|
|
98
76
|
|
|
99
77
|
expect(
|
|
@@ -102,9 +80,9 @@ describe('Stripe module loader', () => {
|
|
|
102
80
|
)
|
|
103
81
|
).not.toBe(null);
|
|
104
82
|
|
|
105
|
-
expect(
|
|
106
|
-
|
|
107
|
-
)
|
|
83
|
+
expect(document.querySelector(`script[src="${SCRIPT_SRC}"]`)).not.toBe(
|
|
84
|
+
null
|
|
85
|
+
);
|
|
108
86
|
});
|
|
109
87
|
});
|
|
110
88
|
|
package/src/pure.test.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
2
|
+
import {RELEASE_TRAIN} from './shared';
|
|
2
3
|
|
|
3
|
-
const
|
|
4
|
+
const SCRIPT_SRC = `https://js.stripe.com/${RELEASE_TRAIN}/stripe.js`;
|
|
5
|
+
const SCRIPT_SELECTOR = `script[src^="${SCRIPT_SRC}"]`;
|
|
4
6
|
|
|
5
7
|
describe('pure module', () => {
|
|
6
8
|
beforeEach(() => {
|
|
@@ -43,7 +45,7 @@ describe('pure module', () => {
|
|
|
43
45
|
|
|
44
46
|
expect(
|
|
45
47
|
document.querySelector(
|
|
46
|
-
|
|
48
|
+
`script[src^="${SCRIPT_SRC}?advancedFraudSignals=false"]`
|
|
47
49
|
)
|
|
48
50
|
).not.toBe(null);
|
|
49
51
|
});
|
|
@@ -58,7 +60,7 @@ describe('pure module', () => {
|
|
|
58
60
|
|
|
59
61
|
test('it should warn when calling loadStripe if a script already exists when parameters are set', () => {
|
|
60
62
|
const script = document.createElement('script');
|
|
61
|
-
script.src =
|
|
63
|
+
script.src = SCRIPT_SRC;
|
|
62
64
|
document.body.appendChild(script);
|
|
63
65
|
|
|
64
66
|
const {loadStripe} = require('./pure');
|
|
@@ -76,7 +78,7 @@ describe('pure module', () => {
|
|
|
76
78
|
loadStripe.setLoadParameters({advancedFraudSignals: true});
|
|
77
79
|
|
|
78
80
|
const script = document.createElement('script');
|
|
79
|
-
script.src =
|
|
81
|
+
script.src = SCRIPT_SRC;
|
|
80
82
|
document.body.appendChild(script);
|
|
81
83
|
|
|
82
84
|
loadStripe('pk_test_123');
|
|
@@ -102,7 +104,7 @@ describe('pure module', () => {
|
|
|
102
104
|
|
|
103
105
|
test('it should not warn when a script already exists if parameters are not set', () => {
|
|
104
106
|
const script = document.createElement('script');
|
|
105
|
-
script.src =
|
|
107
|
+
script.src = SCRIPT_SRC;
|
|
106
108
|
document.body.appendChild(script);
|
|
107
109
|
|
|
108
110
|
const {loadStripe} = require('./pure');
|
package/src/shared.ts
CHANGED
|
@@ -12,8 +12,14 @@ export interface LoadParams {
|
|
|
12
12
|
// containing the package.json version
|
|
13
13
|
declare const _VERSION: string;
|
|
14
14
|
|
|
15
|
+
export const RELEASE_TRAIN = 'acacia';
|
|
16
|
+
|
|
17
|
+
const runtimeVersionToUrlVersion = (version: string | number) =>
|
|
18
|
+
version === 3 ? 'v3' : version;
|
|
19
|
+
|
|
15
20
|
const ORIGIN = 'https://js.stripe.com';
|
|
16
|
-
const STRIPE_JS_URL = `${ORIGIN}/
|
|
21
|
+
const STRIPE_JS_URL = `${ORIGIN}/${RELEASE_TRAIN}/stripe.js`;
|
|
22
|
+
|
|
17
23
|
const V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
|
|
18
24
|
const STRIPE_JS_URL_REGEX = /^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/;
|
|
19
25
|
const EXISTING_SCRIPT_MESSAGE =
|
|
@@ -162,6 +168,18 @@ export const initStripe = (
|
|
|
162
168
|
return null;
|
|
163
169
|
}
|
|
164
170
|
|
|
171
|
+
const pk = args[0];
|
|
172
|
+
const isTestKey = pk.match(/^pk_test/);
|
|
173
|
+
|
|
174
|
+
// @ts-expect-error this is not publicly typed
|
|
175
|
+
const version = runtimeVersionToUrlVersion(maybeStripe.version);
|
|
176
|
+
const expectedVersion = RELEASE_TRAIN;
|
|
177
|
+
if (isTestKey && version !== expectedVersion) {
|
|
178
|
+
console.warn(
|
|
179
|
+
`Stripe.js@${version} was loaded on the page, but @stripe/stripe-js@${_VERSION} expected Stripe.js@${expectedVersion}. This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning`
|
|
180
|
+
);
|
|
181
|
+
}
|
|
182
|
+
|
|
165
183
|
const stripe = maybeStripe.apply(undefined, args);
|
|
166
184
|
registerWrapper(stripe, startTime);
|
|
167
185
|
return stripe;
|
package/src/testUtils.ts
ADDED