@live-change/server 0.9.124 → 0.9.126

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.
@@ -72,10 +72,6 @@ class RenderContext {
72
72
  name: 'SSR '+(new Date().toISOString()),
73
73
  ///microtaskMode: 'afterEvaluate'
74
74
  })
75
-
76
- // Start context and execute script immediately
77
- this.start()
78
- this.script.runInContext(this.vmContext)
79
75
  }
80
76
 
81
77
  runScript(script) {
@@ -99,7 +95,8 @@ class RenderContext {
99
95
  }
100
96
 
101
97
  // Start the context - allow nextTick operations
102
- start() {
98
+ async start() {
99
+ await this.script.runInContext(this.vmContext)
103
100
  this.running = true
104
101
  }
105
102
 
package/lib/Renderer.js CHANGED
@@ -5,6 +5,7 @@ import serialize from 'serialize-javascript'
5
5
  import renderTemplate from './renderTemplate.js'
6
6
  import { SitemapStream } from 'sitemap'
7
7
  import vm from 'vm'
8
+ import { constants } from 'vm'
8
9
  import { createRequire } from 'module'
9
10
  import RenderContext from './RenderContext.js'
10
11
 
@@ -23,13 +24,16 @@ class Renderer {
23
24
  if(this.settings.dev) {
24
25
  await this.setupVite()
25
26
  } else {
26
- const serverEntryPath = path.resolve(this.root, this.settings.serverEntry ?? './dist/server/server.cjs')
27
- const serverEntryCode = await fs.promises.readFile(serverEntryPath, { encoding: 'utf-8' })
27
+ const serverEntryPath = path.resolve(this.root, this.settings.serverEntry ?? './dist/server/entry-server.js')
28
+ //const serverEntryCode = await fs.promises.readFile(serverEntryPath, { encoding: 'utf-8' })
29
+ const serverEntryCode =
30
+ `import('./entry-server.js').then(m=>Object.entries(m).forEach(([k,v])=>exports[k]=v))`
28
31
  this.script = new vm.Script(serverEntryCode, {
29
- filename: serverEntryPath,
32
+ filename: path.dirname(serverEntryPath)+'/entrypoint.generated.js',
30
33
  lineOffset: 0,
31
- columnOffset: 0
32
- })
34
+ columnOffset: 0,
35
+ importModuleDynamically: constants.USE_MAIN_CONTEXT_DEFAULT_LOADER
36
+ })
33
37
  this.baseContext = {
34
38
  require: createRequire(serverEntryPath),
35
39
  __dirname: path.dirname(serverEntryPath),
@@ -38,6 +42,7 @@ class Renderer {
38
42
  // Create pool of render contexts
39
43
  for (let i = 0; i < this.poolSize; i++) {
40
44
  const context = new RenderContext(this.settings, this.baseContext, this.script)
45
+ await context.start()
41
46
  this.contextPool.push(context)
42
47
  }
43
48
 
@@ -113,6 +118,7 @@ class Renderer {
113
118
  // Stop the context and create a replacement
114
119
  context.stop()
115
120
  const newContext = new RenderContext(this.settings, this.baseContext, this.script)
121
+ await newContext.start()
116
122
  this.releaseContext(newContext)
117
123
  } else {
118
124
  // Normal release back to pool
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@live-change/server",
3
- "version": "0.9.124",
3
+ "version": "0.9.126",
4
4
  "description": "Live Change Framework - server",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -22,12 +22,12 @@
22
22
  "type": "module",
23
23
  "homepage": "https://github.com/live-change/live-change-stack",
24
24
  "dependencies": {
25
- "@live-change/dao": "^0.9.124",
26
- "@live-change/dao-sockjs": "^0.9.124",
27
- "@live-change/db-server": "^0.9.124",
28
- "@live-change/framework": "^0.9.124",
25
+ "@live-change/dao": "^0.9.126",
26
+ "@live-change/dao-sockjs": "^0.9.126",
27
+ "@live-change/db-server": "^0.9.126",
28
+ "@live-change/framework": "^0.9.126",
29
29
  "@live-change/sockjs": "0.4.1",
30
- "@live-change/uid": "^0.9.124",
30
+ "@live-change/uid": "^0.9.126",
31
31
  "dotenv": "^17.2.1",
32
32
  "express": "^4.18.2",
33
33
  "express-static-gzip": "2.1.7",
@@ -39,5 +39,5 @@
39
39
  "websocket": "^1.0.34",
40
40
  "yargs": "^17.7.2"
41
41
  },
42
- "gitHead": "b61ece032725f08f1225e7ecf48204a3a7eedbd0"
42
+ "gitHead": "bcd831399cc7e00d25349d1fc9788540a79ab1b2"
43
43
  }