frameworks2 1.0.0 → 1.0.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 +24 -18
- package/index.d.ts +57 -0
- package/index.js +25 -17
- package/loader.js +8 -8
- package/package.json +25 -11
package/README.md
CHANGED
|
@@ -1,44 +1,50 @@
|
|
|
1
1
|
# Frameworks2.js. The framework framework.
|
|
2
|
+
|
|
2
3
|
Introducting Frameworks2.js. A JavaScript framework to manage and make your frameworks faster. It's Frameworks 2.0!
|
|
3
4
|
|
|
4
5
|
## Why?
|
|
6
|
+
|
|
5
7
|
Frameworks are usually slow and not 10x. This framework will make your frameworks faster because it is 10x!
|
|
6
8
|
|
|
7
9
|
## Usage
|
|
10
|
+
|
|
8
11
|
For safety and reliability, every time Frameworks2.js is accessed, it must be loaded first, or it will throw an error. The module to load it is incorporated inside the Frameworks2.js module. To load it, just do this.
|
|
9
12
|
|
|
10
13
|
```javascript
|
|
11
|
-
require(
|
|
14
|
+
require("frameworks2/loader").load()
|
|
12
15
|
```
|
|
13
16
|
|
|
14
17
|
Now, to use the Framework Manager, you need to import it like this:
|
|
15
18
|
|
|
16
19
|
```javascript
|
|
17
|
-
require(
|
|
18
|
-
const fm = require(
|
|
20
|
+
require("frameworks2/loader").load()
|
|
21
|
+
const fm = require("frameworks2")
|
|
19
22
|
```
|
|
20
23
|
|
|
21
24
|
Here is an example of using a library (for this example, `lodash`) with Frameworks2.js:
|
|
22
25
|
|
|
23
26
|
```javascript
|
|
24
|
-
require(
|
|
25
|
-
const fm = require(
|
|
26
|
-
fm.addFramework(require(
|
|
27
|
-
fm.preloadFramework(
|
|
28
|
-
fm.loadFramework(
|
|
29
|
-
fm.postloadFramework(
|
|
30
|
-
const _ = fm.getFramework(
|
|
27
|
+
require("frameworks2/loader").load()
|
|
28
|
+
const fm = require("frameworks2")
|
|
29
|
+
fm.addFramework(require("lodash"))
|
|
30
|
+
fm.preloadFramework("lodash")
|
|
31
|
+
fm.loadFramework("lodash")
|
|
32
|
+
fm.postloadFramework("lodash")
|
|
33
|
+
const _ = fm.getFramework("lodash")
|
|
31
34
|
```
|
|
32
|
-
|
|
35
|
+
|
|
36
|
+
All of the methods are _absolutely_ crucial and work towards making your code as fast as possible. Or, if it is too much code, then you can simplify it with the `useFramework` method, which runs all these functions for you:
|
|
37
|
+
|
|
33
38
|
```javascript
|
|
34
|
-
require(
|
|
35
|
-
const fm = require(
|
|
36
|
-
const _ = fm.useFramework(require(
|
|
39
|
+
require("frameworks2/loader").load()
|
|
40
|
+
const fm = require("frameworks2")
|
|
41
|
+
const _ = fm.useFramework(require("lodash"), "lodash")
|
|
37
42
|
```
|
|
43
|
+
|
|
38
44
|
For an even simpler usage, you can use the `fm.require` method, which will automatically require the name:
|
|
39
45
|
|
|
40
46
|
```javascript
|
|
41
|
-
require(
|
|
42
|
-
const fm = require(
|
|
43
|
-
const _ = fm.require(
|
|
44
|
-
```
|
|
47
|
+
require("frameworks2/loader").load()
|
|
48
|
+
const fm = require("frameworks2")
|
|
49
|
+
const _ = fm.require("lodash")
|
|
50
|
+
```
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manages the lifecycle and storage of various frameworks.
|
|
3
|
+
*/
|
|
4
|
+
class FrameworkManager {
|
|
5
|
+
constructor()
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Internal storage for registered frameworks.
|
|
9
|
+
*/
|
|
10
|
+
frameworks: Record<string, any>
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Manually adds a framework to the registry.
|
|
14
|
+
*/
|
|
15
|
+
addFramework(name: string, framework: any): void
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Lifecycle method to trigger preloading logic.
|
|
19
|
+
*/
|
|
20
|
+
preloadFramework(name: string): string
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Lifecycle method to trigger loading logic.
|
|
24
|
+
*/
|
|
25
|
+
loadFramework(name: string): string
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Lifecycle method to trigger post-loading logic.
|
|
29
|
+
*/
|
|
30
|
+
postloadFramework(name: string): string
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Retrieves a framework by its registered name.
|
|
34
|
+
*/
|
|
35
|
+
getFramework(name: string): any
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Removes a framework from the registry.
|
|
39
|
+
*/
|
|
40
|
+
removeFramework(name: string): void
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Registers and executes the full loading lifecycle for a framework.
|
|
44
|
+
*/
|
|
45
|
+
useFramework(framework: any, name?: string): any
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Requires a module from disk and registers it as a framework.
|
|
49
|
+
*/
|
|
50
|
+
require(name: string): any
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* The constructed instance of the FrameworkManager.
|
|
55
|
+
*/
|
|
56
|
+
const frameworkManager: FrameworkManager
|
|
57
|
+
export = frameworkManager
|
package/index.js
CHANGED
|
@@ -1,17 +1,25 @@
|
|
|
1
|
-
require(
|
|
2
|
-
require(
|
|
3
|
-
require(
|
|
4
|
-
var fs = require(
|
|
5
|
-
var path = require(
|
|
6
|
-
var crypto = require(
|
|
7
|
-
var $Error = require(
|
|
1
|
+
require("vanilla-javascript")
|
|
2
|
+
require("vapor-js-npm")
|
|
3
|
+
require("none")()
|
|
4
|
+
var fs = require("node:fs")
|
|
5
|
+
var path = require("node:path")
|
|
6
|
+
var crypto = require("node:crypto")
|
|
7
|
+
var $Error = require("es-error-intrinsics/Error")
|
|
8
|
+
var construct = require("construct-new-second")
|
|
9
|
+
var just = require("basic-functions")
|
|
10
|
+
var not = require("es-logical-not-operator")
|
|
11
|
+
var eq = require("eq-strings")
|
|
12
|
+
var toStr = require("@rightpad/convert2string")
|
|
8
13
|
|
|
9
14
|
class FrameworkManager {
|
|
10
15
|
constructor() {
|
|
11
|
-
if (
|
|
12
|
-
throw
|
|
16
|
+
if (not(isLoaded())) {
|
|
17
|
+
just.throw(construct(
|
|
18
|
+
$Error,
|
|
19
|
+
"Framework manager not loaded, please load the framework manager before using it",
|
|
20
|
+
))
|
|
13
21
|
}
|
|
14
|
-
this.frameworks =
|
|
22
|
+
this.frameworks = require("lodash.stubobject")()
|
|
15
23
|
}
|
|
16
24
|
|
|
17
25
|
addFramework(name, framework) {
|
|
@@ -19,15 +27,15 @@ class FrameworkManager {
|
|
|
19
27
|
}
|
|
20
28
|
|
|
21
29
|
preloadFramework(name) {
|
|
22
|
-
return
|
|
30
|
+
return "Preloaded: " + name
|
|
23
31
|
}
|
|
24
|
-
|
|
32
|
+
|
|
25
33
|
loadFramework(name) {
|
|
26
|
-
return
|
|
34
|
+
return "Loaded: " + name
|
|
27
35
|
}
|
|
28
36
|
|
|
29
37
|
postloadFramework(name) {
|
|
30
|
-
return
|
|
38
|
+
return "Postloaded: " + name
|
|
31
39
|
}
|
|
32
40
|
|
|
33
41
|
getFramework(name) {
|
|
@@ -54,8 +62,8 @@ class FrameworkManager {
|
|
|
54
62
|
}
|
|
55
63
|
|
|
56
64
|
function isLoaded() {
|
|
57
|
-
var isLoaded = fs.readFileSync(path.join(__dirname,
|
|
58
|
-
return isLoaded
|
|
65
|
+
var isLoaded = fs.readFileSync(path.join(__dirname, "isLoaded.txt"))
|
|
66
|
+
return eq(toStr(isLoaded), "true")
|
|
59
67
|
}
|
|
60
68
|
|
|
61
|
-
module.exports =
|
|
69
|
+
module.exports = construct(FrameworkManager)
|
package/loader.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
var fs = require(
|
|
2
|
-
var path = require(
|
|
3
|
-
var _true = require(
|
|
1
|
+
var fs = require("node:fs")
|
|
2
|
+
var path = require("node:path")
|
|
3
|
+
var _true = require("true-value")
|
|
4
4
|
|
|
5
5
|
module.exports = {
|
|
6
6
|
load() {
|
|
7
7
|
// Load the framework manager.
|
|
8
|
-
fs.writeFileSync(path.join(__dirname,
|
|
9
|
-
process.on(
|
|
10
|
-
fs.writeFileSync(path.join(__dirname,
|
|
8
|
+
fs.writeFileSync(path.join(__dirname, "isLoaded.txt"), "true")
|
|
9
|
+
process.on("exit", () => {
|
|
10
|
+
fs.writeFileSync(path.join(__dirname, "isLoaded.txt"), "false")
|
|
11
11
|
})
|
|
12
12
|
return _true()
|
|
13
|
-
}
|
|
14
|
-
}
|
|
13
|
+
},
|
|
14
|
+
}
|
package/package.json
CHANGED
|
@@ -1,19 +1,33 @@
|
|
|
1
1
|
{
|
|
2
|
-
"dependencies": {
|
|
3
|
-
"es-errors": "^1.3.0",
|
|
4
|
-
"none": "^1.0.0",
|
|
5
|
-
"true-value": "^2.0.5",
|
|
6
|
-
"vanilla-javascript": "^1.1.1",
|
|
7
|
-
"vapor-js-npm": "^1.4.6"
|
|
8
|
-
},
|
|
9
2
|
"name": "frameworks2",
|
|
10
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
11
4
|
"description": "The Framework Framework",
|
|
12
|
-
"main": "index.js",
|
|
13
|
-
"devDependencies": {},
|
|
14
5
|
"keywords": [
|
|
15
6
|
"framework"
|
|
16
7
|
],
|
|
8
|
+
"homepage": "https://github.com/10xly/frameworks2#readme",
|
|
9
|
+
"bugs": {
|
|
10
|
+
"url": "https://github.com/10xly/frameworks2/issues"
|
|
11
|
+
},
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "git+https://github.com/10xly/frameworks2.git"
|
|
15
|
+
},
|
|
16
|
+
"license": "MIT",
|
|
17
17
|
"author": "tj-commits",
|
|
18
|
-
"
|
|
18
|
+
"type": "commonjs",
|
|
19
|
+
"main": "index.js",
|
|
20
|
+
"scripts": {
|
|
21
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"@rightpad/convert2string": "^1.0.0",
|
|
25
|
+
"basic-functions": "^1.0.6",
|
|
26
|
+
"construct-new-second": "^1.0.0",
|
|
27
|
+
"eq-strings": "^2.0.2",
|
|
28
|
+
"es-error-intrinsics": "^1.0.1",
|
|
29
|
+
"es-logical-not-operator": "^1.0.0",
|
|
30
|
+
"lodash.stubobject": "^4.13.0",
|
|
31
|
+
"true-value": "^3.0.0"
|
|
32
|
+
}
|
|
19
33
|
}
|