@echo-blue/ng-jsoneditor 18.0.5

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.
Files changed (49) hide show
  1. package/.editorconfig +13 -0
  2. package/.eslintrc.json +86 -0
  3. package/.github/ISSUE_TEMPLATE/bug_report.md +42 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  5. package/.github/workflows/npm-publish.yml +26 -0
  6. package/.travis.yml +24 -0
  7. package/LICENSE +21 -0
  8. package/README.md +188 -0
  9. package/angular.json +132 -0
  10. package/e2e/app.e2e-spec.ts +17 -0
  11. package/e2e/app.po.ts +11 -0
  12. package/e2e/tsconfig.e2e.json +12 -0
  13. package/package.json +73 -0
  14. package/projects/ng-jsoneditor/.eslintrc.json +37 -0
  15. package/projects/ng-jsoneditor/README.md +184 -0
  16. package/projects/ng-jsoneditor/ng-package.json +7 -0
  17. package/projects/ng-jsoneditor/package.json +28 -0
  18. package/projects/ng-jsoneditor/src/lib/jsoneditor.component.spec.ts +26 -0
  19. package/projects/ng-jsoneditor/src/lib/jsoneditor.component.ts +258 -0
  20. package/projects/ng-jsoneditor/src/lib/jsoneditoroptions.ts +166 -0
  21. package/projects/ng-jsoneditor/src/public-api.ts +5 -0
  22. package/projects/ng-jsoneditor/tsconfig.lib.json +14 -0
  23. package/projects/ng-jsoneditor/tsconfig.lib.prod.json +10 -0
  24. package/projects/ng-jsoneditor/tsconfig.spec.json +29 -0
  25. package/renovate.json +38 -0
  26. package/src/app/app.component.css +0 -0
  27. package/src/app/app.component.html +6 -0
  28. package/src/app/app.component.spec.ts +27 -0
  29. package/src/app/app.component.ts +13 -0
  30. package/src/app/app.config.ts +8 -0
  31. package/src/app/app.routes.ts +7 -0
  32. package/src/app/demo/demo.component.css +1 -0
  33. package/src/app/demo/demo.component.html +65 -0
  34. package/src/app/demo/demo.component.spec.ts +32 -0
  35. package/src/app/demo/demo.component.ts +211 -0
  36. package/src/app/demo/schema.value.ts +111 -0
  37. package/src/app/demo/show.component.ts +15 -0
  38. package/src/assets/.gitkeep +0 -0
  39. package/src/assets/printDemo.png +0 -0
  40. package/src/environments/environment.prod.ts +3 -0
  41. package/src/environments/environment.ts +8 -0
  42. package/src/favicon.ico +0 -0
  43. package/src/index.html +14 -0
  44. package/src/main.ts +6 -0
  45. package/src/styles.scss +2 -0
  46. package/tsconfig.json +53 -0
  47. package/tsconfig.spec.json +27 -0
  48. package/vitest.config.mts +36 -0
  49. package/vitest.setup.ts +14 -0
