Skip to content

Commit f72345e

Browse files
committed
Execute PHP files on require from JS-land immediately and add new Environment API
1 parent 3351656 commit f72345e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+3059
-2473
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88

99
strategy:
1010
matrix:
11-
node-version: [14.x, 16.x, 18.x, 19.x]
11+
node-version: [18.x, 20.x, 22.x]
1212

1313
steps:
1414
# Check out the repository under $GITHUB_WORKSPACE, so this job can access it.

api/async.js

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@
1111

1212
/*global global */
1313
var API = require('../src/API'),
14-
EnvironmentProvider = require('../src/EnvironmentProvider'),
14+
Environment = require('../src/Environment/Environment'),
15+
EnvironmentFactory = require('../src/Environment/EnvironmentFactory'),
16+
EnvironmentProvider = require('../src/Environment/EnvironmentProvider'),
1517
FileSystem = require('../src/FileSystem'),
18+
InitialiserContext = require('../src/Initialiser/InitialiserContext'),
1619
IO = require('../src/IO'),
1720
Loader = require('../src/Loader'),
1821
ModuleRepository = require('../src/ModuleRepository'),
@@ -21,8 +24,19 @@ var API = require('../src/API'),
2124
phpConfigImporter = require('phpconfig').configImporter,
2225
phpRuntime = require('phpruntime'),
2326
io = new IO(console),
24-
environmentProvider = new EnvironmentProvider(phpRuntime, performance, io),
25-
api = new API(FileSystem, Loader, ModuleRepository, environmentProvider, phpConfigImporter, require.cache),
27+
environmentFactory = new EnvironmentFactory(Environment),
28+
environmentProvider = new EnvironmentProvider(environmentFactory, phpRuntime, performance, io),
29+
initialiserLoader = require('../src/shared/initialiserLoader'),
30+
api = new API(
31+
FileSystem,
32+
Loader,
33+
ModuleRepository,
34+
InitialiserContext,
35+
environmentProvider,
36+
initialiserLoader,
37+
phpConfigImporter,
38+
require.cache
39+
),
2640
loader = api.createLoader();
2741

2842
module.exports = loader;

api/psync.js

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@
1111

1212
/*global global */
1313
var API = require('../src/API'),
14-
EnvironmentProvider = require('../src/EnvironmentProvider'),
14+
Environment = require('../src/Environment/Environment'),
15+
EnvironmentFactory = require('../src/Environment/EnvironmentFactory'),
16+
EnvironmentProvider = require('../src/Environment/EnvironmentProvider'),
1517
FileSystem = require('../src/FileSystem'),
18+
InitialiserContext = require('../src/Initialiser/InitialiserContext'),
1619
IO = require('../src/IO'),
1720
Loader = require('../src/Loader'),
1821
ModuleRepository = require('../src/ModuleRepository'),
@@ -21,8 +24,19 @@ var API = require('../src/API'),
2124
phpConfigImporter = require('phpconfig').configImporter,
2225
phpRuntime = require('phpruntime/psync'),
2326
io = new IO(console),
24-
environmentProvider = new EnvironmentProvider(phpRuntime, performance, io),
25-
api = new API(FileSystem, Loader, ModuleRepository, environmentProvider, phpConfigImporter, require.cache),
27+
environmentFactory = new EnvironmentFactory(Environment),
28+
environmentProvider = new EnvironmentProvider(environmentFactory, phpRuntime, performance, io),
29+
initialiserLoader = require('../src/shared/initialiserLoader'),
30+
api = new API(
31+
FileSystem,
32+
Loader,
33+
ModuleRepository,
34+
InitialiserContext,
35+
environmentProvider,
36+
initialiserLoader,
37+
phpConfigImporter,
38+
require.cache
39+
),
2640
loader = api.createLoader();
2741

2842
module.exports = loader;

api/sync.js

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@
1111

1212
/*global global */
1313
var API = require('../src/API'),
14-
EnvironmentProvider = require('../src/EnvironmentProvider'),
14+
Environment = require('../src/Environment/Environment'),
15+
EnvironmentFactory = require('../src/Environment/EnvironmentFactory'),
16+
EnvironmentProvider = require('../src/Environment/EnvironmentProvider'),
1517
FileSystem = require('../src/FileSystem'),
18+
InitialiserContext = require('../src/Initialiser/InitialiserContext'),
1619
IO = require('../src/IO'),
1720
Loader = require('../src/Loader'),
1821
ModuleRepository = require('../src/ModuleRepository'),
@@ -21,8 +24,19 @@ var API = require('../src/API'),
2124
phpConfigImporter = require('phpconfig').configImporter,
2225
phpRuntime = require('phpruntime/sync'),
2326
io = new IO(console),
24-
environmentProvider = new EnvironmentProvider(phpRuntime, performance, io),
25-
api = new API(FileSystem, Loader, ModuleRepository, environmentProvider, phpConfigImporter, require.cache),
27+
environmentFactory = new EnvironmentFactory(Environment),
28+
environmentProvider = new EnvironmentProvider(environmentFactory, phpRuntime, performance, io),
29+
initialiserLoader = require('../src/shared/initialiserLoader'),
30+
api = new API(
31+
FileSystem,
32+
Loader,
33+
ModuleRepository,
34+
InitialiserContext,
35+
environmentProvider,
36+
initialiserLoader,
37+
phpConfigImporter,
38+
require.cache
39+
),
2640
loader = api.createLoader();
2741

2842
module.exports = loader;

0 commit comments

Comments
 (0)