1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-08-30 20:39:46 +02:00

Compare commits

...

19 Commits

Author SHA1 Message Date
Laurent Cozic
214f9916d9 Server v2.13.5 2023-11-19 09:34:30 +00:00
Laurent Cozic
87aeffa160 Server: Fixed issue with sync not immediately returning all items in certain cases 2023-11-19 09:24:20 +00:00
Henry Heino
14a2d2d795 Chore: Mobile: Don't build twice on postinstall (#9340) 2023-11-19 08:55:52 +00:00
Joplin Bot
3560bc62a2 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-11-18 18:13:50 +00:00
Joplin Bot
0729d1db27 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-11-18 12:16:13 +00:00
renovate[bot]
5f27d425bf Update dependency highlight.js to v11.9.0 (#9341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-18 10:53:36 +00:00
Joplin Bot
e2956c391d Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-11-18 06:14:34 +00:00
Joplin Bot
bdc8f30705 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-11-17 18:14:34 +00:00
Laurent Cozic
2c9bf9f03a Desktop: Fixed copying and pasting an image from Chrome in RTE 2023-11-17 18:11:17 +00:00
Henry Heino
60c2964acd Chore: Tests: Fix vscode doesn't recognize Jest types in some test files (#9337) 2023-11-17 16:04:36 +00:00
Joplin Bot
97248035b1 Doc: Auto-update documentation
Auto-updated using release-website.sh
2023-11-17 12:17:33 +00:00
Laurent Cozic
35c79a2cfb Doc: Fixes #9323: Fixed donation link 2023-11-17 12:01:45 +00:00
Henry Heino
9b9762f940 Chore: Mobile: Fix "MenuContext is deprecated" warning (#9330) 2023-11-17 11:43:01 +00:00
renovate[bot]
e186fe8936 Update dependency ts-loader to v9.5.0 (#9327)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-17 08:23:55 +00:00
renovate[bot]
213cd419f0 Update dependency node-gyp to v9.4.1 (#9333)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-17 02:20:51 +00:00
renovate[bot]
b89b5fef65 Update dependency ldapts to v7.0.6 (#9332)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-16 22:06:40 +00:00
Laurent Cozic
92dccbe98d Merge branch 'release-2.13' into dev 2023-11-16 15:11:39 +00:00
Laurent Cozic
6cd0938ee4 iOS 12.13.5 2023-11-10 13:21:02 +00:00
Laurent Cozic
c3dc30ee5d lock file 2023-11-10 13:19:52 +00:00
25 changed files with 402 additions and 75 deletions

View File

@@ -249,6 +249,8 @@ packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/styles/index.js
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/joplinCommandToTinyMceCommands.js
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/openEditDialog.js
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.js
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/shouldPasteResources.test.js
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/shouldPasteResources.js
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/types.js
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/useContextMenu.js
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/useScroll.js

2
.gitignore vendored
View File

@@ -231,6 +231,8 @@ packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/styles/index.js
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/joplinCommandToTinyMceCommands.js
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/openEditDialog.js
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/setupToolbarButtons.js
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/shouldPasteResources.test.js
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/shouldPasteResources.js
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/types.js
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/useContextMenu.js
packages/app-desktop/gui/NoteEditor/NoteBody/TinyMCE/utils/useScroll.js

View File

@@ -26,7 +26,7 @@ For more information about the applications, see the [full Joplin documentation]
Donations to Joplin support the development of the project. Developing quality applications mostly takes time, but there are also some expenses, such as digital certificates to sign the applications, app store fees, hosting, etc. Most of all, your donation will make it possible to keep up the current development standard.
Please see the [donation page](https://github.com/laurent22/joplin/blob/dev/readme/about/donate.md) for information on how to support the development of Joplin.
Please see the [donation page](https://github.com/laurent22/joplin/blob/dev/readme/donate.md) for information on how to support the development of Joplin.
# Sponsors

View File

@@ -96,7 +96,7 @@
"@types/fs-extra": "11.0.3",
"eslint-plugin-github": "4.10.0",
"http-server": "14.1.1",
"node-gyp": "9.4.0",
"node-gyp": "9.4.1",
"nodemon": "3.0.1"
},
"packageManager": "yarn@3.6.4",

View File

@@ -27,6 +27,7 @@ import bridge from '../../../../services/bridge';
import { TinyMceEditorEvents } from './utils/types';
import type { Editor } from 'tinymce';
import { joplinCommandToTinyMceCommands, TinyMceCommand } from './utils/joplinCommandToTinyMceCommands';
import shouldPasteResources from './utils/shouldPasteResources';
const { clipboard } = require('electron');
const supportedLocales = require('./supportedLocales');
@@ -1085,15 +1086,9 @@ const TinyMCE = (props: NoteBodyEditorProps, ref: any) => {
// formatted text.
const pastedHtml = event.clipboardData.getData('text/html') ? clipboard.readHTML() : '';
// We should only process the images if there is no plain text or
// HTML text in the clipboard. This is because certain applications,
// such as Word, are going to add multiple versions of the copied
// data to the clipboard - one with the text formatted as HTML, and
// one with the text as an image. In that case, we need to ignore
// the image and only process the HTML.
const resourceMds = await getResourcesFromPasteEvent(event);
if (!pastedText && !pastedHtml) {
const resourceMds = await getResourcesFromPasteEvent(event);
if (shouldPasteResources(pastedText, pastedHtml, resourceMds)) {
if (resourceMds.length) {
const result = await markupToHtml.current(MarkupToHtml.MARKUP_LANGUAGE_MARKDOWN, resourceMds.join('\n'), markupRenderOptions({ bodyOnly: true }));
editor.insertContent(result.html);

View File

@@ -0,0 +1,47 @@
import shouldPasteResources from './shouldPasteResources';
describe('shouldPasteResources', () => {
test.each([
[
'',
'',
[],
true,
],
[
'some text',
'',
[],
false,
],
[
'',
'<b>some html<b>',
[],
false,
],
[
'',
'<img src="https://example.com/img.png"/>',
[],
false,
],
[
'some text',
'<img src="https://example.com/img.png"/>',
[],
false,
],
[
'',
'<img src="https://example.com/img.png"/><p>Some text</p>',
[],
false,
],
])('should tell if clipboard content should be processed as resources', (pastedText, pastedHtml, resourceMds, expected) => {
const actual = shouldPasteResources(pastedText, pastedHtml, resourceMds);
expect(actual).toBe(expected);
});
});

View File

@@ -0,0 +1,49 @@
import { htmlDocIsImageOnly } from '@joplin/renderer/htmlUtils';
import Logger from '@joplin/utils/Logger';
const logger = Logger.create('shouldPasteResources');
// We should only process the images if there is no plain text or HTML text in
// the clipboard. This is because certain applications, such as Word, are going
// to add multiple versions of the copied data to the clipboard - one with the
// text formatted as HTML, and one with the text as an image. In that case, we
// need to ignore the image and only process the HTML.
//
// Additional source of troubles is that when copying an image from Chrome, the
// clipboard will contain two elements: The actual image (type=image), and an
// HTML fragment with a link to the image. Most of the time getting the image
// from the HTML will work... except if some authentication is required to
// access the image. In that case we'll end up with dead link in the RTE. For
// that reason, when there's only an image in the HTML document, we process
// instead the clipboard resources, which will contain the actual image.
//
// We have a lot of log statements so that if someone reports a bug we can ask
// them to check the console and give us the messages they have.
export default (pastedText: string, pastedHtml: string, resourceMds: string[]) => {
logger.info('Pasted text:', pastedText);
logger.info('Pasted HTML:', pastedHtml);
logger.info('Resources:', resourceMds);
if (pastedText) {
logger.info('Not pasting resources because the clipboard contains plain text');
return false;
}
if (pastedHtml) {
if (!htmlDocIsImageOnly(pastedHtml)) {
logger.info('Not pasting resources because the clipboard contains HTML, which contains more than just one image');
return false;
} else {
logger.info('Not pasting HTML because it only contains one image.');
}
if (!resourceMds.length) {
logger.info('Not pasting resources because there isn\'t any');
return false;
}
}
logger.info('Pasting resources');
return true;
};

View File

@@ -159,7 +159,7 @@
"electron-window-state": "5.0.3",
"formatcoords": "1.1.3",
"fs-extra": "11.1.1",
"highlight.js": "11.8.0",
"highlight.js": "11.9.0",
"immer": "7.0.15",
"keytar": "7.9.0",
"mark.js": "8.11.1",

View File

@@ -45,9 +45,6 @@ LogBox.ignoreLogs([
// Apparently it can be safely ignored:
// https://github.com/react-native-webview/react-native-webview/issues/124
'Did not receive response to shouldStartLoad in time, defaulting to YES',
// Emitted by react-native-popup-menu
'MenuContext is deprecated and it might be removed in future releases, use MenuProvider instead.',
]);
AppRegistry.registerComponent('Joplin', () => Root);

View File

@@ -359,9 +359,9 @@ PODS:
- React-Core
- react-native-rsa-native (2.0.5):
- React
- react-native-saf-x (2.13.3):
- react-native-saf-x (2.13.2):
- React-Core
- react-native-safe-area-context (4.7.4):
- react-native-safe-area-context (4.7.3):
- React-Core
- react-native-slider (4.4.3):
- React-Core
@@ -479,8 +479,7 @@ PODS:
- React
- RNShare (9.4.1):
- React-Core
- RNVectorIcons (10.0.1):
- RCT-Folly (= 2021.07.22.00)
- RNVectorIcons (10.0.0):
- React-Core
- RNZipArchive (6.1.0):
- React-Core
@@ -787,8 +786,8 @@ SPEC CHECKSUMS:
react-native-image-resizer: 681f7607418b97c084ba2d0999b153b103040d8a
react-native-netinfo: fefd4e98d75cbdd6e85fc530f7111a8afdf2b0c5
react-native-rsa-native: 12132eb627797529fdb1f0d22fd0f8f9678df64a
react-native-saf-x: 0f7531c9f8bdbb62bbd55ceb7433de7bb756cd73
react-native-safe-area-context: 2cd91d532de12acdb0a9cbc8d43ac72a8e4c897c
react-native-saf-x: a93121b21f9d5ec84d5e7fc99fdeebfbf232920a
react-native-safe-area-context: 238cd8b619e05cb904ccad97ef42e84d1b5ae6ec
react-native-slider: 1cdd6ba29675df21f30544253bf7351d3c2d68c4
react-native-sqlite-storage: f6d515e1c446d1e6d026aa5352908a25d4de3261
react-native-version-info: a106f23009ac0db4ee00de39574eb546682579b9
@@ -818,7 +817,7 @@ SPEC CHECKSUMS:
RNQuickAction: 6d404a869dc872cde841ad3147416a670d13fa93
RNSecureRandom: 07efbdf2cd99efe13497433668e54acd7df49fef
RNShare: 32e97adc8d8c97d4a26bcdd3c45516882184f8b6
RNVectorIcons: ace237de89f1574ef3c963ae9d5da3bd6fbeb02a
RNVectorIcons: 8b5bb0fa61d54cd2020af4f24a51841ce365c7e9
RNZipArchive: ef9451b849c45a29509bf44e65b788829ab07801
SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608
SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef

View File

@@ -15,7 +15,7 @@
"test": "jest",
"test-ci": "yarn test",
"watchInjectedJs": "gulp watchInjectedJs",
"postinstall": "jetify && yarn run build"
"postinstall": "jetify"
},
"dependencies": {
"@bam.tech/react-native-image-resizer": "3.0.7",
@@ -113,7 +113,7 @@
"react-test-renderer": "18.2.0",
"sqlite3": "5.1.6",
"ts-jest": "29.1.1",
"ts-loader": "9.4.4",
"ts-loader": "9.5.0",
"ts-node": "10.9.1",
"typescript": "5.2.2",
"uglify-js": "3.17.4",

View File

@@ -66,7 +66,7 @@ const { SearchScreen } = require('./components/screens/search.js');
const { OneDriveLoginScreen } = require('./components/screens/onedrive-login.js');
import EncryptionConfigScreen from './components/screens/encryption-config';
const { DropboxLoginScreen } = require('./components/screens/dropbox-login.js');
const { MenuContext } = require('react-native-popup-menu');
import { MenuProvider } from 'react-native-popup-menu';
import SideMenu from './components/SideMenu';
import SideMenuContent from './components/side-menu-content';
const { SideMenuContentNote } = require('./components/side-menu-content-note.js');
@@ -1088,7 +1088,7 @@ class AppComponent extends React.Component {
}}
>
<StatusBar barStyle={statusBarStyle} />
<MenuContext style={{ flex: 1 }}>
<MenuProvider style={{ flex: 1 }}>
<SafeAreaView style={{ flex: 0, backgroundColor: theme.backgroundColor2 }}/>
<SafeAreaView style={{ flex: 1 }}>
<View style={{ flex: 1, backgroundColor: theme.backgroundColor }}>
@@ -1101,7 +1101,7 @@ class AppComponent extends React.Component {
sensorInfo={this.state.sensorInfo}
/> }
</SafeAreaView>
</MenuContext>
</MenuProvider>
</SideMenu>
</View>
);

View File

@@ -7,8 +7,6 @@
"exclude": [
//Files that don't need transpilation
"**/node_modules",
"**/*.test.ts",
"**/*.test.tsx",
"gulpfile.ts",
"tools/*.ts",
],

View File

@@ -30,7 +30,7 @@
"jest-environment-jsdom": "29.7.0",
"style-loader": "3.3.3",
"ts-jest": "29.1.1",
"ts-loader": "9.4.4",
"ts-loader": "9.5.0",
"typescript": "5.2.2",
"webpack": "5.74.0",
"webpack-cli": "4.10.0"

View File

@@ -1,4 +1,4 @@
import htmlUtils, { extractHtmlBody } from './htmlUtils';
import htmlUtils, { extractHtmlBody, htmlDocIsImageOnly } from './htmlUtils';
describe('htmlUtils', () => {
@@ -51,4 +51,39 @@ describe('htmlUtils', () => {
}
});
test('should tell if an HTML document is an image only', () => {
const testCases: [string, boolean][] = [
[
// This is the kind of HTML that's pasted when copying an image from Chrome
'<meta charset=\'utf-8\'>\n<img src="https://example.com/img.png"/>',
true,
],
[
'',
false,
],
[
'<img src="https://example.com/img.png"/>',
true,
],
[
'<img src="https://example.com/img.png"/><img src="https://example.com/img.png"/>',
false,
],
[
'<img src="https://example.com/img.png"/><p>Some text</p>',
false,
],
[
'<img src="https://example.com/img.png"/> Some text',
false,
],
];
for (const [input, expected] of testCases) {
const actual = htmlDocIsImageOnly(input);
expect(actual).toBe(expected);
}
});
});

View File

@@ -404,4 +404,33 @@ export const extractHtmlBody = (html: string) => {
return bodyFound ? output.join('') : html;
};
export const htmlDocIsImageOnly = (html: string) => {
let imageCount = 0;
let nonImageFound = false;
let textFound = false;
const parser = new htmlparser2.Parser({
onopentag: (name: string) => {
if (name === 'img') {
imageCount++;
} else if (['meta'].includes(name)) {
// We allow these tags since they don't print anything
} else {
nonImageFound = true;
}
},
ontext: (text: string) => {
if (text.trim()) textFound = true;
},
});
parser.write(html);
parser.end();
return imageCount === 1 && !nonImageFound && !textFound;
};
export default new HtmlUtils();

View File

@@ -33,7 +33,7 @@
"@joplin/utils": "^2.13.3",
"font-awesome-filetypes": "2.1.0",
"fs-extra": "11.1.1",
"highlight.js": "11.8.0",
"highlight.js": "11.9.0",
"html-entities": "1.4.0",
"json-stringify-safe": "5.0.1",
"katex": "0.16.9",

View File

@@ -5,7 +5,6 @@
"**/*.tsx",
],
"exclude": [
"**/node_modules",
"**/*.test.ts",
"**/node_modules"
],
}

View File

@@ -1,6 +1,6 @@
{
"name": "@joplin/server",
"version": "2.13.4",
"version": "2.13.5",
"private": true,
"scripts": {
"start-dev": "yarn run build && JOPLIN_IS_TESTING=1 nodemon --config nodemon.json --ext ts,js,mustache,css,tsx dist/app.js --env dev",
@@ -40,7 +40,7 @@
"jquery": "3.7.1",
"knex": "2.5.1",
"koa": "2.14.2",
"ldapts": "7.0.5",
"ldapts": "7.0.6",
"markdown-it": "13.0.2",
"mustache": "4.2.0",
"nanoid": "2.1.11",

View File

@@ -178,6 +178,14 @@ describe('ChangeModel', () => {
expect(changeCount).toBe(SqliteMaxVariableNum);
});
test('should tell if there are more changes', async () => {
const { user } = await createUserAndSession(1, true);
await models().item().makeTestItems(user.id, 500);
const result = await models().change().delta(user.id, { limit: 100 });
expect(result.has_more).toBe(true);
});
test('should delete old changes', async () => {
// Create the following events:
//

View File

@@ -139,8 +139,6 @@ export default class ChangeModel extends BaseModel<Change> {
// as the `changes` table grew. So it is now split into two queries
// merged by a UNION ALL.
const subQueryLimit = Math.ceil(limit / 2);
const fields = [
'id',
'item_id',
@@ -169,7 +167,7 @@ export default class ChangeModel extends BaseModel<Change> {
userId,
];
if (!doCountQuery) subParams1.push(subQueryLimit);
if (!doCountQuery) subParams1.push(limit);
const subQuery2 = `
SELECT ${fieldsSql}
@@ -187,7 +185,7 @@ export default class ChangeModel extends BaseModel<Change> {
userId,
];
if (!doCountQuery) subParams2.push(subQueryLimit);
if (!doCountQuery) subParams2.push(limit);
let query: Knex.Raw<any> = null;

View File

@@ -1 +1 @@
{"processedReleases":{"v2.13.1":true,"v2.13.2":true,"v2.13.3":true,"v2.13.4":true,"v2.13.5":true}}
{"processedReleases":{"v2.13.1":true,"v2.13.2":true,"v2.13.3":true,"v2.13.4":true,"v2.13.5":true,"v2.13.6":true}}

View File

@@ -1,5 +1,16 @@
# Joplin Desktop Changelog
## [v2.13.6](https://github.com/laurent22/joplin/releases/tag/v2.13.6) (Pre-release) - 2023-11-17T19:24:03Z
- Improved: Improve toolbar button wrapping on RTE ([ccf1c8e](https://github.com/laurent22/joplin/commit/ccf1c8e))
- Improved: Install script: Work around unprivileged user namespace restrictions by adding the --no-sandbox flag to the launcher ([#9137](https://github.com/laurent22/joplin/issues/9137)) ([#9136](https://github.com/laurent22/joplin/issues/9136) by Henry Heino)
- Improved: Make settings tabs focusable by keyboard ([#9253](https://github.com/laurent22/joplin/issues/9253)) ([#9250](https://github.com/laurent22/joplin/issues/9250) by Henry Heino)
- Improved: Preserve nested tables in RTE ([#9293](https://github.com/laurent22/joplin/issues/9293))
- Improved: Updated packages mermaid (v10.5.1), sass (v1.69.5)
- Fixed: Fixed import error report ([6211606](https://github.com/laurent22/joplin/commit/6211606))
- Fixed: Import of inter-linked md files has incorrect notebook structure ([#9269](https://github.com/laurent22/joplin/issues/9269)) ([#9151](https://github.com/laurent22/joplin/issues/9151) by [@pedr](https://github.com/pedr))
- Fixed: Work around WebDAV sync issues over ipv6 ([#9286](https://github.com/laurent22/joplin/issues/9286)) ([#8788](https://github.com/laurent22/joplin/issues/8788) by Henry Heino)
## [v2.13.5](https://github.com/laurent22/joplin/releases/tag/v2.13.5) (Pre-release) - 2023-11-09T20:24:09Z
- New: Plugins: Add support for getting plugin settings from a Markdown renderer ([8be22ed](https://github.com/laurent22/joplin/commit/8be22ed))

View File

@@ -1,5 +1,12 @@
# Joplin Server Changelog
## [server-v2.13.5](https://github.com/laurent22/joplin/releases/tag/server-v2.13.5) - 2023-11-19T09:33:53Z
- Improved: Increase number of items that are returned during sync (767bf9f)
- Improved: Updated packages highlight.js (v11.9.0), ldapts (v7.0.6), sass (v1.69.5)
- Fixed: Fix severe performance issue for certain delta calls (f698068)
- Fixed: Fixed issue with sync not immediately returning all items in certain cases (87aeffa)
## [server-v2.13.4](https://github.com/laurent22/joplin/releases/tag/server-v2.13.4) - 2023-11-15T15:30:19Z
- New: Added LDAP authentication (#9150 by Marco Rombach)

221
yarn.lock
View File

@@ -5696,6 +5696,13 @@ __metadata:
languageName: node
linkType: hard
"@gar/promisify@npm:^1.1.3":
version: 1.1.3
resolution: "@gar/promisify@npm:1.1.3"
checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1
languageName: node
linkType: hard
"@github/browserslist-config@npm:^1.0.0":
version: 1.0.0
resolution: "@github/browserslist-config@npm:1.0.0"
@@ -6234,7 +6241,7 @@ __metadata:
fs-extra: 11.1.1
glob: 10.3.10
gulp: 4.0.2
highlight.js: 11.8.0
highlight.js: 11.9.0
immer: 7.0.15
jest: 29.7.0
jest-environment-jsdom: 29.7.0
@@ -6374,7 +6381,7 @@ __metadata:
tar-stream: 3.1.6
timers: 0.1.1
ts-jest: 29.1.1
ts-loader: 9.4.4
ts-loader: 9.5.0
ts-node: 10.9.1
typescript: 5.2.2
uglify-js: 3.17.4
@@ -6596,7 +6603,7 @@ __metadata:
style-loader: 3.3.3
styled-components: 5.3.11
ts-jest: 29.1.1
ts-loader: 9.4.4
ts-loader: 9.5.0
typescript: 5.2.2
webpack: 5.74.0
webpack-cli: 4.10.0
@@ -6670,7 +6677,7 @@ __metadata:
"@types/node": 18.18.7
font-awesome-filetypes: 2.1.0
fs-extra: 11.1.1
highlight.js: 11.8.0
highlight.js: 11.9.0
html-entities: 1.4.0
jest: 29.7.0
jest-environment-jsdom: 29.7.0
@@ -6736,7 +6743,7 @@ __metadata:
jsdom: 22.1.0
knex: 2.5.1
koa: 2.14.2
ldapts: 7.0.5
ldapts: 7.0.6
markdown-it: 13.0.2
mustache: 4.2.0
nanoid: 2.1.11
@@ -8095,6 +8102,16 @@ __metadata:
languageName: node
linkType: hard
"@npmcli/fs@npm:^2.1.0":
version: 2.1.2
resolution: "@npmcli/fs@npm:2.1.2"
dependencies:
"@gar/promisify": ^1.1.3
semver: ^7.3.5
checksum: 405074965e72d4c9d728931b64d2d38e6ea12066d4fad651ac253d175e413c06fe4350970c783db0d749181da8fe49c42d3880bd1cbc12cd68e3a7964d820225
languageName: node
linkType: hard
"@npmcli/fs@npm:^3.1.0":
version: 3.1.0
resolution: "@npmcli/fs@npm:3.1.0"
@@ -8142,6 +8159,16 @@ __metadata:
languageName: node
linkType: hard
"@npmcli/move-file@npm:^2.0.0":
version: 2.0.1
resolution: "@npmcli/move-file@npm:2.0.1"
dependencies:
mkdirp: ^1.0.4
rimraf: ^3.0.2
checksum: 52dc02259d98da517fae4cb3a0a3850227bdae4939dda1980b788a7670636ca2b4a01b58df03dd5f65c1e3cb70c50fa8ce5762b582b3f499ec30ee5ce1fd9380
languageName: node
linkType: hard
"@npmcli/node-gyp@npm:^3.0.0":
version: 3.0.0
resolution: "@npmcli/node-gyp@npm:3.0.0"
@@ -9770,12 +9797,12 @@ __metadata:
languageName: node
linkType: hard
"@types/asn1@npm:>=0.2.1":
version: 0.2.2
resolution: "@types/asn1@npm:0.2.2"
"@types/asn1@npm:>=0.2.2":
version: 0.2.3
resolution: "@types/asn1@npm:0.2.3"
dependencies:
"@types/node": "*"
checksum: cd64dab0a214a88360995adf86f307565bf13f14d27552590cbb8cefea30585d65385be831b644fee790654bf7d29eae6ed07ba1db0bed59075aac4fb0b8b63d
checksum: c5debd9088d664e71d87816d15a3dcd1d200ffd36b22fc82d0a0f53fba4b7a35f83e1ad1142abfb8052e47a9e516e14d4256341a11415f8b67cfb032f01a08a1
languageName: node
linkType: hard
@@ -10448,15 +10475,6 @@ __metadata:
languageName: node
linkType: hard
"@types/node@npm:>=18":
version: 20.8.9
resolution: "@types/node@npm:20.8.9"
dependencies:
undici-types: ~5.26.4
checksum: 0c05f3502a9507ff27e91dd6fd574fa6f391b3fafedcfe8e0c8d33351fb22d02c0121f854e5b6b3ecb9a8a468407ddf6e7ac0029fb236d4c7e1361ffc758a01f
languageName: node
linkType: hard
"@types/node@npm:^17.0.5":
version: 17.0.45
resolution: "@types/node@npm:17.0.45"
@@ -14370,6 +14388,32 @@ __metadata:
languageName: node
linkType: hard
"cacache@npm:^16.1.0":
version: 16.1.3
resolution: "cacache@npm:16.1.3"
dependencies:
"@npmcli/fs": ^2.1.0
"@npmcli/move-file": ^2.0.0
chownr: ^2.0.0
fs-minipass: ^2.1.0
glob: ^8.0.1
infer-owner: ^1.0.4
lru-cache: ^7.7.1
minipass: ^3.1.6
minipass-collect: ^1.0.2
minipass-flush: ^1.0.5
minipass-pipeline: ^1.2.4
mkdirp: ^1.0.4
p-map: ^4.0.0
promise-inflight: ^1.0.1
rimraf: ^3.0.2
ssri: ^9.0.0
tar: ^6.1.11
unique-filename: ^2.0.0
checksum: d91409e6e57d7d9a3a25e5dcc589c84e75b178ae8ea7de05cbf6b783f77a5fae938f6e8fda6f5257ed70000be27a681e1e44829251bfffe4c10216002f8f14e6
languageName: node
linkType: hard
"cacache@npm:^17.0.0":
version: 17.1.3
resolution: "cacache@npm:17.1.3"
@@ -21533,7 +21577,7 @@ __metadata:
languageName: node
linkType: hard
"fs-minipass@npm:^2.0.0":
"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0":
version: 2.1.0
resolution: "fs-minipass@npm:2.1.0"
dependencies:
@@ -22287,6 +22331,19 @@ __metadata:
languageName: node
linkType: hard
"glob@npm:^8.0.1":
version: 8.1.0
resolution: "glob@npm:8.1.0"
dependencies:
fs.realpath: ^1.0.0
inflight: ^1.0.4
inherits: 2
minimatch: ^5.0.1
once: ^1.3.0
checksum: 92fbea3221a7d12075f26f0227abac435de868dd0736a17170663783296d0dd8d3d532a5672b4488a439bf5d7fb85cdd07c11185d6cd39184f0385cbdfb86a47
languageName: node
linkType: hard
"glob@npm:^8.0.3":
version: 8.0.3
resolution: "glob@npm:8.0.3"
@@ -23072,10 +23129,10 @@ __metadata:
languageName: node
linkType: hard
"highlight.js@npm:11.8.0":
version: 11.8.0
resolution: "highlight.js@npm:11.8.0"
checksum: d2578a57aee7315946ff19379053fd0a28b127baabf7617ab1d28d62cdc4eaf3d75053569cb8479a5afdc7a68f1ba9a6c1d612d8ae399b4b9aa43093b4fb6831
"highlight.js@npm:11.9.0":
version: 11.9.0
resolution: "highlight.js@npm:11.9.0"
checksum: 4043d31c5de9d27d13387d9a9e5e1939557254b7b85f0fab85d9cae0e420e131a3456ebf6148552020a1d8a216d671d583f2433d6c4de6179b8a66487a8325cb
languageName: node
linkType: hard
@@ -27161,18 +27218,17 @@ __metadata:
languageName: node
linkType: hard
"ldapts@npm:7.0.5":
version: 7.0.5
resolution: "ldapts@npm:7.0.5"
"ldapts@npm:7.0.6":
version: 7.0.6
resolution: "ldapts@npm:7.0.6"
dependencies:
"@types/asn1": ">=0.2.1"
"@types/node": ">=18"
"@types/asn1": ">=0.2.2"
"@types/uuid": ">=9"
asn1: ~0.2.6
debug: ~4.3.4
strict-event-emitter-types: ~2.0.0
uuid: ~9.0.1
checksum: 063a84b6ed2ce55f1eeff374da0a5b7f12431e2c54e03bcb35fe1a5eecb6bdf6e95130b80ab28ea6b36db09a442e3e07c4e04e9bb827276e1cc1f5269597a828
checksum: 43ca9b4924459154b3692147dbe140274e164c1dc34a31692c23b742541a97ba0fe42a52193854ee0aa6f5fd9dcdaa70bc39fc16a617768ea1a260fa2ff49cb3
languageName: node
linkType: hard
@@ -27957,6 +28013,30 @@ __metadata:
languageName: node
linkType: hard
"make-fetch-happen@npm:^10.0.3":
version: 10.2.1
resolution: "make-fetch-happen@npm:10.2.1"
dependencies:
agentkeepalive: ^4.2.1
cacache: ^16.1.0
http-cache-semantics: ^4.1.0
http-proxy-agent: ^5.0.0
https-proxy-agent: ^5.0.0
is-lambda: ^1.0.1
lru-cache: ^7.7.1
minipass: ^3.1.6
minipass-collect: ^1.0.2
minipass-fetch: ^2.0.3
minipass-flush: ^1.0.5
minipass-pipeline: ^1.2.4
negotiator: ^0.6.3
promise-retry: ^2.0.1
socks-proxy-agent: ^7.0.0
ssri: ^9.0.0
checksum: 2332eb9a8ec96f1ffeeea56ccefabcb4193693597b132cd110734d50f2928842e22b84cfa1508e921b8385cdfd06dda9ad68645fed62b50fff629a580f5fb72c
languageName: node
linkType: hard
"make-fetch-happen@npm:^11.0.0, make-fetch-happen@npm:^11.0.1, make-fetch-happen@npm:^11.0.3, make-fetch-happen@npm:^11.1.1":
version: 11.1.1
resolution: "make-fetch-happen@npm:11.1.1"
@@ -29737,6 +29817,21 @@ __metadata:
languageName: node
linkType: hard
"minipass-fetch@npm:^2.0.3":
version: 2.1.2
resolution: "minipass-fetch@npm:2.1.2"
dependencies:
encoding: ^0.1.13
minipass: ^3.1.6
minipass-sized: ^1.0.3
minizlib: ^2.1.2
dependenciesMeta:
encoding:
optional: true
checksum: 3f216be79164e915fc91210cea1850e488793c740534985da017a4cbc7a5ff50506956d0f73bb0cb60e4fe91be08b6b61ef35101706d3ef5da2c8709b5f08f91
languageName: node
linkType: hard
"minipass-fetch@npm:^3.0.0":
version: 3.0.3
resolution: "minipass-fetch@npm:3.0.3"
@@ -30548,7 +30643,28 @@ __metadata:
languageName: node
linkType: hard
"node-gyp@npm:9.4.0, node-gyp@npm:^9.0.0, node-gyp@npm:latest":
"node-gyp@npm:9.4.1":
version: 9.4.1
resolution: "node-gyp@npm:9.4.1"
dependencies:
env-paths: ^2.2.0
exponential-backoff: ^3.1.1
glob: ^7.1.4
graceful-fs: ^4.2.6
make-fetch-happen: ^10.0.3
nopt: ^6.0.0
npmlog: ^6.0.0
rimraf: ^3.0.2
semver: ^7.3.5
tar: ^6.1.2
which: ^2.0.2
bin:
node-gyp: bin/node-gyp.js
checksum: 8576c439e9e925ab50679f87b7dfa7aa6739e42822e2ad4e26c36341c0ba7163fdf5a946f0a67a476d2f24662bc40d6c97bd9e79ced4321506738e6b760a1577
languageName: node
linkType: hard
"node-gyp@npm:^9.0.0, node-gyp@npm:latest":
version: 9.4.0
resolution: "node-gyp@npm:9.4.0"
dependencies:
@@ -36581,7 +36697,7 @@ __metadata:
lerna: 3.22.1
lint-staged: 14.0.1
madge: 6.1.0
node-gyp: 9.4.0
node-gyp: 9.4.1
nodemon: 3.0.1
npm-package-json-lint: 7.0.0
typescript: 5.2.2
@@ -37967,6 +38083,13 @@ __metadata:
languageName: node
linkType: hard
"source-map@npm:^0.7.4":
version: 0.7.4
resolution: "source-map@npm:0.7.4"
checksum: 01cc5a74b1f0e1d626a58d36ad6898ea820567e87f18dfc9d24a9843a351aaa2ec09b87422589906d6ff1deed29693e176194dc88bcae7c9a852dc74b311dbf5
languageName: node
linkType: hard
"space-separated-tokens@npm:^1.0.0":
version: 1.1.5
resolution: "space-separated-tokens@npm:1.1.5"
@@ -38209,6 +38332,15 @@ __metadata:
languageName: node
linkType: hard
"ssri@npm:^9.0.0":
version: 9.0.1
resolution: "ssri@npm:9.0.1"
dependencies:
minipass: ^3.1.1
checksum: fb58f5e46b6923ae67b87ad5ef1c5ab6d427a17db0bead84570c2df3cd50b4ceb880ebdba2d60726588272890bae842a744e1ecce5bd2a2a582fccd5068309eb
languageName: node
linkType: hard
"stable@npm:^0.1.8":
version: 0.1.8
resolution: "stable@npm:0.1.8"
@@ -40238,18 +40370,19 @@ __metadata:
languageName: node
linkType: hard
"ts-loader@npm:9.4.4":
version: 9.4.4
resolution: "ts-loader@npm:9.4.4"
"ts-loader@npm:9.5.0":
version: 9.5.0
resolution: "ts-loader@npm:9.5.0"
dependencies:
chalk: ^4.1.0
enhanced-resolve: ^5.0.0
micromatch: ^4.0.0
semver: ^7.3.4
source-map: ^0.7.4
peerDependencies:
typescript: "*"
webpack: ^5.0.0
checksum: 8e5e6b839b0edfa40d2156c880d88ccab58226894ea5978221bc48c7db3215e2e856bfd0093f148e925a2befc42d6c94cafa9a994a7da274541efaa916012b63
checksum: a319575faa07145917a7050ac6be7e7f8d97745c6b6ecf8097ac51cebd2d459e8f8b2519d0c39066a065f4d73ae331d2aba9de3d62ea38bc59fd84395794d428
languageName: node
linkType: hard
@@ -41082,6 +41215,15 @@ __metadata:
languageName: node
linkType: hard
"unique-filename@npm:^2.0.0":
version: 2.0.1
resolution: "unique-filename@npm:2.0.1"
dependencies:
unique-slug: ^3.0.0
checksum: 807acf3381aff319086b64dc7125a9a37c09c44af7620bd4f7f3247fcd5565660ac12d8b80534dcbfd067e6fe88a67e621386dd796a8af828d1337a8420a255f
languageName: node
linkType: hard
"unique-filename@npm:^3.0.0":
version: 3.0.0
resolution: "unique-filename@npm:3.0.0"
@@ -41100,6 +41242,15 @@ __metadata:
languageName: node
linkType: hard
"unique-slug@npm:^3.0.0":
version: 3.0.0
resolution: "unique-slug@npm:3.0.0"
dependencies:
imurmurhash: ^0.1.4
checksum: 49f8d915ba7f0101801b922062ee46b7953256c93ceca74303bd8e6413ae10aa7e8216556b54dc5382895e8221d04f1efaf75f945c2e4a515b4139f77aa6640c
languageName: node
linkType: hard
"unique-slug@npm:^4.0.0":
version: 4.0.0
resolution: "unique-slug@npm:4.0.0"