package/.editorconfig ADDED
@@ -0,0 +1,13 @@
1
+ # Editor configuration, see http://editorconfig.org
2
+ root = true
3
+
4
+ [*]
5
+ charset = utf-8
6
+ indent_style = space
7
+ indent_size = 2
8
+ insert_final_newline = true
9
+ trim_trailing_whitespace = true
10
+
11
+ [*.md]
12
+ max_line_length = off
13
+ trim_trailing_whitespace = false
package/.eslintrc.json ADDED
@@ -0,0 +1,86 @@
1
+ {
2
+ "root": true,
3
+ "ignorePatterns": [
4
+ "projects/**/*"
5
+ ],
6
+ "overrides": [
7
+ {
8
+ "files": [
9
+ "*.ts"
10
+ ],
11
+ "parserOptions": {
12
+ "project": [
13
+ "tsconfig.json",
14
+ "e2e/tsconfig.json"
15
+ ],
16
+ "createDefaultProgram": true
17
+ },
18
+ "extends": [
19
+ "plugin:@angular-eslint/ng-cli-compat",
20
+ "plugin:@angular-eslint/ng-cli-compat--formatting-add-on",
21
+ "plugin:@angular-eslint/template/process-inline-templates"
22
+ ],
23
+ "rules": {
24
+ "@angular-eslint/component-selector": [
25
+ "error",
26
+ {
27
+ "type": "element",
28
+ "prefix": "app",
29
+ "style": "kebab-case"
30
+ }
31
+ ],
32
+ "@angular-eslint/directive-selector": [
33
+ "error",
34
+ {
35
+ "type": "attribute",
36
+ "prefix": "app",
37
+ "style": "camelCase"
38
+ }
39
+ ],
40
+ "@typescript-eslint/consistent-type-definitions": "error",
41
+ "@typescript-eslint/dot-notation": "off",
42
+ "@typescript-eslint/explicit-member-accessibility": [
43
+ "off",
44
+ {
45
+ "accessibility": "explicit"
46
+ }
47
+ ],
48
+ "@typescript-eslint/member-delimiter-style": [
49
+ "off",
50
+ {
51
+ "multiline": {
52
+ "delimiter": "none",
53
+ "requireLast": true
54
+ },
55
+ "singleline": {
56
+ "delimiter": "semi",
57
+ "requireLast": false
58
+ }
59
+ }
60
+ ],
61
+ "@typescript-eslint/no-use-before-define": "error",
62
+ "@typescript-eslint/semi": [
63
+ "off",
64
+ null
65
+ ],
66
+ "brace-style": [
67
+ "error",
68
+ "1tbs"
69
+ ],
70
+ "id-blacklist": "off",
71
+ "id-match": "off",
72
+ "no-underscore-dangle": "off",
73
+ "valid-typeof": "error"
74
+ }
75
+ },
76
+ {
77
+ "files": [
78
+ "*.html"
79
+ ],
80
+ "extends": [
81
+ "plugin:@angular-eslint/template/recommended"
82
+ ],
83
+ "rules": {}
84
+ }
85
+ ]
86
+ }
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Describe the bug**
11
+ A clear and concise description of what the bug is.
12
+
13
+ **To Reproduce**
14
+ Steps to reproduce the behavior:
15
+ 1. Go to '...'
16
+ 2. Click on '....'
17
+ 3. Scroll down to '....'
18
+ 4. See error
19
+
20
+ **Expected behavior**
21
+ A clear and concise description of what you expected to happen.
22
+
23
+ **Console and Error stack trace**
24
+ If applicable, add screenshots to help explain your problem.
25
+ Use debug mode to see in your console the data and options passed to jsoneditor. Copy this and paste in your issue when reporting bugs. Copy the stacktrace as well!
26
+
27
+ ```html
28
+ <json-editor [debug]="true" [options]="editorOptionsData" [data]="dataStructure"></json-editor>
29
+ ```
30
+
31
+
32
+ **Screenshots**
33
+ If applicable, add screenshots to help explain your problem.
34
+
35
+ **Desktop (please complete the following information):**
36
+ - OS: [e.g. iOS]
37
+ - Browser [e.g. chrome, safari]
38
+ - Ng Version [run `ng version` and paste here]
39
+
40
+
41
+ **Additional context**
42
+ Add any other context about the problem here.
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Is your feature request related to a problem? Please describe.**
11
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12
+
13
+ **Describe the solution you'd like**
14
+ A clear and concise description of what you want to happen.
15
+
16
+ **Describe alternatives you've considered**
17
+ A clear and concise description of any alternative solutions or features you've considered.
18
+
19
+ **Additional context**
20
+ Add any other context or screenshots about the feature request here.
@@ -0,0 +1,26 @@
1
+ # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
2
+ # For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
3
+
4
+ name: Node.js Package
5
+
6
+ on:
7
+ release:
8
+ types: [published]
9
+
10
+ jobs:
11
+ build:
12
+ runs-on: ubuntu-latest
13
+ permissions:
14
+ contents: read
15
+ id-token: write
16
+ steps:
17
+ - uses: actions/checkout@v6
18
+ - uses: actions/setup-node@v6
19
+ with:
20
+ node-version: 24
21
+ registry-url: 'https://registry.npmjs.org'
22
+ - run: npm ci
23
+ - run: npm test
24
+ - run: npm publish --access public
25
+ env:
26
+ NODE_AUTH_TOKEN: ${{secrets.npm_token}}
package/.travis.yml ADDED
@@ -0,0 +1,24 @@
1
+ language: node_js
2
+ node_js:
3
+ - "10.13"
4
+ addons:
5
+ chrome: stable
6
+ services:
7
+ - xvfb
8
+ before_script:
9
+ - "export DISPLAY=:99.0"
10
+ # - "sh -e /etc/init.d/xvfb start"
11
+ - sleep 3 # give xvfb some time to start
12
+ - npm run build:lib build:app
13
+ - sleep 3 # give Web server some time to bind to sockets, etc
14
+
15
+ before_install:
16
+ - npm install -g typescript webdriver-manager ng-packagr @angular/cli@9.0.2
17
+ - "/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x16"
18
+ - google-chrome-stable --headless --disable-gpu --remote-debugging-port=9222 http://localhost &
19
+
20
+ install:
21
+ - npm install
22
+ - webdriver-manager update
23
+ - node node_modules/protractor/bin/webdriver-manager update
24
+ - node_modules/protractor/bin/webdriver-manager update
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2017 David Herges
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,188 @@
1
+ # Angular Json Editor
2
+
3
+ [![Build Status](https://travis-ci.org/mariohmol/ang-jsoneditor.svg?branch=master)](https://travis-ci.org/mariohmol/ang-jsoneditor)
4
+
5
+ Angular Json Editor (wrapper for [jsoneditor](https://github.com/josdejong/jsoneditor)). View/Edit Json file with formatting.
6
+
7
+ [StackBlitz template](https://stackblitz.com/edit/ang-jsoneditor)
8
+
9
+ Working with latest Angular 18.
10
+
11
+ ![Demo Image](/src/assets/printDemo.png)
12
+
13
+ ## Installation
14
+
15
+ To install this library with npm, run below command:
16
+
17
+ ```sh
18
+ $ npm install --save jsoneditor @echo-blue/ng-jsoneditor
19
+ ```
20
+
21
+ Example:
22
+
23
+ ```html
24
+ <json-editor [options]="editorOptions" [data]="data" (change)="getData($event)"></json-editor>
25
+ ```
26
+
27
+ ## Usage
28
+
29
+ ### Configuration
30
+
31
+ Import the standalone component as below:
32
+
33
+ ```ts
34
+ import { Component, ViewChild } from '@angular/core';
35
+ import { JsonEditorComponent, JsonEditorOptions } from '@echo-blue/ng-jsoneditor';
36
+
37
+ @Component({
38
+ selector: 'app-root',
39
+ template: '<json-editor [options]="editorOptions" [data]="data"></json-editor>',
40
+ styleUrls: ['./app.component.css'],
41
+ imports: [JsonEditorComponent]
42
+ })
43
+ export class AppComponent {
44
+ public editorOptions: JsonEditorOptions;
45
+ public data: any;
46
+ // optional
47
+ @ViewChild(JsonEditorComponent, { static: false }) editor: JsonEditorComponent;
48
+
49
+ constructor() {
50
+ this.editorOptions = new JsonEditorOptions()
51
+ this.editorOptions.modes = ['code', 'text', 'tree', 'view']; // set all allowed modes
52
+ //this.options.mode = 'code'; //set only one mode
53
+
54
+ this.data = {"products":[{"name":"car","product":[{"name":"honda","model":[{"id":"civic","name":"civic"},{"id":"accord","name":"accord"},{"id":"crv","name":"crv"},{"id":"pilot","name":"pilot"},{"id":"odyssey","name":"odyssey"}]}]}]}
55
+ }
56
+
57
+ }
58
+ ```
59
+ Note : For better styling, add below line to your main style.css file
60
+
61
+ ```js
62
+ @import "~jsoneditor/dist/jsoneditor.min.css";
63
+ ```
64
+
65
+
66
+ ### Forms
67
+
68
+ Build it integrated with ReactiveForms:
69
+
70
+ ```ts
71
+ this.form = this.fb.group({
72
+ myinput: [this.data]
73
+ });
74
+ ```
75
+ ```html
76
+ <form [formGroup]="form" (submit)="submit()">
77
+ <json-editor [options]="editorOptions2" formControlName="myinput">
78
+ </json-editor>
79
+ </form>
80
+ ```
81
+
82
+ ### Extra Features
83
+
84
+ Besides all the
85
+ [configuration options](https://github.com/josdejong/jsoneditor/blob/master/docs/api.md)
86
+ from the original jsoneditor, Angular Json Editor supports one additional option:
87
+
88
+ _expandAll_ - to automatically expand all nodes upon json loaded with the _data_ input.
89
+
90
+ # Troubleshoot
91
+
92
+ If you have issue with the height of the component, you can try one of those solutions:
93
+
94
+ When you import CSS:
95
+
96
+ ```css
97
+ @import "~jsoneditor/dist/jsoneditor.min.css";
98
+ textarea.jsoneditor-text{min-height:350px;}
99
+ ```
100
+
101
+ Or Customizing the CSS:
102
+
103
+ ```css
104
+ :host ::ng-deep json-editor,
105
+ :host ::ng-deep json-editor .jsoneditor,
106
+ :host ::ng-deep json-editor > div,
107
+ :host ::ng-deep json-editor jsoneditor-outer {
108
+ height: 500px;
109
+ }
110
+ ```
111
+
112
+ Or as a inner style in component:
113
+
114
+ ```html
115
+ <json-editor class="col-md-12" #editorExample style="min-height: 300px;" [options]="editorOptionsData" [data]="dataStructure"></json-editor>
116
+ ```
117
+
118
+ For code view you can change the height using this example:
119
+ ```css
120
+ .ace_editor.ace-jsoneditor {
121
+ min-height: 500px;
122
+ }
123
+ ```
124
+
125
+ Use debug mode to see in your console the data and options passed to jsoneditor. Copy this and paste in your issue when reporting bugs.
126
+
127
+ ```html
128
+ <json-editor [debug]="true" [options]="editorOptionsData" [data]="dataStructure"></json-editor>
129
+ ```
130
+
131
+ ## JSONOptions missing params
132
+
133
+ If you find youself trying to use an custom option that is not mapped here, you can do:
134
+
135
+ ```ts
136
+ let editorOptions: JsonEditorOptions = new JsonEditorOptions(); (<any>this.editorOptions).templates = [{menu options objects as in json editor documentation}]
137
+ ```
138
+
139
+ See the [issue](https://github.com/mariohmol/ang-jsoneditor/issues/57)
140
+
141
+ ## Internet Explorer
142
+
143
+ If you want to support IE, please follow this guide:
144
+ * https://github.com/mariohmol/ang-jsoneditor/issues/44#issuecomment-508650610
145
+
146
+ ## Multiple editors
147
+
148
+ To use multiple jsoneditors in your view you cannot use the same editor options.
149
+
150
+ You should have something like:
151
+
152
+ ```html
153
+ <div *ngFor="let prd of data.products" class="w-100-p p-24" >
154
+ <json-editor [options]="makeOptions()" [data]="prd" (change)="showJson($event)"></json-editor>
155
+ </div>
156
+ ```
157
+
158
+ ```ts
159
+ makeOptions = () => {
160
+ return new JsonEditorOptions();
161
+ }
162
+ ```
163
+
164
+ # Demo
165
+
166
+ Demo component files are included in Git Project.
167
+
168
+ Demo Project with a lot of different implementations (ngInit, change event and others):
169
+ [https://github.com/mariohmol/ang-jsoneditor/tree/master/src/app/demo)
170
+
171
+ When publishing it to npm, look over this docs: https://docs.npmjs.com/misc/developers
172
+
173
+ # Testing
174
+
175
+ Unit tests now run with [Vitest](https://vitest.dev/). Use `npm run test:dev` for an interactive watch mode during development or `npm run test:unit` for a single CI-friendly execution. The legacy Karma/Jasmine setup has been removed.
176
+
177
+ # Collaborate
178
+
179
+ Fork, clone this repo and install dependencies.
180
+ This project just works with webpack 4 (dont change to 5):
181
+
182
+ ```sh
183
+ npm i -g rimraf
184
+ npm i
185
+ ```
186
+
187
+ # License
188
+ MIT(./LICENSE)
package/angular.json ADDED
@@ -0,0 +1,132 @@
1
+ {
2
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3
+ "version": 1,
4
+ "newProjectRoot": "projects",
5
+ "projects": {
6
+ "ng-jsoneditor-demo": {
7
+ "projectType": "application",
8
+ "schematics": {
9
+ "@schematics/angular:component": {
10
+ "style": "scss"
11
+ }
12
+ },
13
+ "root": "",
14
+ "sourceRoot": "src",
15
+ "prefix": "app",
16
+ "architect": {
17
+ "build": {
18
+ "builder": "@angular-devkit/build-angular:application",
19
+ "options": {
20
+ "outputPath": "dist/ng-jsoneditor-demo",
21
+ "index": "src/index.html",
22
+ "browser": "src/main.ts",
23
+ "polyfills": [
24
+ "zone.js"
25
+ ],
26
+ "tsConfig": "tsconfig.json",
27
+ "inlineStyleLanguage": "scss",
28
+ "assets": [
29
+ "src/favicon.ico",
30
+ "src/assets"
31
+ ],
32
+ "styles": [
33
+ "src/styles.scss"
34
+ ],
35
+ "scripts": []
36
+ },
37
+ "configurations": {
38
+ "production": {
39
+ "budgets": [
40
+ {
41
+ "type": "initial",
42
+ "maximumWarning": "500kb",
43
+ "maximumError": "2mb"
44
+ },
45
+ {
46
+ "type": "anyComponentStyle",
47
+ "maximumWarning": "2kb",
48
+ "maximumError": "4kb"
49
+ }
50
+ ],
51
+ "outputHashing": "all"
52
+ },
53
+ "development": {
54
+ "optimization": false,
55
+ "extractLicenses": false,
56
+ "sourceMap": true
57
+ }
58
+ },
59
+ "defaultConfiguration": "production"
60
+ },
61
+ "serve": {
62
+ "builder": "@angular-devkit/build-angular:dev-server",
63
+ "configurations": {
64
+ "production": {
65
+ "buildTarget": "ng-jsoneditor-demo:build:production"
66
+ },
67
+ "development": {
68
+ "buildTarget": "ng-jsoneditor-demo:build:development"
69
+ }
70
+ },
71
+ "defaultConfiguration": "development"
72
+ },
73
+ "extract-i18n": {
74
+ "builder": "@angular-devkit/build-angular:extract-i18n",
75
+ "options": {
76
+ "buildTarget": "ng-jsoneditor-demo:build"
77
+ }
78
+ },
79
+ "test": {
80
+ "builder": "@angular-devkit/architect:run-script",
81
+ "options": {
82
+ "script": "test:unit"
83
+ }
84
+ }
85
+ }
86
+ },
87
+ "@echo-blue/ng-jsoneditor": {
88
+ "projectType": "library",
89
+ "root": "projects/ng-jsoneditor",
90
+ "sourceRoot": "projects/ng-jsoneditor/src",
91
+ "prefix": "lib",
92
+ "architect": {
93
+ "build": {
94
+ "builder": "@angular-devkit/build-angular:ng-packagr",
95
+ "options": {
96
+ "project": "projects/ng-jsoneditor/ng-package.json"
97
+ },
98
+ "configurations": {
99
+ "production": {
100
+ "tsConfig": "projects/ng-jsoneditor/tsconfig.lib.prod.json"
101
+ },
102
+ "development": {
103
+ "tsConfig": "projects/ng-jsoneditor/tsconfig.lib.json"
104
+ }
105
+ },
106
+ "defaultConfiguration": "production"
107
+ },
108
+ "test": {
109
+ "builder": "@angular-devkit/architect:run-script",
110
+ "options": {
111
+ "script": "test:unit"
112
+ }
113
+ }
114
+ }
115
+ }
116
+ },
117
+ "schematics": {
118
+ "@schematics/angular:component": {
119
+ "prefix": "app",
120
+ "style": "css"
121
+ },
122
+ "@schematics/angular:directive": {
123
+ "prefix": "app"
124
+ }
125
+ },
126
+ "cli": {
127
+ "schematicCollections": [
128
+ "@angular-eslint/schematics"
129
+ ],
130
+ "analytics": false
131
+ }
132
+ }
@@ -0,0 +1,17 @@
1
+ import { NgPackagedPage } from './app.po';
2
+
3
+ describe('ng-packaged App', () => {
4
+ let page: NgPackagedPage;
5
+
6
+ beforeEach(() => {
7
+ page = new NgPackagedPage();
8
+ });
9
+
10
+ it('should display message saying app works', () => {
11
+ page.navigateTo();
12
+ page.getParagraphText()
13
+ .then(t => {
14
+ expect(t).toEqual('Welcome to Angular Json Editor');
15
+ });
16
+ });
17
+ });
package/e2e/app.po.ts ADDED
@@ -0,0 +1,11 @@
1
+ import { browser, by, element } from 'protractor';
2
+
3
+ export class NgPackagedPage {
4
+ navigateTo() {
5
+ return browser.get('/');
6
+ }
7
+
8
+ getParagraphText() {
9
+ return element(by.css('app-root h1')).getText();
10
+ }
11
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "extends": "../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../out-tsc/e2e",
5
+ "module": "commonjs",
6
+ "target": "es5",
7
+ "types": [
8
+ "jasmine",
9
+ "node"
10
+ ]
11
+ }
12
+ }
package/package.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "@echo-blue/ng-jsoneditor",
3
+ "version": "18.0.5",
4
+ "private": false,
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/echo-blue/ng-jsoneditor"
8
+ },
9
+ "author": "https://www.linkedin.com/in/mariomol",
10
+ "contributors": [
11
+ "https://github.com/echo-blue"
12
+ ],
13
+ "license": "MIT",
14
+ "scripts": {
15
+ "ng": "ng",
16
+ "start": "ng serve",
17
+ "build": "ng build",
18
+ "build:app": "npm run build:lib && ng build",
19
+ "build:lib": "ng build --project ng-jsoneditor",
20
+ "watch": "npm run build:lib -- --watch",
21
+ "build:full": "npm run build:lib && npm run build:app",
22
+ "publishnpm": "cp README.md projects/ng-jsoneditor/README.md && npm run build:lib && cd dist/ng-jsoneditor && npm publish",
23
+ "unpublish": "npm deprecate -f 'ng-jsoneditor@18.0.5' 'this package has been deprecated'",
24
+ "test": "npm run test:unit",
25
+ "test:dev": "vitest",
26
+ "test:unit": "vitest run",
27
+ "lint": "ng lint",
28
+ "e2e": "ng e2e",
29
+ "ports": "lsof -i tcp:4201",
30
+ "reinstall": "rm package-lock.json && rm -rf node_modules && npm i",
31
+ "rebuildsass": "npm rebuild node-sass"
32
+ },
33
+ "dependencies": {
34
+ "@angular/common": "^18.2.14",
35
+ "@angular/compiler": "^18.2.14",
36
+ "@angular/core": "^18.2.14",
37
+ "@angular/forms": "^18.2.14",
38
+ "@angular/platform-browser": "^18.2.14",
39
+ "@angular/platform-browser-dynamic": "^18.2.14",
40
+ "@angular/router": "^18.2.14",
41
+ "jsoneditor": "*",
42
+ "ng-packagr": "^18.2.1",
43
+ "rxjs": "*",
44
+ "tslib": "^2.3.0",
45
+ "webpack": "^5.88.2",
46
+ "zone.js": "~0.14.2"
47
+ },
48
+ "devDependencies": {
49
+ "@analogjs/vite-plugin-angular": "^2.3.1",
50
+ "@angular-devkit/build-angular": "^18.2.21",
51
+ "@angular-devkit/schematics": "^18.2.21",
52
+ "@angular-eslint/builder": "^18.4.3",
53
+ "@angular-eslint/eslint-plugin": "^18.4.3",
54
+ "@angular-eslint/eslint-plugin-template": "^18.4.3",
55
+ "@angular-eslint/schematics": "^18.4.3",
56
+ "@angular-eslint/template-parser": "^18.4.3",
57
+ "@angular/cli": "^18.2.21",
58
+ "@angular/compiler-cli": "^18.2.14",
59
+ "@angular/language-service": "^18.2.14",
60
+ "@types/jsoneditor": "^9.9.3",
61
+ "@typescript-eslint/eslint-plugin": "^7.2.0",
62
+ "@typescript-eslint/parser": "^7.2.0",
63
+ "cpr": "^3.0.1",
64
+ "eslint": "^8.57.0",
65
+ "eslint-plugin-import": "latest",
66
+ "eslint-plugin-jsdoc": "latest",
67
+ "eslint-plugin-prefer-arrow": "latest",
68
+ "jsdom": "^29.0.0",
69
+ "typescript": "5.5.4",
70
+ "vite": "^8.0.0",
71
+ "vitest": "^4.1.0"
72
+ }
73
+ }