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