frameworks2 0.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 ADDED
@@ -0,0 +1,44 @@
1
+ # Frameworks2.js. The framework framework.
2
+ Introducting Frameworks2.js. A JavaScript framework to manage and make your frameworks faster. It's Frameworks 2.0!
3
+
4
+ ## Why?
5
+ Frameworks are usually slow and not 10x. This framework will make your frameworks faster because it is 10x!
6
+
7
+ ## Usage
8
+ 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
+
10
+ ```javascript
11
+ require('frameworks2/loader').load()
12
+ ```
13
+
14
+ Now, to use the Framework Manager, you need to import it like this:
15
+
16
+ ```javascript
17
+ require('frameworks2/loader').load()
18
+ const fm = require('frameworks2')
19
+ ```
20
+
21
+ Here is an example of using a library (for this example, `lodash`) with Frameworks2.js:
22
+
23
+ ```javascript
24
+ require('frameworks2/loader').load()
25
+ const fm = require('frameworks2')
26
+ fm.addFramework(require('lodash'))
27
+ fm.preloadFramework('lodash')
28
+ fm.loadFramework('lodash')
29
+ fm.postloadFramework('lodash')
30
+ const _ = fm.getFramework('lodash')
31
+ ```
32
+ 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:
33
+ ```javascript
34
+ require('frameworks2/loader').load()
35
+ const fm = require('frameworks2')
36
+ const _ = fm.useFramework(require('lodash'), 'lodash')
37
+ ```
38
+ For an even simpler usage, you can use the `fm.require` method, which will automatically require the name:
39
+
40
+ ```javascript
41
+ require('frameworks2/loader').load()
42
+ const fm = require('frameworks2')
43
+ const _ = fm.require('lodash')
44
+ ```
package/index.js ADDED
@@ -0,0 +1,61 @@
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-errors')
8
+
9
+ class FrameworkManager {
10
+ constructor() {
11
+ if (!isLoaded()) {
12
+ throw new $Error('Framework manager not loaded. Please load the framework manager before using it.')
13
+ }
14
+ this.frameworks = {}
15
+ }
16
+
17
+ addFramework(name, framework) {
18
+ this.frameworks[name] = framework
19
+ }
20
+
21
+ preloadFramework(name) {
22
+ return 'Preloaded: ' + name
23
+ }
24
+
25
+ loadFramework(name) {
26
+ return 'Loaded: ' + name
27
+ }
28
+
29
+ postloadFramework(Name) {
30
+ return 'Postloaded: ' + name
31
+ }
32
+
33
+ getFramework(name) {
34
+ return this.frameworks[name]
35
+ }
36
+
37
+ removeFramework(name) {
38
+ delete this.frameworks[name]
39
+ }
40
+
41
+ useFramework(framework, name = crypto.randomUUID()) {
42
+ this.addFramework(name, framework)
43
+ this.preloadFramework(name)
44
+ this.loadFramework(name)
45
+ this.postloadFramework(name)
46
+ var result = this.getFramework(name)
47
+ return result
48
+ }
49
+
50
+ require(name) {
51
+ const framework = require(name)
52
+ return this.useFramework(framework, name)
53
+ }
54
+ }
55
+
56
+ function isLoaded() {
57
+ var isLoaded = fs.readFileSync(path.join(__dirname, 'isLoaded.txt'))
58
+ return isLoaded.toString() === 'true'
59
+ }
60
+
61
+ module.exports = new FrameworkManager()
package/isLoaded.txt ADDED
@@ -0,0 +1 @@
1
+ false
package/loader.js ADDED
@@ -0,0 +1,14 @@
1
+ var fs = require('node:fs')
2
+ var path = require('node:path')
3
+ var _true = require('true')
4
+
5
+ module.exports = {
6
+ load() {
7
+ // Load the framework manager.
8
+ fs.writeFileSync(path.join(__dirname, 'isLoaded.txt'), 'true')
9
+ process.on('exit', () => {
10
+ fs.writeFileSync(path.join(__dirname, 'isLoaded.txt'), 'false')
11
+ })
12
+ return _true()
13
+ }
14
+ }
package/package.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "dependencies": {
3
+ "es-errors": "^1.3.0",
4
+ "none": "^1.0.0",
5
+ "true": "^0.0.4",
6
+ "vanilla-javascript": "^1.1.1",
7
+ "vapor-js-npm": "^1.4.6"
8
+ },
9
+ "name": "frameworks2",
10
+ "version": "0.0.1",
11
+ "description": "The Framework Framework",
12
+ "main": "index.js",
13
+ "devDependencies": {},
14
+ "scripts": {
15
+ "test": "echo \"Error: no test specified\" && exit 1"
16
+ },
17
+ "keywords": [
18
+ "framework"
19
+ ],
20
+ "author": "tj-commits",
21
+ "license": "MIT"
22
+ }