@sablier/devkit 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.prettierrc.json +13 -0
- package/LICENSE.md +16 -0
- package/README.md +34 -0
- package/biome.jsonc +62 -0
- package/just/base.just +106 -0
- package/just/evm.just +167 -0
- package/just/npm.just +54 -0
- package/just/settings.just +5 -0
- package/package.json +46 -0
- package/tsconfig/base.json +17 -0
- package/tsconfig/build.json +14 -0
- package/tsconfig/next.json +19 -0
package/.prettierrc.json
ADDED
package/LICENSE.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Sablier Labs Ltd
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
6
|
+
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
|
|
7
|
+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
|
|
8
|
+
persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
|
|
11
|
+
Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
|
14
|
+
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
15
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
16
|
+
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# 🛠️ Sablier Devkit
|
|
2
|
+
|
|
3
|
+
This repository contains configuration files and reusable scripts for various Sablier repositories.
|
|
4
|
+
|
|
5
|
+
The files are meant to be extended and customized as needed.
|
|
6
|
+
|
|
7
|
+
## ⚙️ Config Files
|
|
8
|
+
|
|
9
|
+
| Tool | Config File/Directory |
|
|
10
|
+
| --------------- | :------------------------------------ |
|
|
11
|
+
| 🔍 Biome | [`biome.jsonc`](./biome.jsonc) |
|
|
12
|
+
| 📝 EditorConfig | [`.editorconfig`](./.editorconfig) |
|
|
13
|
+
| 🛠 Just | [`just/`](./just/) |
|
|
14
|
+
| ✨ Prettier | [`prettier.json`](./.prettierrc.json) |
|
|
15
|
+
| 📦 TSConfig | [`tsconfig/`](./tsconfig/) |
|
|
16
|
+
|
|
17
|
+
## 🐈⬛ GitHub Actions
|
|
18
|
+
|
|
19
|
+
The [setup](./actions/setup/) GitHub Actions workflow is used to setup the requisite dependencies in a GitHub CI
|
|
20
|
+
workflow.
|
|
21
|
+
|
|
22
|
+
## 🚀 Setup Script
|
|
23
|
+
|
|
24
|
+
This is meant to be run by Sablier Labs employees and staff.
|
|
25
|
+
|
|
26
|
+
See [`setup.sh`](./shell/setup.sh) for details.
|
|
27
|
+
|
|
28
|
+
## 📦 VSCode Settings
|
|
29
|
+
|
|
30
|
+
See [`vscode/settings.json`](./vscode/settings.json).
|
|
31
|
+
|
|
32
|
+
## 📄 License
|
|
33
|
+
|
|
34
|
+
This project is licensed under MIT.
|
package/biome.jsonc
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// Sablier Devkit configuration for Biome v2: https://next.biomejs.dev
|
|
2
|
+
{
|
|
3
|
+
"$schema": "https://biomejs.dev/schemas/latest/schema.json",
|
|
4
|
+
"assist": {
|
|
5
|
+
"enabled": true,
|
|
6
|
+
"actions": {
|
|
7
|
+
"source": {
|
|
8
|
+
"organizeImports": "on",
|
|
9
|
+
"useSortedKeys": "on"
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"files": {
|
|
14
|
+
"maxSize": 5242880 // 5MB
|
|
15
|
+
},
|
|
16
|
+
"formatter": {
|
|
17
|
+
"enabled": true,
|
|
18
|
+
"formatWithErrors": true,
|
|
19
|
+
"indentStyle": "space",
|
|
20
|
+
"lineWidth": 120
|
|
21
|
+
},
|
|
22
|
+
"linter": {
|
|
23
|
+
"enabled": true,
|
|
24
|
+
"rules": {
|
|
25
|
+
"correctness": {
|
|
26
|
+
"noUnusedImports": "off",
|
|
27
|
+
"noUnusedVariables": "error",
|
|
28
|
+
"useExhaustiveDependencies": "error"
|
|
29
|
+
},
|
|
30
|
+
"nursery": {
|
|
31
|
+
"noFloatingPromises": "error"
|
|
32
|
+
},
|
|
33
|
+
"recommended": true,
|
|
34
|
+
"style": {
|
|
35
|
+
"useImportType": {
|
|
36
|
+
"level": "warn",
|
|
37
|
+
"options": {
|
|
38
|
+
"style": "separatedType"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"useTemplate": "off"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"overrides": [
|
|
46
|
+
{
|
|
47
|
+
"assist": {
|
|
48
|
+
"actions": {
|
|
49
|
+
"source": {
|
|
50
|
+
"useSortedKeys": "off"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"includes": ["**/*.{json,json5,jsonc}"]
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
"vcs": {
|
|
58
|
+
"clientKind": "git",
|
|
59
|
+
"enabled": true,
|
|
60
|
+
"useIgnoreFile": true
|
|
61
|
+
}
|
|
62
|
+
}
|
package/just/base.just
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import "./settings.just"
|
|
2
|
+
|
|
3
|
+
# ---------------------------------------------------------------------------- #
|
|
4
|
+
# DEPENDENCIES #
|
|
5
|
+
# ---------------------------------------------------------------------------- #
|
|
6
|
+
|
|
7
|
+
# Ni: https://github.com/antfu-collective/ni
|
|
8
|
+
na := require("na")
|
|
9
|
+
ni := require("ni")
|
|
10
|
+
nlx := require("nlx")
|
|
11
|
+
|
|
12
|
+
# ---------------------------------------------------------------------------- #
|
|
13
|
+
# CONSTANTS #
|
|
14
|
+
# ---------------------------------------------------------------------------- #
|
|
15
|
+
|
|
16
|
+
GLOBS_PRETTIER := "**/*.{md,mdx,yaml,yml}"
|
|
17
|
+
|
|
18
|
+
# ---------------------------------------------------------------------------- #
|
|
19
|
+
# RECIPES #
|
|
20
|
+
# ---------------------------------------------------------------------------- #
|
|
21
|
+
|
|
22
|
+
# Clean files
|
|
23
|
+
[no-cd]
|
|
24
|
+
clean +globs:
|
|
25
|
+
nlx del-cli "{{ globs }}"
|
|
26
|
+
|
|
27
|
+
# Clear node_modules recursively
|
|
28
|
+
[confirm("Are you sure you want to delete all node_modules, including in subdirectories? y/n")]
|
|
29
|
+
[no-cd]
|
|
30
|
+
clean-modules:
|
|
31
|
+
nlx del-cli "node_modules" "**/node_modules"
|
|
32
|
+
|
|
33
|
+
# Install the Node.js dependencies; run with --frozen to install the dependencies with the frozen lockfile
|
|
34
|
+
[no-cd]
|
|
35
|
+
install *args:
|
|
36
|
+
ni {{ args }}
|
|
37
|
+
|
|
38
|
+
# Build with TypeScript
|
|
39
|
+
[no-cd]
|
|
40
|
+
tsc-build:
|
|
41
|
+
na tsc -p tsconfig.build.json
|
|
42
|
+
|
|
43
|
+
# ---------------------------------------------------------------------------- #
|
|
44
|
+
# CHECK #
|
|
45
|
+
# ---------------------------------------------------------------------------- #
|
|
46
|
+
|
|
47
|
+
# Check code with Biome
|
|
48
|
+
[group("checks")]
|
|
49
|
+
[no-cd]
|
|
50
|
+
biome-check paths=".":
|
|
51
|
+
na biome check {{ paths }}
|
|
52
|
+
alias bc := biome-check
|
|
53
|
+
|
|
54
|
+
# Fix code with Biome
|
|
55
|
+
[group("checks")]
|
|
56
|
+
[no-cd]
|
|
57
|
+
biome-write paths=".":
|
|
58
|
+
na biome check --write {{ paths }}
|
|
59
|
+
na biome lint --unsafe --write --only correctness/noUnusedImports {{ paths }}
|
|
60
|
+
alias bw := biome-write
|
|
61
|
+
|
|
62
|
+
# Run all code checks
|
|
63
|
+
[group("checks")]
|
|
64
|
+
[no-cd]
|
|
65
|
+
full-check: biome-check prettier-check tsc-check
|
|
66
|
+
alias fc := full-check
|
|
67
|
+
|
|
68
|
+
# Run all code fixes
|
|
69
|
+
[group("checks")]
|
|
70
|
+
[no-cd]
|
|
71
|
+
full-write: biome-write prettier-write
|
|
72
|
+
alias fw := full-write
|
|
73
|
+
|
|
74
|
+
# Run knip checks
|
|
75
|
+
[group("checks")]
|
|
76
|
+
[no-cd]
|
|
77
|
+
knip-check:
|
|
78
|
+
na knip
|
|
79
|
+
alias kc := knip-check
|
|
80
|
+
|
|
81
|
+
# Run knip fix
|
|
82
|
+
[group("checks")]
|
|
83
|
+
[no-cd]
|
|
84
|
+
knip-write:
|
|
85
|
+
na knip --fix
|
|
86
|
+
alias kw := knip-write
|
|
87
|
+
|
|
88
|
+
# Check Prettier formatting
|
|
89
|
+
[group("checks")]
|
|
90
|
+
[no-cd]
|
|
91
|
+
prettier-check globs=GLOBS_PRETTIER:
|
|
92
|
+
na prettier --check --cache "{{ globs }}"
|
|
93
|
+
alias pc := prettier-check
|
|
94
|
+
|
|
95
|
+
# Format using Prettier
|
|
96
|
+
[group("checks")]
|
|
97
|
+
[no-cd]
|
|
98
|
+
prettier-write globs=GLOBS_PRETTIER:
|
|
99
|
+
na prettier --write --cache "{{ globs }}"
|
|
100
|
+
alias pw := prettier-write
|
|
101
|
+
|
|
102
|
+
# Type check with TypeScript
|
|
103
|
+
[group("checks")]
|
|
104
|
+
[no-cd]
|
|
105
|
+
tsc-check:
|
|
106
|
+
na tsc --noEmit
|
package/just/evm.just
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import "./settings.just"
|
|
2
|
+
|
|
3
|
+
# See https://just.systems/man/en/modules1190.html
|
|
4
|
+
mod base
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
# ---------------------------------------------------------------------------- #
|
|
8
|
+
# DEPENDENCIES #
|
|
9
|
+
# ---------------------------------------------------------------------------- #
|
|
10
|
+
|
|
11
|
+
# Foundry: https://getfoundry.sh
|
|
12
|
+
forge := require("forge")
|
|
13
|
+
|
|
14
|
+
# Ni: https://github.com/antfu-collective/ni
|
|
15
|
+
na := require("na")
|
|
16
|
+
nlx := require("nlx")
|
|
17
|
+
|
|
18
|
+
# ---------------------------------------------------------------------------- #
|
|
19
|
+
# CONSTANTS #
|
|
20
|
+
# ---------------------------------------------------------------------------- #
|
|
21
|
+
|
|
22
|
+
GLOBS_CLEAN := ```
|
|
23
|
+
arr=(
|
|
24
|
+
"artifacts"
|
|
25
|
+
"artifacts-*"
|
|
26
|
+
"broadcast"
|
|
27
|
+
"cache"
|
|
28
|
+
"cache_hardhat-zk"
|
|
29
|
+
"coverage"
|
|
30
|
+
"docs"
|
|
31
|
+
"out"
|
|
32
|
+
"out-*"
|
|
33
|
+
"typechain-types"
|
|
34
|
+
"lcov.info"
|
|
35
|
+
)
|
|
36
|
+
echo "${arr[*]}"
|
|
37
|
+
```
|
|
38
|
+
GLOBS_PRETTIER := "**/*.{md,mdx,yaml,yml}"
|
|
39
|
+
GLOBS_SOLIDITY := "{precompiles,scripts,src,tests}/**/*.sol"
|
|
40
|
+
|
|
41
|
+
# ---------------------------------------------------------------------------- #
|
|
42
|
+
# RECIPES #
|
|
43
|
+
# ---------------------------------------------------------------------------- #
|
|
44
|
+
|
|
45
|
+
# Clean directories and files
|
|
46
|
+
clean globs=GLOBS_CLEAN:
|
|
47
|
+
nlx del-cli {{ globs }}
|
|
48
|
+
alias c := clean
|
|
49
|
+
|
|
50
|
+
# Clear node_modules recursively
|
|
51
|
+
[confirm("Are you sure you want to delete all node_modules, including in subdirectories? y/n")]
|
|
52
|
+
clean-modules:
|
|
53
|
+
just base::clean-modules
|
|
54
|
+
|
|
55
|
+
# Run all code checks
|
|
56
|
+
full-check: solhint-check fmt-check prettier-check
|
|
57
|
+
alias fc := full-check
|
|
58
|
+
|
|
59
|
+
# Run all code fixes
|
|
60
|
+
full-write: solhint-write fmt-write prettier-write
|
|
61
|
+
alias fw := full-write
|
|
62
|
+
|
|
63
|
+
# Install the Node.js dependencies
|
|
64
|
+
install *args:
|
|
65
|
+
just base::install {{ args }}
|
|
66
|
+
alias i := install
|
|
67
|
+
|
|
68
|
+
# Check Prettier formatting
|
|
69
|
+
@prettier-check globs=GLOBS_PRETTIER:
|
|
70
|
+
just base::prettier-check "{{ globs }}"
|
|
71
|
+
alias pc := prettier-check
|
|
72
|
+
|
|
73
|
+
# Format using Prettier
|
|
74
|
+
@prettier-write globs=GLOBS_PRETTIER:
|
|
75
|
+
just base::prettier-write "{{ globs }}"
|
|
76
|
+
alias pw := prettier-write
|
|
77
|
+
|
|
78
|
+
# Check code with Solhint
|
|
79
|
+
solhint-check globs=GLOBS_SOLIDITY:
|
|
80
|
+
na solhint --cache "{{ globs }}"
|
|
81
|
+
alias sc := solhint-check
|
|
82
|
+
|
|
83
|
+
# Fix code with Solhint
|
|
84
|
+
solhint-write globs=GLOBS_SOLIDITY:
|
|
85
|
+
na solhint --fix --noPrompt "{{ globs }}"
|
|
86
|
+
alias sw := solhint-write
|
|
87
|
+
|
|
88
|
+
# ---------------------------------------------------------------------------- #
|
|
89
|
+
# FOUNDRY #
|
|
90
|
+
# ---------------------------------------------------------------------------- #
|
|
91
|
+
|
|
92
|
+
# Build contracts
|
|
93
|
+
[group("foundry")]
|
|
94
|
+
build:
|
|
95
|
+
forge build
|
|
96
|
+
alias b := build
|
|
97
|
+
|
|
98
|
+
# Build using optimized profile
|
|
99
|
+
[group("foundry")]
|
|
100
|
+
build-optimized:
|
|
101
|
+
FOUNDRY_PROFILE=optimized \
|
|
102
|
+
forge build
|
|
103
|
+
alias bo := build-optimized
|
|
104
|
+
|
|
105
|
+
# Build using optimized profile with optional arguments
|
|
106
|
+
[group("foundry")]
|
|
107
|
+
build-optimized *args:
|
|
108
|
+
FOUNDRY_PROFILE=optimized \
|
|
109
|
+
forge build --extra-output-files metadata {{ args }}
|
|
110
|
+
|
|
111
|
+
# Dump code coverage to an html file
|
|
112
|
+
[group("foundry")]
|
|
113
|
+
[script]
|
|
114
|
+
coverage:
|
|
115
|
+
if ! command -v genhtml >/dev/null 2>&1; then
|
|
116
|
+
echo "✗ genhtml CLI not found"
|
|
117
|
+
echo "Install it with Homebrew: https://formulae.brew.sh/formula/lcov"
|
|
118
|
+
exit 1
|
|
119
|
+
fi
|
|
120
|
+
forge coverage --report lcov
|
|
121
|
+
genhtml --branch-coverage --ignore-errors inconsistent --output-dir coverage lcov.info
|
|
122
|
+
alias cov := coverage
|
|
123
|
+
|
|
124
|
+
# Check code with Forge formatter
|
|
125
|
+
[group("foundry")]
|
|
126
|
+
fmt-check:
|
|
127
|
+
forge fmt --check
|
|
128
|
+
|
|
129
|
+
# Fix code with Forge formatter
|
|
130
|
+
[group("foundry")]
|
|
131
|
+
fmt-write:
|
|
132
|
+
forge fmt
|
|
133
|
+
|
|
134
|
+
# Performs a gas report
|
|
135
|
+
[group("foundry")]
|
|
136
|
+
gas-report:
|
|
137
|
+
forge test --gas-report
|
|
138
|
+
alias gr := gas-report
|
|
139
|
+
|
|
140
|
+
# Run tests with optional arguments
|
|
141
|
+
[group("foundry")]
|
|
142
|
+
test *args:
|
|
143
|
+
forge test {{ args }}
|
|
144
|
+
alias t := test
|
|
145
|
+
|
|
146
|
+
# Run Bulloak checks
|
|
147
|
+
[group("foundry")]
|
|
148
|
+
test-bulloak:
|
|
149
|
+
bulloak check --skip-modifiers "./tests/**/*.tree"
|
|
150
|
+
alias tb := test-bulloak
|
|
151
|
+
|
|
152
|
+
# Run tests using lite profile (skipping fork tests)
|
|
153
|
+
[group("foundry")]
|
|
154
|
+
test-lite:
|
|
155
|
+
FOUNDRY_PROFILE=lite forge test --nmt "testFork"
|
|
156
|
+
alias tl := test-lite
|
|
157
|
+
|
|
158
|
+
# Run tests using lite profile with optional arguments
|
|
159
|
+
[group("foundry")]
|
|
160
|
+
test-lite *args:
|
|
161
|
+
FOUNDRY_PROFILE=lite forge test {{ args }}
|
|
162
|
+
|
|
163
|
+
# Run tests using optimized profile
|
|
164
|
+
[group("foundry")]
|
|
165
|
+
test-optimized: build-optimized
|
|
166
|
+
FOUNDRY_PROFILE=test-optimized forge test
|
|
167
|
+
alias to := test-optimized
|
package/just/npm.just
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import "./settings.just"
|
|
2
|
+
|
|
3
|
+
# ---------------------------------------------------------------------------- #
|
|
4
|
+
# DEPENDENCIES #
|
|
5
|
+
# ---------------------------------------------------------------------------- #
|
|
6
|
+
|
|
7
|
+
# Jq
|
|
8
|
+
jq := require("jq")
|
|
9
|
+
|
|
10
|
+
# Npm
|
|
11
|
+
npm := require("npm")
|
|
12
|
+
|
|
13
|
+
# ---------------------------------------------------------------------------- #
|
|
14
|
+
# SCRIPTS #
|
|
15
|
+
# ---------------------------------------------------------------------------- #
|
|
16
|
+
|
|
17
|
+
# Publish the npm package, e.g. v1.0.0
|
|
18
|
+
[group("publish")]
|
|
19
|
+
publish *args:
|
|
20
|
+
npm publish {{ args }}
|
|
21
|
+
@just tag $(jq -r '.version' package.json)
|
|
22
|
+
|
|
23
|
+
# Publish using the `beta` tag, e.g. v1.0.0-beta.1
|
|
24
|
+
[group("publish")]
|
|
25
|
+
publish-beta *args:
|
|
26
|
+
@just check-beta-version
|
|
27
|
+
npm publish --tag beta {{ args }}
|
|
28
|
+
|
|
29
|
+
# Tag the new version
|
|
30
|
+
[group("publish")]
|
|
31
|
+
tag *version:
|
|
32
|
+
git tag -am "{{ version }}" {{ version }}
|
|
33
|
+
git push origin --tags
|
|
34
|
+
|
|
35
|
+
# ---------------------------------------------------------------------------- #
|
|
36
|
+
# PRIVATE HELPERS #
|
|
37
|
+
# ---------------------------------------------------------------------------- #
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
# Check that package.json version includes -beta.x suffix
|
|
41
|
+
[private]
|
|
42
|
+
[script]
|
|
43
|
+
@check-beta-version:
|
|
44
|
+
# Extract version from package.json using jq for reliable JSON parsing
|
|
45
|
+
version=$(jq -r '.version' package.json)
|
|
46
|
+
|
|
47
|
+
# Check if version contains -beta suffix
|
|
48
|
+
if [[ "$version" =~ -beta\.[0-9]+$ ]]; then
|
|
49
|
+
echo "✓ Version $version includes beta suffix"
|
|
50
|
+
else
|
|
51
|
+
echo "✗ Error: Version $version does not include -beta.x suffix"
|
|
52
|
+
echo "Please update package.json version to include -beta.x (e.g., 1.0.0-beta.1)"
|
|
53
|
+
exit 1
|
|
54
|
+
fi
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sablier/devkit",
|
|
3
|
+
"description": "Configuration files and reusable scripts for Sablier repositories",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Sablier Labs Ltd",
|
|
7
|
+
"url": "https://sablier.com"
|
|
8
|
+
},
|
|
9
|
+
"bugs": {
|
|
10
|
+
"url": "https://github.com/sablier-labs/devkit/issues"
|
|
11
|
+
},
|
|
12
|
+
"exports": {
|
|
13
|
+
"./biome": "./biome.jsonc",
|
|
14
|
+
"./prettier": "./.prettierrc.json",
|
|
15
|
+
"./tsconfig/base": "./tsconfig/base.json",
|
|
16
|
+
"./tsconfig/build": "./tsconfig/build.json",
|
|
17
|
+
"./tsconfig/next": "./tsconfig/next.json"
|
|
18
|
+
},
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": ">=20"
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"biome.jsonc",
|
|
24
|
+
".prettierrc.json",
|
|
25
|
+
"just/",
|
|
26
|
+
"tsconfig/"
|
|
27
|
+
],
|
|
28
|
+
"keywords": [
|
|
29
|
+
"biome",
|
|
30
|
+
"config",
|
|
31
|
+
"devkit",
|
|
32
|
+
"prettier",
|
|
33
|
+
"sablier",
|
|
34
|
+
"tsconfig",
|
|
35
|
+
"typescript"
|
|
36
|
+
],
|
|
37
|
+
"license": "MIT",
|
|
38
|
+
"publishConfig": {
|
|
39
|
+
"access": "public"
|
|
40
|
+
},
|
|
41
|
+
"repository": {
|
|
42
|
+
"type": "git",
|
|
43
|
+
"url": "git+https://github.com/sablier-labs/devkit.git"
|
|
44
|
+
},
|
|
45
|
+
"type": "module"
|
|
46
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/tsconfig",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"esModuleInterop": true,
|
|
5
|
+
"forceConsistentCasingInFileNames": true,
|
|
6
|
+
"lib": ["ESNext"],
|
|
7
|
+
"module": "NodeNext",
|
|
8
|
+
"moduleResolution": "NodeNext",
|
|
9
|
+
"noFallthroughCasesInSwitch": true,
|
|
10
|
+
"noImplicitReturns": true,
|
|
11
|
+
"resolveJsonModule": true,
|
|
12
|
+
"skipLibCheck": true,
|
|
13
|
+
"sourceMap": true,
|
|
14
|
+
"strict": true,
|
|
15
|
+
"target": "ESNext"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/tsconfig",
|
|
3
|
+
"extends": "./base.json",
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"declaration": true,
|
|
6
|
+
"declarationMap": true,
|
|
7
|
+
"emitDecoratorMetadata": true,
|
|
8
|
+
"experimentalDecorators": true,
|
|
9
|
+
"forceConsistentCasingInFileNames": true,
|
|
10
|
+
"removeComments": true,
|
|
11
|
+
"skipLibCheck": true,
|
|
12
|
+
"stripInternal": true
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/tsconfig",
|
|
3
|
+
"extends": "./base.json",
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"allowJs": true,
|
|
6
|
+
"isolatedModules": true,
|
|
7
|
+
"noEmit": true,
|
|
8
|
+
"incremental": true,
|
|
9
|
+
"jsx": "preserve",
|
|
10
|
+
"lib": ["dom", "dom.iterable", "ESNext"],
|
|
11
|
+
"module": "ESNext",
|
|
12
|
+
"moduleResolution": "bundler",
|
|
13
|
+
"plugins": [
|
|
14
|
+
{
|
|
15
|
+
"name": "next"
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
}
|