Skip to content

Commit 9390435

Browse files
committed
feat(new tool): JSON Linter
Fix part of CorentinTh#605
1 parent 75269c8 commit 9390435

File tree

5 files changed

+51
-22
lines changed

5 files changed

+51
-22
lines changed

components.d.ts

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ declare module '@vue/runtime-core' {
107107
Ipv4SubnetCalculator: typeof import('./src/tools/ipv4-subnet-calculator/ipv4-subnet-calculator.vue')['default']
108108
Ipv6UlaGenerator: typeof import('./src/tools/ipv6-ula-generator/ipv6-ula-generator.vue')['default']
109109
JsonDiff: typeof import('./src/tools/json-diff/json-diff.vue')['default']
110+
JsonLinter: typeof import('./src/tools/json-linter/json-linter.vue')['default']
110111
JsonMinify: typeof import('./src/tools/json-minify/json-minify.vue')['default']
111112
JsonToCsv: typeof import('./src/tools/json-to-csv/json-to-csv.vue')['default']
112113
JsonToToml: typeof import('./src/tools/json-to-toml/json-to-toml.vue')['default']
@@ -126,25 +127,18 @@ declare module '@vue/runtime-core' {
126127
MenuLayout: typeof import('./src/components/MenuLayout.vue')['default']
127128
MetaTagGenerator: typeof import('./src/tools/meta-tag-generator/meta-tag-generator.vue')['default']
128129
MimeTypes: typeof import('./src/tools/mime-types/mime-types.vue')['default']
130+
NA: typeof import('naive-ui')['NA']
131+
NAlert: typeof import('naive-ui')['NAlert']
129132
NavbarButtons: typeof import('./src/components/NavbarButtons.vue')['default']
130-
NCode: typeof import('naive-ui')['NCode']
131133
NCollapseTransition: typeof import('naive-ui')['NCollapseTransition']
132134
NConfigProvider: typeof import('naive-ui')['NConfigProvider']
133-
NDivider: typeof import('naive-ui')['NDivider']
134135
NEllipsis: typeof import('naive-ui')['NEllipsis']
135-
NFormItem: typeof import('naive-ui')['NFormItem']
136-
NGi: typeof import('naive-ui')['NGi']
137-
NGrid: typeof import('naive-ui')['NGrid']
138136
NH1: typeof import('naive-ui')['NH1']
139137
NH3: typeof import('naive-ui')['NH3']
140138
NIcon: typeof import('naive-ui')['NIcon']
141-
NInputNumber: typeof import('naive-ui')['NInputNumber']
142-
NLabel: typeof import('naive-ui')['NLabel']
143139
NLayout: typeof import('naive-ui')['NLayout']
144140
NLayoutSider: typeof import('naive-ui')['NLayoutSider']
145141
NMenu: typeof import('naive-ui')['NMenu']
146-
NScrollbar: typeof import('naive-ui')['NScrollbar']
147-
NSpin: typeof import('naive-ui')['NSpin']
148142
NumeronymGenerator: typeof import('./src/tools/numeronym-generator/numeronym-generator.vue')['default']
149143
OtpCodeGeneratorAndValidator: typeof import('./src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue')['default']
150144
PasswordStrengthAnalyser: typeof import('./src/tools/password-strength-analyser/password-strength-analyser.vue')['default']
@@ -159,6 +153,7 @@ declare module '@vue/runtime-core' {
159153
RouterLink: typeof import('vue-router')['RouterLink']
160154
RouterView: typeof import('vue-router')['RouterView']
161155
RsaKeyPairGenerator: typeof import('./src/tools/rsa-key-pair-generator/rsa-key-pair-generator.vue')['default']
156+
SafelinkDecoder: typeof import('./src/tools/safelink-decoder/safelink-decoder.vue')['default']
162157
SlugifyString: typeof import('./src/tools/slugify-string/slugify-string.vue')['default']
163158
SpanCopyable: typeof import('./src/components/SpanCopyable.vue')['default']
164159
SqlPrettify: typeof import('./src/tools/sql-prettify/sql-prettify.vue')['default']

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
"iarna-toml-esm": "^3.0.5",
6666
"ibantools": "^4.3.3",
6767
"json5": "^2.2.3",
68+
"jsonlint-mod": "^1.7.6",
6869
"jwt-decode": "^3.1.2",
6970
"libphonenumber-js": "^1.10.28",
7071
"lodash": "^4.17.21",

pnpm-lock.yaml

Lines changed: 28 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/tools/json-linter/index.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import { ArrowsShuffle } from '@vicons/tabler';
1+
import { Braces } from '@vicons/tabler';
22
import { defineTool } from '../tool';
33

44
export const tool = defineTool({
5-
name: 'Json linter',
5+
name: 'JSON Linter',
66
path: '/json-linter',
7-
description: '',
8-
keywords: ['json', 'linter'],
7+
description: 'Check and lint JSON content',
8+
keywords: ['json', 'linter', 'check'],
99
component: () => import('./json-linter.vue'),
10-
icon: ArrowsShuffle,
11-
createdAt: new Date('2024-03-27'),
12-
});
10+
icon: Braces,
11+
createdAt: new Date('2024-03-20'),
12+
});
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
declare module 'jsonlint-mod'{
2+
/**
3+
* Parse a JSON string to Typescript Object. If there is an error will print it
4+
* as human readible.
5+
*
6+
* Please use `import * as jsonlint from 'jsonlint';`. Instead of,
7+
* `import {parse} from 'jsonlint';`. Otherwise, it cannot reference to the
8+
* correct instance.
9+
*/
10+
export function parse(str: string): Record<string, unknown>;
11+
}

0 commit comments

Comments
 (0)