@wix/himalaya-cli 0.952.0 → 0.954.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.
Files changed (2) hide show
  1. package/dist/cli.mjs +28 -4
  2. package/package.json +2 -2
package/dist/cli.mjs CHANGED
@@ -5261,7 +5261,6 @@ function resolveTranslation(value, catalog, sourceCatalog) {
5261
5261
  var BINDING_SIGILS, BINDING_SIGIL_RE, TRANSLATION_PREFIX, TRANSLATION_KEY_RE;
5262
5262
  var init_bindings = __esm({
5263
5263
  "../../core/ts/src/bindings.ts"() {
5264
- "use strict";
5265
5264
  BINDING_SIGILS = ["service", "flag", "item", "t"];
5266
5265
  BINDING_SIGIL_RE = new RegExp(
5267
5266
  `^\\$(?:${BINDING_SIGILS.filter((s) => s !== "t").join("|")})\\b|^\\$t:`
@@ -18547,7 +18546,6 @@ function shouldRevealError(args) {
18547
18546
  var EMAIL_RE, URL_HOST_RE, INTEGER_RE, NUMBER_RE;
18548
18547
  var init_validation = __esm({
18549
18548
  "../../core/ts/src/validation.ts"() {
18550
- "use strict";
18551
18549
  EMAIL_RE = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.[A-Za-z]{2,}$/;
18552
18550
  URL_HOST_RE = /^[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*(:[0-9]+)?$/;
18553
18551
  INTEGER_RE = /^[+-]?[0-9]+$/;
@@ -21972,7 +21970,6 @@ function validateWorkerSubtree(raw, slotId, policy, actionCatalog) {
21972
21970
  var WORKER_SUBTREE_CEILINGS, ID_PART, ACTION_ID;
21973
21971
  var init_worker_subtree = __esm({
21974
21972
  "../../core/ts/src/worker-subtree.ts"() {
21975
- "use strict";
21976
21973
  init_worker_subtree_safe_types_generated();
21977
21974
  WORKER_SUBTREE_CEILINGS = Object.freeze({
21978
21975
  maxEncodedBytes: 65536,
@@ -38342,7 +38339,34 @@ var init_app_source = __esm({
38342
38339
  init_pack();
38343
38340
  MAX_APP_SOURCE_BYTES = 4 * 1024 * 1024;
38344
38341
  SECRET_PATTERNS = [
38345
- { re: /-----BEGIN [A-Z ]*PRIVATE KEY-----/, reason: "a PEM private key" },
38342
+ // A real key, NOT source that discusses one. The BEGIN marker alone is not key material: it is
38343
+ // a fixed English-ish string that legitimate source carries without embedding any secret — a
38344
+ // validator that checks the prefix (apps/himi-branded-lite/store-release.ts), a test fixture that
38345
+ // stubs a `.p8`, this very file's pattern list. Matching the marker refused to archive all of
38346
+ // them, and the refusal's remedies did not fit real source, so the only escape was `--no-source`
38347
+ // — turning the backup off on every push (#2914). What separates a key from talk about one is an
38348
+ // actual base64 BODY of real volume, which prose and format-checking code do not carry.
38349
+ //
38350
+ // The body volume is COUNTED ACROSS LINE BREAKS rather than required as one unbroken run.
38351
+ // Requiring 64 *contiguous* base64 characters — RFC 7468's 64-column wrap — missed a key
38352
+ // re-wrapped narrower: a hand-edited key, or one a library emits at 48 or 32 columns, has no
38353
+ // 64-char run at all, and a scanner whose whole job is to fail closed cannot narrow on the exact
38354
+ // accident it exists to catch (an out-of-spec key that ends up in a repo). So the run allows the
38355
+ // line-break tokens a wrapped body carries between its base64 chunks — a real `\n`/`\r`, or a
38356
+ // LITERAL backslash-n from a key inlined into `.json`/`.env` (the commonest leak shape) — and
38357
+ // requires 64 of those-or-base64 positions in total. That is a body regardless of wrap width,
38358
+ // while staying far out of reach of prose and prefix-validating source, which break their base64
38359
+ // runs on spaces, dots, hyphens and quotes long before 64. (64 total, not "a few hundred",
38360
+ // because a real key split across an array of quoted per-line literals exposes as little as one
38361
+ // 64-char line between the quotes — raising the bar would reopen the fail-closed hole downward.)
38362
+ //
38363
+ // The body is still required to FOLLOW the marker within a bounded window rather than be
38364
+ // byte-adjacent to it, because a real key's body is not always the very next byte: an encrypted
38365
+ // PEM carries `Proc-Type:`/`DEK-Info:` header lines first, and a key split across an array of
38366
+ // string literals has quotes/commas between. `[\s\S]{0,256}?` (lazy) spans any of those and
38367
+ // stops at the first qualifying body; 256 clears the longest real preamble while staying far too
38368
+ // tight for an unrelated base64 constant elsewhere in a file to be mistaken for the body.
38369
+ { re: /-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]{0,256}?(?:[A-Za-z0-9+/]|\r|\n|\\n){64,}/, reason: "a PEM private key" },
38346
38370
  { re: /wixSession2=/, reason: "a Wix session cookie" },
38347
38371
  { re: /\bAKIA[0-9A-Z]{16}\b/, reason: "an AWS access key id" },
38348
38372
  { re: /\bgh[pousr]_[A-Za-z0-9]{20,}\b/, reason: "a GitHub token" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/himalaya-cli",
3
- "version": "0.952.0",
3
+ "version": "0.954.0",
4
4
  "type": "module",
5
5
  "description": "himi — the Himalaya authoring CLI. Build a Tier-5 content package on your own machine, push it to the production serve as a draft, preview it on web + Himi Player, and read worker logs back — the remote dev loop. Wraps @himalaya/serve-cli for transport.",
6
6
  "keywords": [
@@ -64,5 +64,5 @@
64
64
  "artifactId": "himalaya-cli"
65
65
  }
66
66
  },
67
- "falconPackageHash": "6c39363742507289fbff3afa06d0b9ade4dd4b51d1c72402298f9b06"
67
+ "falconPackageHash": "49df55cf2ca4d684875ca3880c43955ebe3f9614ae1bf2e79bc3c39e"
68
68
  }