Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Parse typescript file to get exported const variables

Is there a way to parse the environment.ts file from a .js file?

export const environment = {
    ...,
    production: false,
    ...
}; 

something like

beforePrepare.js

module.exports = function (ctx) {
    let environmet = TOOL.parse(src/environments/environment.ts);
    console.log(environment); --> PRINT {..., production: false, ...}
}

Could a regex also do the work?

I need this to implement a cordova hook

like image 278
Iraklis Bekiaris Avatar asked Feb 02 '26 09:02

Iraklis Bekiaris


1 Answers

A regex can be used as a quick-and-dirty solution:

const s = `
// Some comment
export const environment = {
  production: false,
  apiUrl: 'http://my-api-url',
  testUser: {
    name: 'John Doe',
    age: 25
  }
};
export const otherStuff = {
  answer: 42
};
`;

const regex = /export const environment = (\{[^;]*\});/m;
const match = regex.exec(s);
const environment = eval(`(${match[1]})`);
console.log(environment);

For more complex cases you need a TypeScript parser.

like image 104
kol Avatar answered Feb 03 '26 22:02

kol



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!