@wix/himalaya-cli 0.951.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 +29 -3
  2. package/package.json +2 -2
package/dist/cli.mjs CHANGED
@@ -5261,6 +5261,7 @@ 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";
5264
5265
  BINDING_SIGILS = ["service", "flag", "item", "t"];
5265
5266
  BINDING_SIGIL_RE = new RegExp(
5266
5267
  `^\\$(?:${BINDING_SIGILS.filter((s) => s !== "t").join("|")})\\b|^\\$t:`
@@ -18546,7 +18547,6 @@ function shouldRevealError(args) {
18546
18547
  var EMAIL_RE, URL_HOST_RE, INTEGER_RE, NUMBER_RE;
18547
18548
  var init_validation = __esm({
18548
18549
  "../../core/ts/src/validation.ts"() {
18549
- "use strict";
18550
18550
  EMAIL_RE = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.[A-Za-z]{2,}$/;
18551
18551
  URL_HOST_RE = /^[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*(:[0-9]+)?$/;
18552
18552
  INTEGER_RE = /^[+-]?[0-9]+$/;
@@ -21971,7 +21971,6 @@ function validateWorkerSubtree(raw, slotId, policy, actionCatalog) {
21971
21971
  var WORKER_SUBTREE_CEILINGS, ID_PART, ACTION_ID;
21972
21972
  var init_worker_subtree = __esm({
21973
21973
  "../../core/ts/src/worker-subtree.ts"() {
21974
- "use strict";
21975
21974
  init_worker_subtree_safe_types_generated();
21976
21975
  WORKER_SUBTREE_CEILINGS = Object.freeze({
21977
21976
  maxEncodedBytes: 65536,
@@ -38341,7 +38340,34 @@ var init_app_source = __esm({
38341
38340
  init_pack();
38342
38341
  MAX_APP_SOURCE_BYTES = 4 * 1024 * 1024;
38343
38342
  SECRET_PATTERNS = [
38344
- { 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" },
38345
38371
  { re: /wixSession2=/, reason: "a Wix session cookie" },
38346
38372
  { re: /\bAKIA[0-9A-Z]{16}\b/, reason: "an AWS access key id" },
38347
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.951.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": "56c5f7d7ce8fffb81bdbb20070597719b8337a8729a15f0eb51317bb"
67
+ "falconPackageHash": "2e4b7457716c298e3f9e505eae8b6ccdb0d636bc6cfd1a6e39220222"
68
68
  }