From 70b0b86bdb353b40c8a09aff64b958ab145cac2f Mon Sep 17 00:00:00 2001 From: Keegan George Date: Tue, 20 May 2025 18:57:49 -0700 Subject: [PATCH] DEV: Add jsDiff dependency For use in Discourse AI (https://github.com/discourse/discourse-ai/pull/1355) --- .../javascripts/discourse/app/lib/load-js-diff.js | 7 +++++++ app/assets/javascripts/discourse/package.json | 7 ++++--- package.json | 2 +- pnpm-lock.yaml | 15 ++++++++++++--- 4 files changed, 24 insertions(+), 7 deletions(-) create mode 100644 app/assets/javascripts/discourse/app/lib/load-js-diff.js diff --git a/app/assets/javascripts/discourse/app/lib/load-js-diff.js b/app/assets/javascripts/discourse/app/lib/load-js-diff.js new file mode 100644 index 0000000000000..3be4da6b4aa2d --- /dev/null +++ b/app/assets/javascripts/discourse/app/lib/load-js-diff.js @@ -0,0 +1,7 @@ +/* +Plugins & themes are unable to async-import npm modules directly. +This wrapper provides them with a way to use morphlex, while keeping the `import()` in core's codebase. +*/ +export default async function loadJSDiff() { + return await import("diff"); +} diff --git a/app/assets/javascripts/discourse/package.json b/app/assets/javascripts/discourse/package.json index aa0d4951c3a60..21ed852f49449 100644 --- a/app/assets/javascripts/discourse/package.json +++ b/app/assets/javascripts/discourse/package.json @@ -27,6 +27,7 @@ "@messageformat/runtime": "^3.0.1", "ace-builds": "^1.41.0", "decorator-transforms": "^2.3.0", + "diff": "^8.0.1", "discourse-widget-hbs": "workspace:1.0.0", "ember-curry-component": "^0.3.0", "ember-resolver": "^13.1.1", @@ -35,6 +36,8 @@ "highlight.js": "11.11.1", "immer": "^10.1.1", "jspreadsheet-ce": "^4.15.0", + "moment": "2.30.1", + "moment-timezone": "0.5.45", "morphlex": "^0.0.16", "orderedmap": "^2.1.1", "pretty-text": "workspace:1.0.0", @@ -51,9 +54,7 @@ "prosemirror-schema-list": "^1.5.1", "prosemirror-state": "^1.4.3", "prosemirror-transform": "^1.10.4", - "prosemirror-view": "^1.39.3", - "moment": "2.30.1", - "moment-timezone": "0.5.45" + "prosemirror-view": "^1.39.3" }, "devDependencies": { "@babel/core": "^7.27.1", diff --git a/package.json b/package.json index 8ee231986b288..97976131b295b 100644 --- a/package.json +++ b/package.json @@ -84,4 +84,4 @@ ] } } -} +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 70310a11d06e6..34e33d3346249 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -284,6 +284,9 @@ importers: decorator-transforms: specifier: ^2.3.0 version: 2.3.0(@babel/core@7.27.1) + diff: + specifier: ^8.0.1 + version: 8.0.1 discourse-widget-hbs: specifier: workspace:1.0.0 version: link:../discourse-widget-hbs @@ -683,7 +686,7 @@ importers: version: 4.3.0 ember-this-fallback: specifier: ^0.4.0 - version: 0.4.0(patch_hash=znalyv6akdxlqfpmxunrdi3osa)(ember-cli-htmlbars@6.3.0)(ember-source@5.12.0(patch_hash=xx7mvsb7nmshqkkqhmf45r3hse)(@glimmer/component@1.1.2(@babel/core@7.27.1))(@glint/template@1.4.1-unstable.34c4510)(rsvp@4.8.5)(webpack@5.99.8(@swc/core@1.11.24)(esbuild@0.25.4))) + version: 0.4.0(patch_hash=znalyv6akdxlqfpmxunrdi3osa)(ember-cli-htmlbars@6.3.0)(ember-source@5.12.0(patch_hash=xx7mvsb7nmshqkkqhmf45r3hse)(@glimmer/component@1.1.2(@babel/core@7.27.1))(@glint/template@1.4.1-unstable.34c4510)(rsvp@4.8.5)) devDependencies: ember-cli: specifier: ~6.4.0 @@ -1050,7 +1053,7 @@ importers: version: 5.12.0(patch_hash=xx7mvsb7nmshqkkqhmf45r3hse)(@glimmer/component@1.1.2(@babel/core@7.27.1))(@glint/template@1.4.1-unstable.34c4510)(rsvp@4.8.5)(webpack@5.99.8(@swc/core@1.11.24)(esbuild@0.25.4)) ember-this-fallback: specifier: ^0.4.0 - version: 0.4.0(patch_hash=znalyv6akdxlqfpmxunrdi3osa)(ember-cli-htmlbars@6.3.0)(ember-source@5.12.0(patch_hash=xx7mvsb7nmshqkkqhmf45r3hse)(@glimmer/component@1.1.2(@babel/core@7.27.1))(@glint/template@1.4.1-unstable.34c4510)(rsvp@4.8.5)(webpack@5.99.8(@swc/core@1.11.24)(esbuild@0.25.4))) + version: 0.4.0(patch_hash=znalyv6akdxlqfpmxunrdi3osa)(ember-cli-htmlbars@6.3.0)(ember-source@5.12.0(patch_hash=xx7mvsb7nmshqkkqhmf45r3hse)(@glimmer/component@1.1.2(@babel/core@7.27.1))(@glint/template@1.4.1-unstable.34c4510)(rsvp@4.8.5)) fastestsmallesttextencoderdecoder: specifier: ^1.0.22 version: 1.0.22 @@ -4203,6 +4206,10 @@ packages: resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} engines: {node: '>=0.3.1'} + diff@8.0.1: + resolution: {integrity: sha512-rEaM3KmVm78zE3dFZaop3aCQa2MTm+T4kcigUFLVU/KbOYdiY6JnL2g2puOYnct3QFw9pjZadaCbCZ1O8ArMlQ==} + engines: {node: '>=0.3.1'} + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -12672,6 +12679,8 @@ snapshots: diff@7.0.0: {} + diff@8.0.1: {} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -13431,7 +13440,7 @@ snapshots: transitivePeerDependencies: - supports-color - ember-this-fallback@0.4.0(patch_hash=znalyv6akdxlqfpmxunrdi3osa)(ember-cli-htmlbars@6.3.0)(ember-source@5.12.0(patch_hash=xx7mvsb7nmshqkkqhmf45r3hse)(@glimmer/component@1.1.2(@babel/core@7.27.1))(@glint/template@1.4.1-unstable.34c4510)(rsvp@4.8.5)(webpack@5.99.8(@swc/core@1.11.24)(esbuild@0.25.4))): + ember-this-fallback@0.4.0(patch_hash=znalyv6akdxlqfpmxunrdi3osa)(ember-cli-htmlbars@6.3.0)(ember-source@5.12.0(patch_hash=xx7mvsb7nmshqkkqhmf45r3hse)(@glimmer/component@1.1.2(@babel/core@7.27.1))(@glint/template@1.4.1-unstable.34c4510)(rsvp@4.8.5)): dependencies: '@glimmer/syntax': 0.84.3 babel-plugin-ember-template-compilation: 2.4.1