frameworks2 0.0.1 → 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 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('frameworks2/loader').load()
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('frameworks2/loader').load()
18
- const fm = require('frameworks2')
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('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')
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
- 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:
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('frameworks2/loader').load()
35
- const fm = require('frameworks2')
36
- const _ = fm.useFramework(require('lodash'), 'lodash')
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('frameworks2/loader').load()
42
- const fm = require('frameworks2')
43
- const _ = fm.require('lodash')
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('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')
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 (!isLoaded()) {
12
- throw new $Error('Framework manager not loaded. Please load the framework manager before using it.')
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 'Preloaded: ' + name
30
+ return "Preloaded: " + name
23
31
  }
24
-
32
+
25
33
  loadFramework(name) {
26
- return 'Loaded: ' + name
34
+ return "Loaded: " + name
27
35
  }
28
36
 
29
- postloadFramework(Name) {
30
- return 'Postloaded: ' + name
37
+ postloadFramework(name) {
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, 'isLoaded.txt'))
58
- return isLoaded.toString() === 'true'
65
+ var isLoaded = fs.readFileSync(path.join(__dirname, "isLoaded.txt"))
66
+ return eq(toStr(isLoaded), "true")
59
67
  }
60
68
 
61
- module.exports = new FrameworkManager()
69
+ module.exports = construct(FrameworkManager)
package/loader.js CHANGED
@@ -1,14 +1,14 @@
1
- var fs = require('node:fs')
2
- var path = require('node:path')
3
- var _true = require('true')
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, 'isLoaded.txt'), 'true')
9
- process.on('exit', () => {
10
- fs.writeFileSync(path.join(__dirname, 'isLoaded.txt'), 'false')
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,22 +1,33 @@
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
- }
1
+ {
2
+ "name": "frameworks2",
3
+ "version": "1.0.1",
4
+ "description": "The Framework Framework",
5
+ "keywords": [
6
+ "framework"
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
+ "author": "tj-commits",
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
+ }
33
+ }