auth0-lock 13.2.0 → 14.1.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/.github/workflows/test.yml +3 -2
- package/.version +1 -1
- package/CHANGELOG.md +37 -10
- package/README.md +2 -2
- package/karma.conf.js +5 -1
- package/lib/__tests__/auth_button.js +5 -5
- package/lib/__tests__/connection/database/actions.js +2 -3
- package/lib/__tests__/connection/database/index.js +1 -2
- package/lib/__tests__/connection/database/login_pane.js +9 -9
- package/lib/__tests__/connection/database/password_reset_confirmation.js +6 -6
- package/lib/__tests__/connection/database/reset_password.js +3 -3
- package/lib/__tests__/connection/database/signed_up_confirmation.js +6 -6
- package/lib/__tests__/connection/enterprise/actions.js +2 -3
- package/lib/__tests__/connection/enterprise/hrd_pane.js +4 -5
- package/lib/__tests__/connection/enterprise/hrd_screen.js +4 -5
- package/lib/__tests__/connection/enterprise/quick_auth_screen.js +10 -10
- package/lib/__tests__/connection/passwordless/ask_vcode.js +4 -5
- package/lib/__tests__/connection/passwordless/email_sent_confirmation.js +6 -6
- package/lib/__tests__/connection/passwordless/passwordless.js +7 -7
- package/lib/__tests__/core/actions.js +3 -4
- package/lib/__tests__/core/client/index.js +1 -1
- package/lib/__tests__/core/index.js +5 -5
- package/lib/__tests__/core/remote_data.js +5 -6
- package/lib/__tests__/core/signed_in_confirmation.js +6 -6
- package/lib/__tests__/core/sso/last_login_screen.js +11 -11
- package/lib/__tests__/core/tenant.js +1 -1
- package/lib/__tests__/core/web_api.js +2 -2
- package/lib/__tests__/engine/classic/login.js +9 -9
- package/lib/__tests__/engine/classic/mfa_login_screen.js +2 -2
- package/lib/__tests__/engine/classic/sign_up_pane.js +11 -11
- package/lib/__tests__/engine/classic/sign_up_screen.js +8 -8
- package/lib/__tests__/engine/classic.js +1 -1
- package/lib/__tests__/engine/passwordless/social_or_email_login_screen.js +3 -3
- package/lib/__tests__/engine/passwordless/social_or_phone_number_login_screen.js +3 -3
- package/lib/__tests__/field/captcha/arkose.js +6 -6
- package/lib/__tests__/field/captcha/auth0_v2.js +6 -6
- package/lib/__tests__/field/captcha/friendlyCaptcha.js +6 -6
- package/lib/__tests__/field/captcha/hcaptcha.js +6 -6
- package/lib/__tests__/field/captcha/recaptcha_enterprise.js +6 -6
- package/lib/__tests__/field/captcha/recaptchav2.js +6 -6
- package/lib/__tests__/field/captcha/third_party_captcha.js +12 -13
- package/lib/__tests__/field/captcha.js +8 -8
- package/lib/__tests__/field/custom_input.js +13 -13
- package/lib/__tests__/field/email_pane.js +8 -8
- package/lib/__tests__/field/field.js +2 -2
- package/lib/__tests__/field/login_pane.js +12 -12
- package/lib/__tests__/field/mfa_code_pane.js +4 -4
- package/lib/__tests__/field/option_selection_pane.js +4 -4
- package/lib/__tests__/field/password.js +1 -1
- package/lib/__tests__/field/password_pane.js +12 -12
- package/lib/__tests__/field/phone_number_pane.js +8 -8
- package/lib/__tests__/field/social_buttons_pane.js +8 -8
- package/lib/__tests__/field/username.js +1 -1
- package/lib/__tests__/field/username_pane.js +10 -10
- package/lib/__tests__/field/vcode.js +1 -1
- package/lib/__tests__/field/vcode_pane.js +9 -9
- package/lib/__tests__/i18n.js +2 -3
- package/lib/__tests__/setup-tests.js +1 -1
- package/lib/__tests__/testUtils.js +4 -4
- package/lib/__tests__/ui/box/chrome.js +8 -8
- package/lib/__tests__/ui/box/confirmation_pane.js +6 -6
- package/lib/__tests__/ui/box/container.js +2 -2
- package/lib/__tests__/ui/box/global_message.js +10 -10
- package/lib/__tests__/ui/input/email_input.js +2 -2
- package/lib/__tests__/ui/input/input_wrap.js +2 -2
- package/lib/__tests__/ui/input/password/password_strength.js +2 -2
- package/lib/__tests__/ui/input/password_input.js +5 -5
- package/lib/__tests__/utils/format.js +1 -1
- package/lib/avatar/gravatar_provider.js +1 -1
- package/lib/avatar.js +1 -2
- package/lib/browser.js +1 -2
- package/lib/connection/captcha.js +2 -3
- package/lib/connection/database/actions.js +4 -5
- package/lib/connection/database/index.js +2 -3
- package/lib/connection/database/login_pane.js +11 -12
- package/lib/connection/database/login_sign_up_tabs.js +11 -12
- package/lib/connection/database/mfa_pane.js +9 -9
- package/lib/connection/database/password_reset_confirmation.js +10 -11
- package/lib/connection/database/reset_password.js +10 -11
- package/lib/connection/database/reset_password_pane.js +11 -12
- package/lib/connection/database/sign_up_terms.js +1 -1
- package/lib/connection/database/signed_up_confirmation.js +10 -11
- package/lib/connection/enterprise/actions.js +2 -3
- package/lib/connection/enterprise/hrd_pane.js +10 -11
- package/lib/connection/enterprise/hrd_screen.js +10 -11
- package/lib/connection/enterprise/kerberos_screen.js +10 -11
- package/lib/connection/enterprise/quick_auth_screen.js +10 -11
- package/lib/connection/enterprise/single_sign_on_notice.js +1 -1
- package/lib/connection/enterprise.js +6 -7
- package/lib/connection/passwordless/actions.js +3 -4
- package/lib/connection/passwordless/ask_vcode.js +9 -9
- package/lib/connection/passwordless/email_sent_confirmation.js +11 -12
- package/lib/connection/passwordless/index.js +2 -3
- package/lib/connection/social/index.js +1 -2
- package/lib/core/actions.js +3 -4
- package/lib/core/client/index.js +8 -9
- package/lib/core/client/settings.js +2 -3
- package/lib/core/error_screen.js +10 -11
- package/lib/core/index.js +3 -4
- package/lib/core/loading_screen.js +10 -11
- package/lib/core/pane_separator.js +1 -1
- package/lib/core/remote_data.js +2 -3
- package/lib/core/screen.js +4 -5
- package/lib/core/signed_in_confirmation.js +10 -11
- package/lib/core/sso/data.js +1 -1
- package/lib/core/sso/last_login_screen.js +10 -11
- package/lib/core/tenant/index.js +8 -9
- package/lib/core/tenant/settings.js +1 -2
- package/lib/core/web_api/helper.js +5 -5
- package/lib/core/web_api/p2_api.js +5 -5
- package/lib/core/web_api.js +4 -4
- package/lib/core.js +10 -11
- package/lib/engine/classic/login.js +10 -11
- package/lib/engine/classic/mfa_login_screen.js +10 -11
- package/lib/engine/classic/sign_up_pane.js +10 -11
- package/lib/engine/classic/sign_up_screen.js +10 -11
- package/lib/engine/classic.js +6 -7
- package/lib/engine/passwordless/social_or_email_login_screen.js +10 -11
- package/lib/engine/passwordless/social_or_phone_number_login_screen.js +10 -11
- package/lib/engine/passwordless.js +5 -6
- package/lib/field/captcha/captcha_pane.js +10 -11
- package/lib/field/captcha/third_party_captcha.js +10 -10
- package/lib/field/custom_input.js +3 -4
- package/lib/field/email/email_pane.js +10 -11
- package/lib/field/email.js +2 -3
- package/lib/field/index.js +2 -3
- package/lib/field/mfa-code/mfa_code_pane.js +10 -11
- package/lib/field/mfa_code.js +1 -1
- package/lib/field/option_selection_pane.js +1 -1
- package/lib/field/password/password_pane.js +11 -12
- package/lib/field/password.js +1 -1
- package/lib/field/phone-number/phone_number_pane.js +10 -11
- package/lib/field/phone_number.js +1 -1
- package/lib/field/social/event.js +1 -2
- package/lib/field/social/social_buttons_pane.js +10 -11
- package/lib/field/username/username_pane.js +10 -11
- package/lib/field/username.js +1 -1
- package/lib/field/vcode/vcode_pane.js +11 -12
- package/lib/i18n.js +5 -6
- package/lib/index.js +1 -1
- package/lib/lock.js +11 -12
- package/lib/passwordless.js +11 -12
- package/lib/quick-auth/actions.js +2 -3
- package/lib/sanitizer.js +3 -2
- package/lib/store/index.js +1 -1
- package/lib/sync.js +6 -7
- package/lib/ui/box/button.js +1 -1
- package/lib/ui/box/chrome.js +13 -14
- package/lib/ui/box/confirmation_pane.js +2 -3
- package/lib/ui/box/container.js +10 -11
- package/lib/ui/box/global_message.js +9 -9
- package/lib/ui/box/header.js +10 -10
- package/lib/ui/box/multisize_slide.js +11 -11
- package/lib/ui/box/success_pane.js +2 -2
- package/lib/ui/box.js +6 -6
- package/lib/ui/button/auth_button.js +1 -1
- package/lib/ui/input/captcha_input.js +13 -13
- package/lib/ui/input/checkbox_input.js +9 -9
- package/lib/ui/input/email_input.js +12 -12
- package/lib/ui/input/input_wrap.js +9 -9
- package/lib/ui/input/location_input.js +9 -9
- package/lib/ui/input/mfa_code_input.js +13 -13
- package/lib/ui/input/password/password_strength.js +18 -18
- package/lib/ui/input/password_input.js +14 -15
- package/lib/ui/input/phone_number_input.js +12 -12
- package/lib/ui/input/select_input.js +9 -9
- package/lib/ui/input/text_input.js +12 -12
- package/lib/ui/input/username_input.js +12 -12
- package/lib/ui/input/vcode_input.js +12 -12
- package/lib/ui/list.js +12 -13
- package/lib/ui/pane/quick_auth_pane.js +1 -1
- package/lib/utils/atom.js +3 -3
- package/lib/utils/cache.js +8 -8
- package/lib/utils/cdn_utils.js +1 -1
- package/lib/utils/createRef.js +3 -3
- package/lib/utils/jsonp_utils.js +4 -4
- package/package.json +15 -12
- package/.github/workflows/semgrep.yml +0 -40
package/lib/utils/cache.js
CHANGED
|
@@ -5,15 +5,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
-
function _toConsumableArray(
|
|
8
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
9
9
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
-
function _unsupportedIterableToArray(
|
|
11
|
-
function _iterableToArray(
|
|
12
|
-
function _arrayWithoutHoles(
|
|
13
|
-
function _arrayLikeToArray(
|
|
14
|
-
function _classCallCheck(
|
|
15
|
-
function _defineProperties(
|
|
16
|
-
function _createClass(
|
|
10
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
11
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
12
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
13
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
14
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
15
|
+
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
16
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
17
17
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
18
18
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
19
19
|
var Cache = exports.default = /*#__PURE__*/function () {
|
package/lib/utils/cdn_utils.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.load = load;
|
|
7
7
|
exports.preload = preload;
|
|
8
8
|
var _auth0Js = _interopRequireDefault(require("auth0-js"));
|
|
9
|
-
function _interopRequireDefault(
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
10
|
if (typeof window !== 'undefined' && !window.Auth0) {
|
|
11
11
|
window.Auth0 = {};
|
|
12
12
|
}
|
package/lib/utils/createRef.js
CHANGED
package/lib/utils/jsonp_utils.js
CHANGED
|
@@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _jsonp = _interopRequireDefault(require("jsonp"));
|
|
8
|
-
function _interopRequireDefault(
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
10
|
-
function _classCallCheck(
|
|
11
|
-
function _defineProperties(
|
|
12
|
-
function _createClass(
|
|
10
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
11
|
+
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
12
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
13
13
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
14
14
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
15
15
|
var JSONPUtils = /*#__PURE__*/function () {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "auth0-lock",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "14.1.0",
|
|
4
4
|
"description": "Auth0 Lock",
|
|
5
5
|
"author": "Auth0 <support@auth0.com> (http://auth0.com)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -28,12 +28,12 @@
|
|
|
28
28
|
"dist": "grunt dist",
|
|
29
29
|
"prepublish": "cross-env BABEL_ENV=npm grunt dist",
|
|
30
30
|
"lint": "eslint --ext .jsx,.js src/",
|
|
31
|
-
"test:e2e": "cross-env BABEL_ENV=test karma start
|
|
31
|
+
"test:e2e": "cross-env BABEL_ENV=test karma start",
|
|
32
32
|
"test:e2e:watch": "cross-env BABEL_ENV=test karma start --browsers Chrome --single-run=false",
|
|
33
33
|
"test:e2e:browserstack": "cross-env BABEL_ENV=test karma start",
|
|
34
34
|
"test": "jest --coverage --runInBand",
|
|
35
35
|
"test:watch": "jest --watch --coverage",
|
|
36
|
-
"test:es-check": "es-check
|
|
36
|
+
"test:es-check": "es-check es2017 'build/*.js'",
|
|
37
37
|
"publish:cdn": "ccu --trace",
|
|
38
38
|
"i18n:translate": "grunt dist && node scripts/complete-translations.js && npm run i18n:prettier && npm run build",
|
|
39
39
|
"i18n:prettier": "prettier --write src/i18n/*",
|
|
@@ -62,9 +62,9 @@
|
|
|
62
62
|
"@babel/preset-env": "^7.0.0",
|
|
63
63
|
"@babel/preset-react": "^7.0.0",
|
|
64
64
|
"@cfaester/enzyme-adapter-react-18": "^0.8.0",
|
|
65
|
-
"@google-cloud/translate": "^
|
|
65
|
+
"@google-cloud/translate": "^9.1.0",
|
|
66
66
|
"babel-jest": "^29.3.1",
|
|
67
|
-
"babel-loader": "8.
|
|
67
|
+
"babel-loader": "8.4.1",
|
|
68
68
|
"babel-plugin-stylus-compiler": "^1.4.0",
|
|
69
69
|
"babel-plugin-transform-css-import-to-string": "0.0.2",
|
|
70
70
|
"babel-plugin-version-inline": "^1.0.0",
|
|
@@ -81,16 +81,15 @@
|
|
|
81
81
|
"eslint-config-prettier": "^8.8.0",
|
|
82
82
|
"eslint-plugin-react": "^7.32.2",
|
|
83
83
|
"esm": "^3.2.25",
|
|
84
|
-
"events": "^3.3.0",
|
|
85
84
|
"expect.js": "^0.3.1",
|
|
86
85
|
"flat": "^5.0.2",
|
|
87
86
|
"glob": "^7.1.7",
|
|
88
87
|
"grunt": "^1.3.0",
|
|
89
88
|
"grunt-babel": "^8.0.0",
|
|
90
|
-
"grunt-cli": "^
|
|
89
|
+
"grunt-cli": "^1.5.0",
|
|
91
90
|
"grunt-concurrent": "^2.3.1",
|
|
92
91
|
"grunt-contrib-clean": "^0.7.0",
|
|
93
|
-
"grunt-env": "^0.
|
|
92
|
+
"grunt-env": "^1.0.1",
|
|
94
93
|
"grunt-exec": "^0.4.6",
|
|
95
94
|
"grunt-webpack": "^5.0.0",
|
|
96
95
|
"husky": "^7.0.2",
|
|
@@ -105,12 +104,12 @@
|
|
|
105
104
|
"karma-mocha": "^2.0.1",
|
|
106
105
|
"karma-mocha-reporter": "^2.2.5",
|
|
107
106
|
"lint-staged": "^13.2.3",
|
|
108
|
-
"mocha": "^
|
|
107
|
+
"mocha": "^11.5.0",
|
|
109
108
|
"prettier": "^2.4.1",
|
|
110
|
-
"puppeteer": "^
|
|
109
|
+
"puppeteer": "^24.9.0",
|
|
111
110
|
"react-test-renderer": "^18.2.0",
|
|
112
111
|
"sinon": "^1.15.4",
|
|
113
|
-
"stylus": "^0.
|
|
112
|
+
"stylus": "^0.64.0",
|
|
114
113
|
"stylus-loader": "^3.0.2",
|
|
115
114
|
"tmp": "^0.2.1",
|
|
116
115
|
"unminified-webpack-plugin": "^3.0.0",
|
|
@@ -124,7 +123,8 @@
|
|
|
124
123
|
"auth0-password-policies": "^1.0.2",
|
|
125
124
|
"blueimp-md5": "^2.19.0",
|
|
126
125
|
"classnames": "^2.3.2",
|
|
127
|
-
"dompurify": "^2.5
|
|
126
|
+
"dompurify": "^3.2.5",
|
|
127
|
+
"events": "^3.3.0",
|
|
128
128
|
"immutable": "^3.7.6",
|
|
129
129
|
"jsonp": "^0.2.1",
|
|
130
130
|
"password-sheriff": "^1.1.1",
|
|
@@ -187,5 +187,8 @@
|
|
|
187
187
|
"*.{js,jsx,json}": [
|
|
188
188
|
"prettier --write"
|
|
189
189
|
]
|
|
190
|
+
},
|
|
191
|
+
"optionalDependencies": {
|
|
192
|
+
"fsevents": "^2.3.3"
|
|
190
193
|
}
|
|
191
194
|
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
name: Semgrep
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
merge_group:
|
|
5
|
-
pull_request:
|
|
6
|
-
types:
|
|
7
|
-
- opened
|
|
8
|
-
- synchronize
|
|
9
|
-
push:
|
|
10
|
-
branches:
|
|
11
|
-
- master
|
|
12
|
-
schedule:
|
|
13
|
-
- cron: '30 0 1,15 * *'
|
|
14
|
-
|
|
15
|
-
permissions:
|
|
16
|
-
contents: read
|
|
17
|
-
|
|
18
|
-
concurrency:
|
|
19
|
-
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
20
|
-
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
|
|
21
|
-
|
|
22
|
-
jobs:
|
|
23
|
-
run:
|
|
24
|
-
name: Check for Vulnerabilities
|
|
25
|
-
runs-on: ubuntu-latest
|
|
26
|
-
|
|
27
|
-
container:
|
|
28
|
-
image: returntocorp/semgrep
|
|
29
|
-
|
|
30
|
-
steps:
|
|
31
|
-
- if: github.actor == 'dependabot[bot]' || github.event_name == 'merge_group'
|
|
32
|
-
run: exit 0 # Skip unnecessary test runs for dependabot and merge queues. Artifically flag as successful, as this is a required check for branch protection.
|
|
33
|
-
|
|
34
|
-
- uses: actions/checkout@v4
|
|
35
|
-
with:
|
|
36
|
-
ref: ${{ github.event.pull_request.head.sha || github.ref }}
|
|
37
|
-
|
|
38
|
-
- run: semgrep ci
|
|
39
|
-
env:
|
|
40
|
-
SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }}
|