jostraca 0.7.7 → 0.8.1

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/README.md CHANGED
@@ -9,8 +9,9 @@ A code and project generator that uses React-style components.
9
9
  <!--START-OPTIONS-->
10
10
 
11
11
  * __folder__: `string`
12
- * __fs__: `any`
13
12
  * __meta__: `any`
13
+ * __exclude__: `boolean`
14
+ * __fs__: `any`
14
15
  <!--END-OPTIONS-->
15
16
 
16
17
 
package/dist/jostraca.js CHANGED
@@ -67,42 +67,46 @@ const FragmentOp_1 = require("./op/FragmentOp");
67
67
  const ContentOp_1 = require("./op/ContentOp");
68
68
  const NoneOp_1 = require("./op/NoneOp");
69
69
  const GLOBAL = global;
70
+ const DEFAULT_LOGGER = {
71
+ trace: (...args) => console.log(new Date().toISOString(), 'TRACE', ...args),
72
+ debug: (...args) => console.log(new Date().toISOString(), 'DEBUG', ...args),
73
+ info: (...args) => console.log(new Date().toISOString(), 'INFO', ...args),
74
+ warn: (...args) => console.warn(new Date().toISOString(), 'WARN', ...args),
75
+ error: (...args) => console.error(new Date().toISOString(), 'ERROR', ...args),
76
+ fatal: (...args) => console.error(new Date().toISOString(), 'FATAL', ...args),
77
+ };
70
78
  function Jostraca() {
71
79
  GLOBAL.jostraca = new node_async_hooks_1.AsyncLocalStorage();
72
80
  async function generate(opts, root) {
73
81
  const fs = opts.fs || Fs;
74
82
  const meta = opts.meta || {};
75
83
  const folder = opts.folder || '.';
84
+ const log = opts.log || DEFAULT_LOGGER;
76
85
  const ctx$ = {
77
86
  folder,
78
87
  content: null,
79
88
  meta,
80
89
  fs,
81
90
  opts,
91
+ log,
82
92
  };
83
93
  return GLOBAL.jostraca.run(ctx$, async () => {
84
- try {
85
- // Define phase
86
- root();
87
- const ctx$ = GLOBAL.jostraca.getStore();
88
- // console.dir(ctx$.node, { depth: null })
89
- // Build phase
90
- const buildctx = {
91
- fs,
92
- folder,
93
- current: {
94
- folder: {
95
- parent: folder
96
- }
94
+ // Define phase
95
+ root();
96
+ const ctx$ = GLOBAL.jostraca.getStore();
97
+ // console.dir(ctx$.node, { depth: null })
98
+ // Build phase
99
+ const buildctx = {
100
+ fs,
101
+ folder,
102
+ current: {
103
+ folder: {
104
+ parent: folder
97
105
  }
98
- };
99
- await build(ctx$, buildctx);
100
- return buildctx;
101
- }
102
- catch (err) {
103
- console.log('JOSTRACA ERROR:', err);
104
- throw err;
105
- }
106
+ }
107
+ };
108
+ await build(ctx$, buildctx);
109
+ return buildctx;
106
110
  });
107
111
  }
108
112
  async function build(ctx$, buildctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"jostraca.js","sourceRoot":"","sources":["../src/jostraca.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jostraca.js","sourceRoot":"","sources":["../src/jostraca.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -3,6 +3,7 @@ type JostracaOptions = {
3
3
  meta?: any;
4
4
  exclude?: boolean;
5
5
  fs?: any;
6
+ log?: Log;
6
7
  };
7
8
  type Node = {
8
9
  kind: string;
@@ -23,4 +24,12 @@ type OpDef = {
23
24
  after: OpStep;
24
25
  };
25
26
  type Component = (props: any, children?: any) => void;
26
- export type { JostracaOptions, Node, OpStep, OpDef, Component, };
27
+ type Log = {
28
+ trace: (...args: any[]) => any;
29
+ debug: (...args: any[]) => any;
30
+ info: (...args: any[]) => any;
31
+ warn: (...args: any[]) => any;
32
+ error: (...args: any[]) => any;
33
+ fatal: (...args: any[]) => any;
34
+ };
35
+ export type { JostracaOptions, Node, OpStep, OpDef, Component, Log, };
package/gen/readme.js CHANGED
@@ -3,14 +3,16 @@ const Fs = require('node:fs')
3
3
  const { Jostraca, getx, each, Folder, Inject, Content } = require('..')
4
4
  const Parser = require('oxc-parser')
5
5
 
6
- const utilitySrcPath = __dirname+'/../src/utility.ts'
6
+ const utilitySrcPath = __dirname+'/../src/types.ts'
7
7
  const sourceText = Fs.readFileSync(utilitySrcPath,'utf8')
8
8
  const options = {
9
9
  sourceFilename: utilitySrcPath,
10
10
  }
11
11
 
12
12
  let pres = Parser.parseSync(sourceText, options)
13
- let ast = JSON.parse(pres.program)
13
+ let ast = pres.program
14
+
15
+ // console.dir(ast,{depth:3})
14
16
 
15
17
  let optionDefs = getx(ast, 'body?id:name==JostracaOptions 0 typeAnnotation members')
16
18
  .map(od=>({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jostraca",
3
- "version": "0.7.7",
3
+ "version": "0.8.1",
4
4
  "main": "dist/jostraca.js",
5
5
  "type": "commonjs",
6
6
  "types": "dist/jostraca.d.ts",
@@ -35,13 +35,13 @@
35
35
  ],
36
36
  "devDependencies": {
37
37
  "@hapi/code": "^9.0.3",
38
- "@types/node": "22.7.6",
38
+ "@types/node": "22.9.0",
39
39
  "esbuild": "^0.24.0",
40
40
  "memfs": "^4.14.0",
41
- "oxc-parser": "^0.31.0",
41
+ "oxc-parser": "^0.36.0",
42
42
  "typescript": "^5.6.3"
43
43
  },
44
- "dependencies": {
45
- "@jsonic/jsonic-next": "^2.12.1"
44
+ "peerDependencies": {
45
+ "jsonic": ">=2.15.2"
46
46
  }
47
47
  }
package/src/jostraca.ts CHANGED
@@ -11,6 +11,7 @@ import type {
11
11
  Node,
12
12
  OpDef,
13
13
  Component,
14
+ Log,
14
15
  } from './types'
15
16
 
16
17
 
@@ -49,6 +50,14 @@ import { NoneOp } from './op/NoneOp'
49
50
 
50
51
  const GLOBAL = (global as any)
51
52
 
53
+ const DEFAULT_LOGGER = {
54
+ trace: (...args: any[]) => console.log(new Date().toISOString(), 'TRACE', ...args),
55
+ debug: (...args: any[]) => console.log(new Date().toISOString(), 'DEBUG', ...args),
56
+ info: (...args: any[]) => console.log(new Date().toISOString(), 'INFO', ...args),
57
+ warn: (...args: any[]) => console.warn(new Date().toISOString(), 'WARN', ...args),
58
+ error: (...args: any[]) => console.error(new Date().toISOString(), 'ERROR', ...args),
59
+ fatal: (...args: any[]) => console.error(new Date().toISOString(), 'FATAL', ...args),
60
+ }
52
61
 
53
62
 
54
63
  function Jostraca() {
@@ -59,6 +68,7 @@ function Jostraca() {
59
68
  const fs = opts.fs || Fs
60
69
  const meta = opts.meta || {}
61
70
  const folder = opts.folder || '.'
71
+ const log: Log = opts.log || DEFAULT_LOGGER
62
72
 
63
73
  const ctx$ = {
64
74
  folder,
@@ -66,35 +76,30 @@ function Jostraca() {
66
76
  meta,
67
77
  fs,
68
78
  opts,
79
+ log,
69
80
  }
70
81
 
71
82
  return GLOBAL.jostraca.run(ctx$, async () => {
72
- try {
73
- // Define phase
74
- root()
83
+ // Define phase
84
+ root()
75
85
 
76
- const ctx$ = GLOBAL.jostraca.getStore()
86
+ const ctx$ = GLOBAL.jostraca.getStore()
77
87
 
78
- // console.dir(ctx$.node, { depth: null })
88
+ // console.dir(ctx$.node, { depth: null })
79
89
 
80
- // Build phase
90
+ // Build phase
81
91
 
82
- const buildctx = {
83
- fs,
84
- folder,
85
- current: {
86
- folder: {
87
- parent: folder
88
- }
92
+ const buildctx = {
93
+ fs,
94
+ folder,
95
+ current: {
96
+ folder: {
97
+ parent: folder
89
98
  }
90
99
  }
91
- await build(ctx$, buildctx)
92
- return buildctx
93
- }
94
- catch (err: any) {
95
- console.log('JOSTRACA ERROR:', err)
96
- throw err
97
100
  }
101
+ await build(ctx$, buildctx)
102
+ return buildctx
98
103
  })
99
104
  }
100
105
 
package/src/types.ts CHANGED
@@ -6,6 +6,7 @@ type JostracaOptions = {
6
6
  meta?: any // Provide meta data to the generation process. Default: `{}`
7
7
  exclude?: boolean // Exclude modified output files. Default: `false`.
8
8
  fs?: any // File system API (used for testing). Default: `node:fs`
9
+ log?: Log
9
10
  }
10
11
 
11
12
 
@@ -36,6 +37,15 @@ type OpDef = {
36
37
  type Component = (props: any, children?: any) => void
37
38
 
38
39
 
40
+ type Log = {
41
+ trace: (...args: any[]) => any
42
+ debug: (...args: any[]) => any
43
+ info: (...args: any[]) => any
44
+ warn: (...args: any[]) => any
45
+ error: (...args: any[]) => any
46
+ fatal: (...args: any[]) => any
47
+ }
48
+
39
49
 
40
50
  export type {
41
51
  JostracaOptions,
@@ -43,5 +53,6 @@ export type {
43
53
  OpStep,
44
54
  OpDef,
45
55
  Component,
56
+ Log,
46
57
  }
47
58