diff --git a/package.json b/package.json index 554fe16..7a856c7 100644 --- a/package.json +++ b/package.json @@ -7,10 +7,9 @@ "license": "ISC", "devDependencies": { "monkey-around": "^2.3", - "obsidian": "^0.14.5", - "@ophidian/build": "^1.0.2", + "obsidian": "1.2.8", + "@ophidian/build": "^1.1.0", "@ophidian/core": "github:ophidian-lib/core", - "smalltalk": "github:pjeby/smalltalk.git#patch-1", "yaml": "2.0.0-10" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 33e6f12..af8b1ba 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,65 +1,225 @@ lockfileVersion: 5.3 specifiers: - '@ophidian/build': ^1.0.2 + '@ophidian/build': ^1.1.0 '@ophidian/core': github:ophidian-lib/core monkey-around: ^2.3 - obsidian: ^0.14.5 - smalltalk: github:pjeby/smalltalk.git#patch-1 + obsidian: 1.2.8 yaml: 2.0.0-10 devDependencies: - '@ophidian/build': 1.0.2 - '@ophidian/core': github.com/ophidian-lib/core/7638db4cded07464dc15acda7f6118f0999f7804 + '@ophidian/build': 1.1.0 + '@ophidian/core': github.com/ophidian-lib/core/10057d1d3a7aeca799e635abb251aa6fa5c661f7 monkey-around: 2.3.0 - obsidian: 0.14.8 - smalltalk: github.com/pjeby/smalltalk/7c3a5ba2c8f6363d050ab23ba95165d7d270a456 + obsidian: 1.2.8 yaml: 2.0.0-10 packages: - /@babel/runtime/7.22.3: - resolution: {integrity: sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==} + /@babel/runtime/7.22.11: + resolution: {integrity: sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.13.11 + regenerator-runtime: 0.14.0 dev: true - /@cloudcmd/create-element/2.0.2: - resolution: {integrity: sha512-5b74qCgwEUx+GxzXC9Gwamgh4Rx5ouLSrCW+QbaBHWpxA5s1sw5i6MbSODfuts1MSX5RoaZjJAjNY5y3et1iXw==} - engines: {node: '>=8.3'} - dependencies: - currify: 4.0.0 - fullstore: 3.0.0 + /@esbuild/android-arm/0.17.19: + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true dev: true + optional: true - /@codemirror/rangeset/0.19.7: - resolution: {integrity: sha512-17zvQKjjUGjFCdFJAKFgiiQKFqGENmlVzS5vtiPQu1SCEs8ZKyvoFWwilM24+s21AlXxcUXulxEfOLGER5gOtg==} - deprecated: As of 0.20.0, this package has been merged into @codemirror/state - dependencies: - '@codemirror/state': 0.19.8 + /@esbuild/android-arm64/0.17.19: + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true dev: true + optional: true - /@codemirror/state/0.19.8: - resolution: {integrity: sha512-f8iZJe+1czZNOdt/H6FnuiYnzLF9OKxc7PsKhdEDq0478U2kak5CBbS7JwxkJekeguTyaagoJbnZveqPY2wlmQ==} - dependencies: - '@codemirror/text': 0.19.6 + /@esbuild/android-x64/0.17.19: + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true dev: true + optional: true - /@codemirror/text/0.19.6: - resolution: {integrity: sha512-T9jnREMIygx+TPC1bOuepz18maGq/92q2a+n4qTqObKwvNMg+8cMTslb8yxeEDEq7S3kpgGWxgO1UWbQRij0dA==} - deprecated: As of 0.20.0, this package has been merged into @codemirror/state + /@esbuild/darwin-arm64/0.17.19: + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true dev: true + optional: true - /@codemirror/view/0.19.42: - resolution: {integrity: sha512-sGpuHYesqNThkAdJHTf4BO0hBeYnAHwamnCGkM6a2G/W5svRJGsFb5Vk/LQPQurDKK9V5fBTRqXH8nKGrIszng==} - dependencies: - '@codemirror/rangeset': 0.19.7 - '@codemirror/state': 0.19.8 - '@codemirror/text': 0.19.6 - style-mod: 4.0.0 - w3c-keyname: 2.2.4 + /@esbuild/darwin-x64/0.17.19: + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true dev: true + optional: true + + /@esbuild/freebsd-arm64/0.17.19: + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64/0.17.19: + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm/0.17.19: + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64/0.17.19: + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32/0.17.19: + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.17.19: + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el/0.17.19: + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64/0.17.19: + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64/0.17.19: + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x/0.17.19: + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64/0.17.19: + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64/0.17.19: + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64/0.17.19: + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64/0.17.19: + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64/0.17.19: + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32/0.17.19: + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64/0.17.19: + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true /@nodelib/fs.scandir/2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -82,18 +242,22 @@ packages: fastq: 1.13.0 dev: true - /@ophidian/build/1.0.2: - resolution: {integrity: sha512-a6uy76r3sGGc7nqWv2eqcLgWv/aNaZEvItZd3rkRMVkP3E1DbxCkCo9PPH/ICDmepzkqW9cV2Vqn0rDDTwzlGQ==} + /@ophidian/build/1.1.0: + resolution: {integrity: sha512-eKamg+HfrBYJLA1DDLhFNFqgHfFf9aC+WvZ//k4G46x9Lo18gQNRyzRGx4mPQqnLYz5BuTMppTJezMRNrE/1HQ==} dependencies: builtin-modules: 3.3.0 copy-newer: 2.1.2 - esbuild: 0.14.49 - esbuild-plugin-copy: 1.3.0_esbuild@0.14.49 - esbuild-plugin-sass: 1.0.1_esbuild@0.14.49 + esbuild: 0.17.19 + esbuild-plugin-copy: 2.1.1_esbuild@0.17.19 + esbuild-plugin-sass: 1.0.1_esbuild@0.17.19 fs-extra: 10.1.0 monkey-around: 2.3.0 dev: true + /@preact/signals-core/1.4.0: + resolution: {integrity: sha512-5iYoZBhELLIhUQceZI7sDTQWPb+xcVSn2qk8T/aNl/VMh+A4AiPX9YRSh4XO7fZ6pncrVxl1Iln82poVqYVbbw==} + dev: true + /@types/codemirror/0.0.108: resolution: {integrity: sha512-3FGFcus0P7C2UOGCNUVENqObEb4SFk+S8Dnxq7K6aIsLVs/vDtlangl3PEO0ykaKXyK56swVF6Nho7VsA44uhw==} dependencies: @@ -238,8 +402,9 @@ packages: source-map: 0.6.1 dev: true - /currify/4.0.0: - resolution: {integrity: sha512-ABfH28PWp5oqqp31cLXJQdeMqoFNej9rJOu84wKhN3jPCH7FAZg3zY1MVI27PTFoqfPlxOyhGmh9PzOVv+yN2g==} + /defaults/2.0.2: + resolution: {integrity: sha512-cuIw0PImdp76AOfgkjbW4VhQODRmNNcKR73vdCH5cLd/ifj7aamfoXvYgfGkEAjNJZ3ozMIy9Gu2LutUkGEPbA==} + engines: {node: '>=16'} dev: true /dir-glob/3.0.1: @@ -249,235 +414,58 @@ packages: path-type: 4.0.0 dev: true - /esbuild-android-64/0.14.49: - resolution: {integrity: sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-android-arm64/0.14.49: - resolution: {integrity: sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-64/0.14.49: - resolution: {integrity: sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-arm64/0.14.49: - resolution: {integrity: sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-64/0.14.49: - resolution: {integrity: sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-arm64/0.14.49: - resolution: {integrity: sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-32/0.14.49: - resolution: {integrity: sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-64/0.14.49: - resolution: {integrity: sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm/0.14.49: - resolution: {integrity: sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm64/0.14.49: - resolution: {integrity: sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-mips64le/0.14.49: - resolution: {integrity: sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-ppc64le/0.14.49: - resolution: {integrity: sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-riscv64/0.14.49: - resolution: {integrity: sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-s390x/0.14.49: - resolution: {integrity: sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-netbsd-64/0.14.49: - resolution: {integrity: sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-openbsd-64/0.14.49: - resolution: {integrity: sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-plugin-copy/1.3.0_esbuild@0.14.49: - resolution: {integrity: sha512-LOx1xJOlAaCFMRtokHjsJfEkrosy3RDRa8SUHmn7loo0gwrouBQQwLAmOyMECshf7gSR1cPSRtAHu3KF/kQsyw==} + /esbuild-plugin-copy/2.1.1_esbuild@0.17.19: + resolution: {integrity: sha512-Bk66jpevTcV8KMFzZI1P7MZKZ+uDcrZm2G2egZ2jNIvVnivDpodZI+/KnpL3Jnap0PBdIHU7HwFGB8r+vV5CVw==} peerDependencies: - esbuild: ^0.14.0 + esbuild: '>= 0.14.0' dependencies: chalk: 4.1.2 - esbuild: 0.14.49 + chokidar: 3.5.3 + esbuild: 0.17.19 fs-extra: 10.1.0 globby: 11.1.0 dev: true - /esbuild-plugin-sass/1.0.1_esbuild@0.14.49: + /esbuild-plugin-sass/1.0.1_esbuild@0.17.19: resolution: {integrity: sha512-YFxjzD9Z1vz92QCJcAmCO15WVCUiOobw9ypdVeMsW+xa6S+zqryLUIh8d3fe/UkRHRO5PODZz/3xDAQuEXZwmQ==} peerDependencies: esbuild: '>=0.11.14' dependencies: css-tree: 1.1.3 - esbuild: 0.14.49 + esbuild: 0.17.19 fs-extra: 10.0.0 sass: 1.47.0 tmp: 0.2.1 dev: true - /esbuild-sunos-64/0.14.49: - resolution: {integrity: sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-32/0.14.49: - resolution: {integrity: sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-64/0.14.49: - resolution: {integrity: sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild-windows-arm64/0.14.49: - resolution: {integrity: sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /esbuild/0.14.49: - resolution: {integrity: sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==} + /esbuild/0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - esbuild-android-64: 0.14.49 - esbuild-android-arm64: 0.14.49 - esbuild-darwin-64: 0.14.49 - esbuild-darwin-arm64: 0.14.49 - esbuild-freebsd-64: 0.14.49 - esbuild-freebsd-arm64: 0.14.49 - esbuild-linux-32: 0.14.49 - esbuild-linux-64: 0.14.49 - esbuild-linux-arm: 0.14.49 - esbuild-linux-arm64: 0.14.49 - esbuild-linux-mips64le: 0.14.49 - esbuild-linux-ppc64le: 0.14.49 - esbuild-linux-riscv64: 0.14.49 - esbuild-linux-s390x: 0.14.49 - esbuild-netbsd-64: 0.14.49 - esbuild-openbsd-64: 0.14.49 - esbuild-sunos-64: 0.14.49 - esbuild-windows-32: 0.14.49 - esbuild-windows-64: 0.14.49 - esbuild-windows-arm64: 0.14.49 + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 dev: true /fast-glob/3.2.11: @@ -543,11 +531,6 @@ packages: dev: true optional: true - /fullstore/3.0.0: - resolution: {integrity: sha512-EEIdG+HWpyygWRwSLIZy+x4u0xtghjHNfhQb0mI5825Mmjq6oFESFUY0hoZigEgd3KH8GX+ZOCK9wgmOiS7VBQ==} - engines: {node: '>=4'} - dev: true - /glob-parent/5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -612,7 +595,7 @@ packages: /i18next/20.6.1: resolution: {integrity: sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==} dependencies: - '@babel/runtime': 7.22.3 + '@babel/runtime': 7.22.11 dev: true /iferr/0.1.5: @@ -714,10 +697,6 @@ packages: minimist: 1.2.5 dev: true - /moment/2.29.2: - resolution: {integrity: sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==} - dev: true - /moment/2.29.4: resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} dev: true @@ -736,17 +715,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /obsidian/0.14.8: - resolution: {integrity: sha512-CQz+B2HSbhGVEBwZBL3rPl29ruOBmEhCbBmW7PIILnnRh6fFFvYy3kZLHVTUidzvRGZnEW/mQ7n9LXeJCp2a/Q==} - dependencies: - '@codemirror/state': 0.19.8 - '@codemirror/view': 0.19.42 - '@types/codemirror': 0.0.108 - moment: 2.29.2 - dev: true - - /obsidian/0.15.9: - resolution: {integrity: sha512-w3JL/IM3/U61rjFSFIFDSv+pcHn3mH1EIRN40kBkC/lGYqjFSPbr6daQe08QkskBz/GAYIeBoaKQIcgU9vV3LQ==} + /obsidian/1.2.8: + resolution: {integrity: sha512-HrC+feA8o0tXspj4lEAqxb1btwLwHD2oHXSwbbN+CdRHURqbCkuIDLld+nkuyJ1w1c9uvVDRVk8BoeOnWheOrQ==} peerDependencies: '@codemirror/state': ^6.0.0 '@codemirror/view': ^6.0.0 @@ -820,8 +790,8 @@ packages: picomatch: 2.3.1 dev: true - /regenerator-runtime/0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + /regenerator-runtime/0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} dev: true /reusify/1.0.4: @@ -877,10 +847,6 @@ packages: safe-buffer: 5.1.2 dev: true - /style-mod/4.0.0: - resolution: {integrity: sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==} - dev: true - /supports-color/7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -902,8 +868,8 @@ packages: is-number: 7.0.0 dev: true - /to-use/0.2.1: - resolution: {integrity: sha512-FwF0QIePeaY/Wk2thTjjV41KltJZsMTidH33R64u76Ai+IDyXI4cLYA5PH2PjQRyxAKVtDgcN1ZPK5JJh102Vw==} + /to-use/0.3.2: + resolution: {integrity: sha512-BsjW4JlQkMrZ9THFFkC4w5Yv3+dXAnd6Ycrm78heY3rNN6LxkBG0c0BQmn84qlMWxIkny1KmphU5wPMmRwMGhQ==} dev: true /universalify/2.0.0: @@ -915,10 +881,6 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /w3c-keyname/2.2.4: - resolution: {integrity: sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==} - dev: true - /wrappy/1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true @@ -928,26 +890,18 @@ packages: engines: {node: '>= 12'} dev: true - github.com/ophidian-lib/core/7638db4cded07464dc15acda7f6118f0999f7804: - resolution: {tarball: https://codeload.github.com/ophidian-lib/core/tar.gz/7638db4cded07464dc15acda7f6118f0999f7804} + github.com/ophidian-lib/core/10057d1d3a7aeca799e635abb251aa6fa5c661f7: + resolution: {tarball: https://codeload.github.com/ophidian-lib/core/tar.gz/10057d1d3a7aeca799e635abb251aa6fa5c661f7} name: '@ophidian/core' - version: 0.0.12 + version: 0.0.20 dependencies: + '@preact/signals-core': 1.4.0 + defaults: 2.0.2 i18next: 20.6.1 monkey-around: 2.3.0 - obsidian: 0.15.9 - to-use: 0.2.1 + obsidian: 1.2.8 + to-use: 0.3.2 transitivePeerDependencies: - '@codemirror/state' - '@codemirror/view' dev: true - - github.com/pjeby/smalltalk/7c3a5ba2c8f6363d050ab23ba95165d7d270a456: - resolution: {tarball: https://codeload.github.com/pjeby/smalltalk/tar.gz/7c3a5ba2c8f6363d050ab23ba95165d7d270a456} - name: smalltalk - version: 4.0.7 - dependencies: - '@cloudcmd/create-element': 2.0.2 - currify: 4.0.0 - fullstore: 3.0.0 - dev: true diff --git a/src/progress.js b/src/progress.js index 2df0342..17a65c1 100644 --- a/src/progress.js +++ b/src/progress.js @@ -1,15 +1,29 @@ -import { progress } from "smalltalk"; +import { Dialog } from "@ophidian/core"; + +class ProgressDialog extends Dialog { + progressEl = this.contentEl.createEl("progress", {value: 0, attr: {style: "width: 100%", max: 100}}); + counterEl = this.contentEl.createDiv({text: "0%"}); + setProgress(pct) { + this.counterEl.textContent = `${pct}%`; + this.progressEl.value = pct; + } + constructor(onClose) { + super(); + this.okButton.detach(); + this.addCancelButton(); + this.onClose = onClose; + } +} export class Progress { + aborted = false; constructor(title, message) { - this.progress = progress(title, message); - this.progress.catch(e => { - this.aborted = true; - if (e && (e.constructor !== Error || e.message !== "")) console.error(e); - }); - this.dialog = this.progress.dialog; - this.aborted = false; + this.progress = new ProgressDialog(() => this.aborted = true) + .setTitle(title) + .setContent(message) + ; + this.progress.open(); } async forEach(collection, func) { @@ -32,18 +46,11 @@ export class Progress { this.progress.setProgress(100); return this; } finally { - this.progress.remove(); + this.progress.onClose = () => null; + this.progress.close(); } } - set title(text) { this.dialog.querySelector("header").textContent = text; } - get title() { return this.dialog.querySelector("header").textContent; } - - set message(text) { - const area = this.dialog.querySelector(".content-area").childNodes[0].textContent = text; - } - - get message() { - return this.dialog.querySelector(".content-area").childNodes[0].textContent; - } + set title(text) { this.progress.setTitle(text); } + set message(text) { this.progress.setContent(text); } } diff --git a/src/renaming.js b/src/renaming.js index 5faae4d..3d57916 100644 --- a/src/renaming.js +++ b/src/renaming.js @@ -1,12 +1,11 @@ -import {confirm} from "smalltalk"; import {Progress} from "./progress"; -import {validatedInput} from "./validation"; +import {Prompt, Confirm} from "@ophidian/core"; import {Notice, parseFrontMatterAliases, parseFrontMatterTags} from "obsidian"; import {Tag, Replacement} from "./Tag"; import {File} from "./File"; -export async function renameTag(app, tagName) { - const newName = await promptForNewName(tagName); +export async function renameTag(app, tagName, toName=tagName) { + const newName = await promptForNewName(tagName, toName); if (newName === false) return; // aborted if (!newName || newName === tagName) { @@ -61,33 +60,32 @@ export async function findTargets(app, tag) { return targets; } -async function promptForNewName(tagName) { - try { - return await validatedInput( - `Renaming #${tagName} (and any sub-tags)`, "Enter new name (must be a valid Obsidian tag):\n", - tagName, - "[^\u2000-\u206F\u2E00-\u2E7F'!\"#$%&()*+,.:;<=>?@^`{|}~\\[\\]\\\\\\s]+", - "Obsidian tag name" - ); - } catch(e) { - return false; // user cancelled - } +async function promptForNewName(tagName, newName=tagName) { + return await new Prompt() + .setTitle(`Renaming #${tagName} (and any sub-tags)`) + .setContent("Enter new name (must be a valid Obsidian tag name):\n") + .setPattern("[^\u2000-\u206F\u2E00-\u2E7F'!\"#$%&()*+,.:;<=>?@^`{|}~\\[\\]\\\\\\s]+") + .onInvalidEntry(t => new Notice(`"${t}" is not a valid Obsidian tag name`)) + .setValue(newName) + .prompt() + ; } async function shouldAbortDueToClash([origin, clash], oldTag, newTag) { - try { - await confirm( - "WARNING: No Undo!", - `Renaming ${oldTag} to ${newTag} will merge ${ - (origin.canonical === oldTag.canonical) ? - `these tags` : `multiple tags - into existing tags (such as ${origin} - merging with ${clash})` - }. - - This cannot be undone. Do you wish to proceed?` - ); - } catch(e) { - return true; - } + return !await new Confirm() + .setTitle("WARNING: No Undo!") + .setContent( + activeWindow.createEl("p", undefined, el => { el.innerHTML = + `Renaming ${oldTag} to ${newTag} will merge ${ + (origin.canonical === oldTag.canonical) ? + `these tags` : `multiple tags + into existing tags (such as ${origin} + merging with ${clash})` + }.

+ This cannot be undone. Do you wish to proceed?`; + }) + ) + .setup(c => c.okButton.addClass("mod-warning")) + .confirm() + ; } diff --git a/src/validation.js b/src/validation.js deleted file mode 100644 index 114d044..0000000 --- a/src/validation.js +++ /dev/null @@ -1,21 +0,0 @@ -import { Notice } from "obsidian"; -import { prompt } from "smalltalk"; - -import "./validation.scss"; - -export async function validatedInput(title, message, value = "", regex = ".*", what = "entry") { - while (true) { - const input = prompt(title, message, value); - const inputField = input.dialog.find("input"); - const isValid = (t) => new RegExp(`^${regex}$`).test(t); - - inputField.setSelectionRange(value.length, value.length); - inputField.pattern = regex; - inputField.oninput = () => inputField.setAttribute("aria-invalid", !isValid(inputField.value)); - - const result = await input; - if (isValid(result)) return result; - - new Notice(`"${result}" is not a valid ${what}`); - } -} diff --git a/src/validation.scss b/src/validation.scss deleted file mode 100644 index 969d710..0000000 --- a/src/validation.scss +++ /dev/null @@ -1,21 +0,0 @@ -// Highlight invalid input -.smalltalk input[pattern] { - &:invalid, &[aria-invalid='true'] { - &, &:enabled:focus { - border-color: var(--text-error); - background-color: var(--background-modifier-error); - } - } -} - - -// Style using theme vars for colors -.smalltalk { - .page, .page header, input, button { color: var(--text-normal); text-shadow: none; } - .page { background: var(--background-primary); } - button[data-name="js-ok"] { background: var(--background-modifier-error); } - button[data-name="js-cancel"] { background: var(--background-secondary-alt); } - button { box-shadow: none;} -} - -