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;}
-}
-
-