diff --git a/.gitignore b/.gitignore index 3df9122dac0..96504847851 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # Hugo public/* +public_local/* !public/.gitkeep data/service_checks/ data/npm diff --git a/config/searchonly/config.yaml b/config/searchonly/config.yaml new file mode 100644 index 00000000000..d0bc5770b6d --- /dev/null +++ b/config/searchonly/config.yaml @@ -0,0 +1,30 @@ +disableLanguages: + - fr + - ja + - ko + - es + +module: + mounts: + - source: content/en/api + target: content/api + lang: en + - source: layouts + target: layouts + excludeFiles: + - 'shortcodes/.cdocs_temp/*' + - 'shortcodes/mdoc/*' + - source: data + target: data + - source: i18n + target: i18n + - source: static + target: static + - source: static + target: assets + - source: assets + target: assets + - source: "./node_modules/@datadog/browser-rum/bundle/datadog-rum.js" + target: "assets/node_modules/datadog-rum.js" + - source: "./node_modules/@datadog/browser-logs/bundle/datadog-logs.js" + target: "assets/node_modules/datadog-logs.js" diff --git a/layouts/_default/list.search.json b/layouts/_default/list.search.json index 54645fd3da9..ca0d7405ded 100644 --- a/layouts/_default/list.search.json +++ b/layouts/_default/list.search.json @@ -2,11 +2,24 @@ {{ $.Scratch.Add "algoliaindex" slice }} {{ $section := $.Site.GetPage "section" .Section }} {{ $hugo_context := . }} - {{ $apiPagesWithoutTypeAPI := slice "api/latest/" "api/latest/rate-limits/" "api/latest/scopes/" }} - {{ range (where (where (where .Site.AllPages "Kind" "!=" "home") "Type" "!=" "api") ".RelPermalink" "not in" $apiPagesWithoutTypeAPI) }} + {{- /* + Static API pages live under /api/ and carry `type: api`, but they have markdown + bodies that should be indexed alongside other documentation. Generated API + endpoint pages keep being indexed by api-pages-full-index.json. + */ -}} + {{ $apiStaticPages := slice "/api/latest/" "/api/latest/using-the-api/" "/api/latest/rate-limits/" "/api/latest/scopes/" }} + + {{ range (where .Site.AllPages "Kind" "!=" "home") }} {{ $page := . }} - {{ if and ($page.IsDescendant $section) (ne $page.Params.type "partners") (ne $page.Params.private true) (not (in $page.RelPermalink "/faq")) (not $page.Draft) (not (isset .Params "external_redirect")) }} + + {{- $comparePath := $page.RelPermalink -}} + {{- if ne $page.Language.Lang "en" -}} + {{- $comparePath = strings.TrimPrefix (printf "/%s" $page.Language.Lang) $comparePath -}} + {{- end -}} + {{- $isApiStatic := in $apiStaticPages $comparePath -}} + + {{ if and (or (ne $page.Type "api") $isApiStatic) ($page.IsDescendant $section) (ne $page.Params.type "partners") (ne $page.Params.private true) (not (in $page.RelPermalink "/faq")) (not $page.Draft) (not (isset .Params "external_redirect")) }} {{- /* Generate unique ID for each page. Use file path when available, fallback to RelPermalink for pages without files (e.g. virtual pages). This avoids duplicate IDs while preserving existing IDs for 300k+ items. */ -}} {{ $rel_path := "" }} {{ with $page.File }} diff --git a/package.json b/package.json index b003504289b..5072641c074 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@popperjs/core": "^2.11.8", "alpinejs": "^3.13.7", "bootstrap": "^5.2", - "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-hugo-integration-v4.4.0.tgz", + "cdocs-hugo-integration": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-hugo-integration-v4.2.0.tgz", "del": "4.1.1", "fancy-log": "^1.3.3", "geo-locate": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/geo-locate-v1.0.2.tgz", @@ -83,7 +83,7 @@ "traverse": "0.6.8", "typesense": "^3.0.1", "typesense-instantsearch-adapter": "^2.9.0", - "typesense-sync": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v2.0.0.tgz", + "typesense-sync": "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/reda.elissati/typesense-sync-streaming-fix-invalid-string/typesense-sync-v2.0.1-beta.5.tgz", "yaml-lint": "^1.7.0" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index b64bcce80f2..02f865364df 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3747,14 +3747,14 @@ __metadata: languageName: node linkType: hard -"@prettier/sync@npm:^0.6.1": - version: 0.6.1 - resolution: "@prettier/sync@npm:0.6.1" +"@prettier/sync@npm:^0.5.2": + version: 0.5.5 + resolution: "@prettier/sync@npm:0.5.5" dependencies: - make-synchronized: "npm:^0.8.0" + make-synchronized: "npm:^0.4.2" peerDependencies: prettier: "*" - checksum: 10/2c53cd4ee718e2ebd2fb31aa5ec4773f743b9c29fcc6db6794dc3553bc87aa8fe7db47b51add6809cab655520b7550329d1cce2ca837f6f4643991eff44abad1 + checksum: 10/82d620af71028d0ea2d60f1349102ffac86bc5a8fca574d4049772341e76151b6ba477f2657e55eae18d4b37d604b73f8cb15b41c7f6427ada8ab2668f940320 languageName: node linkType: hard @@ -6198,13 +6198,6 @@ __metadata: languageName: node linkType: hard -"balanced-match@npm:^4.0.2": - version: 4.0.4 - resolution: "balanced-match@npm:4.0.4" - checksum: 10/fb07bb66a0959c2843fc055838047e2a95ccebb837c519614afb067ebfdf2fa967ca8d712c35ced07f2cd26fc6f07964230b094891315ad74f11eba3d53178a0 - languageName: node - linkType: hard - "bare-events@npm:^2.2.0": version: 2.4.2 resolution: "bare-events@npm:2.4.2" @@ -6338,15 +6331,6 @@ __metadata: languageName: node linkType: hard -"brace-expansion@npm:^5.0.5": - version: 5.0.6 - resolution: "brace-expansion@npm:5.0.6" - dependencies: - balanced-match: "npm:^4.0.2" - checksum: 10/a7acf120fefa79e9d7c9c92898114f57c07596a3920197f3c5917e6a628b04220a5f7f9618c30bdd973a6576a32113b99f9c3f1c8245ccc399dd2a9a718d81d8 - languageName: node - linkType: hard - "braces@npm:^2.3.1": version: 2.3.2 resolution: "braces@npm:2.3.2" @@ -6663,11 +6647,11 @@ __metadata: languageName: node linkType: hard -"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-hugo-integration-v4.4.0.tgz": - version: 4.4.0 - resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-hugo-integration-v4.4.0.tgz" +"cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-hugo-integration-v4.2.0.tgz": + version: 4.2.0 + resolution: "cdocs-hugo-integration@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-hugo-integration-v4.2.0.tgz" dependencies: - "@prettier/sync": "npm:^0.6.1" + "@prettier/sync": "npm:^0.5.2" "@types/markdown-it": "npm:^14.1.2" "@vitejs/plugin-react": "npm:^4.3.3" cdocs-data: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-data-v2.0.0.tgz" @@ -6675,7 +6659,7 @@ __metadata: chokidar: "npm:^4.0.3" chroma-highlight: "npm:^2.4.2" interweave: "npm:^13.1.0" - js-yaml: "npm:^4.1.1" + js-yaml: "npm:^4.1.0" lit: "npm:^3.1.4" markdown-it: "npm:12.3.2" markdown-it-deflist: "npm:^3.0.0" @@ -6683,14 +6667,14 @@ __metadata: prettier: "npm:^3.5.3" react: "npm:^18.3.1" react-dom: "npm:^18.3.1" - rimraf: "npm:^6.1.3" + rimraf: "npm:^5.0.5" rollup: "npm:^4.19.1" stringcase: "npm:^4.3.1" uuid: "npm:^10.0.0" vite: "npm:^5.4.10" vite-plugin-singlefile: "npm:^2.0.2" zod: "npm:^4.1.12" - checksum: 10/bd533a620f8fba75e66cd4a168860b20c5502a11d4dd2575b879a9bfda03f3dcde69cee25ff2a0c30ab7bb63f1bddfca5fee20665165171c6bde336e4b4952a2 + checksum: 10/328ddcdc2cf95ec17114c835b5b3af415e55deafd181f778d8c95ea3b27b63ad84f2f6707ce63ef986c4d4ceb4b9e48b3aa213d883086daacd5bd27550d5ed78 languageName: node linkType: hard @@ -7741,7 +7725,7 @@ __metadata: acorn: "npm:^7.4.1" alpinejs: "npm:^3.13.7" bootstrap: "npm:^5.2" - cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-hugo-integration-v4.4.0.tgz" + cdocs-hugo-integration: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/cdocs-hugo-integration-v4.2.0.tgz" cross-env: "npm:^5.2.1" del: "npm:4.1.1" eslint: "npm:^6.8.0" @@ -7793,7 +7777,7 @@ __metadata: traverse: "npm:0.6.8" typesense: "npm:^3.0.1" typesense-instantsearch-adapter: "npm:^2.9.0" - typesense-sync: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v2.0.0.tgz" + typesense-sync: "https://s3.amazonaws.com/origin-static-assets/corp-node-packages/reda.elissati/typesense-sync-streaming-fix-invalid-string/typesense-sync-v2.0.1-beta.5.tgz" yaml-lint: "npm:^1.7.0" languageName: unknown linkType: soft @@ -9749,17 +9733,6 @@ __metadata: languageName: node linkType: hard -"glob@npm:^13.0.3": - version: 13.0.6 - resolution: "glob@npm:13.0.6" - dependencies: - minimatch: "npm:^10.2.2" - minipass: "npm:^7.1.3" - path-scurry: "npm:^2.0.2" - checksum: 10/201ad69e5f0aa74e1d8c00a481581f8b8c804b6a4fbfabeeb8541f5d756932800331daeba99b58fb9e4cd67e12ba5a7eba5b82fb476691588418060b84353214 - languageName: node - linkType: hard - "glob@npm:^7.0.3, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4": version: 7.1.6 resolution: "glob@npm:7.1.6" @@ -11827,17 +11800,6 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^4.1.1": - version: 4.1.1 - resolution: "js-yaml@npm:4.1.1" - dependencies: - argparse: "npm:^2.0.1" - bin: - js-yaml: bin/js-yaml.js - checksum: 10/a52d0519f0f4ef5b4adc1cde466cb54c50d56e2b4a983b9d5c9c0f2f99462047007a6274d7e95617a21d3c91fde3ee6115536ed70991cd645ba8521058b78f77 - languageName: node - linkType: hard - "jsbn@npm:1.1.0": version: 1.1.0 resolution: "jsbn@npm:1.1.0" @@ -12506,13 +12468,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^11.0.0": - version: 11.5.1 - resolution: "lru-cache@npm:11.5.1" - checksum: 10/02c4f73967d91fb101f4accf8ebac9e0541e08e16d987bdb9e9737f13e5f2c4bc33c593b98ec30e4486bf899bc97edb36fbd133684b36087336559e41edafdea - languageName: node - linkType: hard - "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" @@ -12592,10 +12547,10 @@ __metadata: languageName: node linkType: hard -"make-synchronized@npm:^0.8.0": - version: 0.8.0 - resolution: "make-synchronized@npm:0.8.0" - checksum: 10/e744bafcd61ee1ecabe6fb2c295ecb4b06a7bfe4e844222b80b7a5ae80a4d27ba657abc4892d1c702fa2f6ae568d8505e801c1498fe1379dd824ded5483d978c +"make-synchronized@npm:^0.4.2": + version: 0.4.2 + resolution: "make-synchronized@npm:0.4.2" + checksum: 10/0d7a2c8b140f821aecc360cb175fd1575170fe1b06727162fe47133ae5e37a8a33844f6f53825125525ab64e581930bdbb9593b92033c4fc9a0b5fcb47217e26 languageName: node linkType: hard @@ -12821,15 +12776,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^10.2.2": - version: 10.2.5 - resolution: "minimatch@npm:10.2.5" - dependencies: - brace-expansion: "npm:^5.0.5" - checksum: 10/19e87a931aff60ee7b9d80f39f817b8bfc54f61f8356ee3549fbf636dbccacacfec8d803eac73293955c4527cd085247dfc064bce4a5e349f8f3b85e2bf5da0f - languageName: node - linkType: hard - "minimatch@npm:^3.0.4, minimatch@npm:~3.0.2": version: 3.0.4 resolution: "minimatch@npm:3.0.4" @@ -12947,13 +12893,6 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^7.1.3": - version: 7.1.3 - resolution: "minipass@npm:7.1.3" - checksum: 10/175e4d5e20980c3cd316ae82d2c031c42f6c746467d8b1905b51060a0ba4461441a0c25bb67c025fd9617f9a3873e152c7b543c6b5ac83a1846be8ade80dffd6 - languageName: node - linkType: hard - "minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": version: 2.1.2 resolution: "minizlib@npm:2.1.2" @@ -13664,7 +13603,7 @@ __metadata: languageName: node linkType: hard -"package-json-from-dist@npm:^1.0.0, package-json-from-dist@npm:^1.0.1": +"package-json-from-dist@npm:^1.0.0": version: 1.0.1 resolution: "package-json-from-dist@npm:1.0.1" checksum: 10/58ee9538f2f762988433da00e26acc788036914d57c71c246bf0be1b60cdbd77dd60b6a3e1a30465f0b248aeb80079e0b34cb6050b1dfa18c06953bb1cbc7602 @@ -13788,16 +13727,6 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^2.0.2": - version: 2.0.2 - resolution: "path-scurry@npm:2.0.2" - dependencies: - lru-cache: "npm:^11.0.0" - minipass: "npm:^7.1.2" - checksum: 10/2b4257422bcb870a4c2d205b3acdbb213a72f5e2250f61c80f79c9d014d010f82bdf8584441612c8e1fa4eb098678f5704a66fa8377d72646bad4be38e57a2c3 - languageName: node - linkType: hard - "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -15280,18 +15209,6 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^6.1.3": - version: 6.1.3 - resolution: "rimraf@npm:6.1.3" - dependencies: - glob: "npm:^13.0.3" - package-json-from-dist: "npm:^1.0.1" - bin: - rimraf: dist/esm/bin.mjs - checksum: 10/dd98ec2ad7cd2cccae1c7110754d472eac8edb2bab8a8b057dce04edfe1433dab246a889b3fd85a66c78ca81caa1429caa0e736c7647f6832b04fd5d4dfb8ab8 - languageName: node - linkType: hard - "rollup@npm:^4.19.1, rollup@npm:^4.20.0": version: 4.34.9 resolution: "rollup@npm:4.34.9" @@ -16071,6 +15988,13 @@ __metadata: languageName: node linkType: hard +"split2@npm:^4.2.0": + version: 4.2.0 + resolution: "split2@npm:4.2.0" + checksum: 10/09bbefc11bcf03f044584c9764cd31a252d8e52cea29130950b26161287c11f519807c5e54bd9e5804c713b79c02cefe6a98f4688630993386be353e03f534ab + languageName: node + linkType: hard + "sprintf-js@npm:^1.1.3": version: 1.1.3 resolution: "sprintf-js@npm:1.1.3" @@ -16176,6 +16100,13 @@ __metadata: languageName: node linkType: hard +"stream-chain@npm:^2.2.5": + version: 2.2.5 + resolution: "stream-chain@npm:2.2.5" + checksum: 10/f9c65fe21251106083ca753d8b36f5a35dc426f5cb12851d9a872b6eb69e30ea2c94d87887bfda8c820503e842183812922532fb2adab18d5878d31a4516b956 + languageName: node + linkType: hard + "stream-combiner@npm:*": version: 0.2.2 resolution: "stream-combiner@npm:0.2.2" @@ -16195,6 +16126,15 @@ __metadata: languageName: node linkType: hard +"stream-json@npm:^1.7.0": + version: 1.9.1 + resolution: "stream-json@npm:1.9.1" + dependencies: + stream-chain: "npm:^2.2.5" + checksum: 10/8c97d3078127aaf70197b0e4b5ca668307f1768a4eb1ac4c2030056e1f862d7a11b83094b87d2b04c3c14f76a8a8657eb87b1760d57781c172e3a513c7e2b5fd + languageName: node + linkType: hard + "stream-shift@npm:^1.0.2": version: 1.0.3 resolution: "stream-shift@npm:1.0.3" @@ -17157,17 +17097,19 @@ __metadata: languageName: node linkType: hard -"typesense-sync@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v2.0.0.tgz": - version: 2.0.0 - resolution: "typesense-sync@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/master/typesense-sync-v2.0.0.tgz" +"typesense-sync@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/reda.elissati/typesense-sync-streaming-fix-invalid-string/typesense-sync-v2.0.1-beta.5.tgz": + version: 2.0.1-beta.5 + resolution: "typesense-sync@https://s3.amazonaws.com/origin-static-assets/corp-node-packages/reda.elissati/typesense-sync-streaming-fix-invalid-string/typesense-sync-v2.0.1-beta.5.tgz" dependencies: "@babel/runtime": "npm:^7.25.0" dotenv: "npm:^16.4.5" lodash: "npm:^4.17.21" + split2: "npm:^4.2.0" + stream-json: "npm:^1.7.0" typesense: "npm:^3.0.1" winston: "npm:^3.14.2" yargs: "npm:^17.7.2" - checksum: 10/3f1f9f551e9078d97000714f39a006c3ffb47dd92d544f80e50231979bce775e89ccf48ecff80b533c4428217a1109a23550a9a8250feb54bb06b37b2e0214fe + checksum: 10/3dccba2ec73db0eba69b78b76700b250b8ec6f2ad77a8eace19f91f0c773d421662f5b28d59556ae3e6840a52e5044407933e7df5e1f6d32a0bf6701228d204f languageName: node linkType: hard