better-ajv-errors icon indicating copy to clipboard operation
better-ajv-errors copied to clipboard

Error when use in angular 16

Open MarianoFranzese opened this issue 2 years ago • 2 comments

I have this error in console when in an angular service:

ERROR Error: Uncaught (in promise): ReferenceError: process is not defined

this is the code

import { Injectable } from '@angular/core';
import Ajv, { ErrorObject } from 'ajv';
import betterAjvErrors from 'better-ajv-errors';
import { geoJsonSchema } from './geojson.schema'; // the json schema

@Injectable({
  providedIn: 'root',
})
export class GeojsonValidationService {
  private ajv: Ajv;

  constructor() {
    this.ajv = new Ajv();
  }

  validateJson(data: any, schema: object = geoJsonSchema): boolean {
    const validate = this.ajv.compile(schema);
    const valid = validate(data);

    if (!valid) {
      const errors: ErrorObject[] = validate.errors || [];
      const output = betterAjvErrors(schema, data, errors);
      console.log('output => ', output);

    }
    
    return valid;
}

the versions that i use are:

 "@angular/core": "^16.2.12",
 [...]
 "ajv": "^8.12.0",
 "better-ajv-errors": "^1.2.0",

MarianoFranzese avatar Dec 21 '23 22:12 MarianoFranzese

I'm getting the same error. Did your find any solution to this problem?

sonjaka avatar Jan 18 '24 20:01 sonjaka

I have the same problem in vue3 with vite.

Add this to the vite config to fix

    define: {
        'process.env': {}
    },

GoldraK avatar Feb 24 '24 18:02 GoldraK