pwi-plata-type 0.4.220 → 0.4.221

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.
@@ -29,44 +29,8 @@ const main = async () => {
29
29
  g.Plata = new PlataGlobalRuntime();
30
30
  if (await shouldCompile())
31
31
  await compile();
32
- module.constructor.prototype.require = function (pathRequire) {
33
- const self = this;
34
- if (typeof pathRequire !== 'string') {
35
- throw new Error('path must be a string');
36
- }
37
- if (!pathRequire) {
38
- throw new Error('missing path');
39
- }
40
- try {
41
- switch (pathRequire.slice(0, 2)) {
42
- case '@@':
43
- pathRequire = pathRequire.replace('@@', `${Plata.ProjectDir}/__BUILD__`);
44
- break;
45
- case '++':
46
- pathRequire = pathRequire.replace('++', `${Plata.PlataDir}/__BUILD__`);
47
- break;
48
- }
49
- pathRequire = pathRequire.replace(/\\/g, '/');
50
- switch (node_path_1.default.extname(pathRequire)) {
51
- case '.env':
52
- return Plata.FastPromise(() => Plata.ReadEnvFileToPromise(pathRequire));
53
- break;
54
- case '.*':
55
- return Plata.FastPromise(() => Plata.RequireFolder(node_path_1.default.dirname(pathRequire)));
56
- break;
57
- default:
58
- return self.constructor._load(pathRequire, self);
59
- break;
60
- }
61
- }
62
- catch (err) {
63
- if (err.code === 'MODULE_NOT_FOUND') {
64
- throw err;
65
- }
66
- pathRequire = node_path_1.default.resolve(__dirname, pathRequire);
67
- console.log('Error in file: ' + pathRequire);
68
- }
69
- };
32
+ const { PlataRequire } = require('../libs/require');
33
+ PlataRequire.setup();
70
34
  const envFile = await env_1.PlataEnvLoader.load();
71
35
  if (envFile.errorID !== undefined) {
72
36
  console.log(envFile);
@@ -1 +1 @@
1
- {"version":3,"file":"plata-runtime.js","sourceRoot":"","sources":["../../src/bin/plata-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plata-runtime.js","sourceRoot":"","sources":["../../src/bin/plata-runtime.ts"],"names":[],"mappings":";;;;;;AACA,0DAA4B;AAC5B,qCAA4C;AAC5C,yCAA0C;AAC1C,mDAAmD;AAEnD,KAAK,UAAU,OAAO;IAClB,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI;QAAE,OAAM;IAE5C,MAAM,kBAAU,CAAC,OAAO,CAAC;QACrB,QAAQ,EAAE,KAAK,CAAC,UAAU;QAC1B,QAAQ,EAAE,IAAI;QACd,gBAAgB,EAAE,KAAK;QACvB,QAAQ,EAAE,KAAK;KAClB,CAAC,CAAA;AACN,CAAC;AAED,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IAC7B,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,sBAAsB,CAAC,KAAK,SAAS;QACvH,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CACpF;IAED,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACpB,MAAM,CAAC,GAAG,MAAa,CAAA;IAEvB,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAEzD,CAAC,CAAC,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAA;IAElC,IAAI,MAAM,aAAa,EAAE;QACrB,MAAM,OAAO,EAAE,CAClB;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAEnD,YAAY,CAAC,KAAK,EAAE,CAAA;IAEpB,MAAM,OAAO,GAAG,MAAM,oBAAc,CAAC,IAAI,EAAE,CAAA;IAE3C,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,2BAAc,CAAC,aAAa,EAAE,CAAA;IAGpC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAEvD,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAE1B,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,GAAG,GAAkC,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC,CAAA;IAEnE,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;AACpB,CAAC,CAAA;AAED,IAAI,EAAE,CAAA"}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PlataRequire = void 0;
7
+ const node_path_1 = __importDefault(require("node:path"));
8
+ class PlataRequire {
9
+ static isPlata(value) {
10
+ return value.startsWith('plata');
11
+ }
12
+ static resolver(pathRequire, context, next) {
13
+ switch (pathRequire.slice(0, 2)) {
14
+ case '@@':
15
+ pathRequire = pathRequire.replace('@@', `${Plata.ProjectDir}/__BUILD__`);
16
+ break;
17
+ case '++':
18
+ pathRequire = pathRequire.replace('++', `${Plata.PlataDir}/__BUILD__`);
19
+ break;
20
+ }
21
+ pathRequire = pathRequire.replace(/\\/g, '/');
22
+ switch (node_path_1.default.extname(pathRequire)) {
23
+ case '.env': return {
24
+ url: pathRequire,
25
+ format: 'plata-env',
26
+ importAttributes: undefined,
27
+ shortCircuit: true,
28
+ };
29
+ case '.*': return {
30
+ url: pathRequire,
31
+ format: 'plata-dir',
32
+ importAttributes: undefined,
33
+ shortCircuit: true
34
+ };
35
+ }
36
+ return next(pathRequire, context);
37
+ }
38
+ static loader(pathRequire, context, next) {
39
+ const format = context.format ?? '';
40
+ if (!PlataRequire.isPlata(format)) {
41
+ return next(pathRequire, context);
42
+ }
43
+ switch (format) {
44
+ case 'plata-env': return {
45
+ format: 'commonjs',
46
+ shortCircuit: true,
47
+ source: `module.exports=Plata.ReadEnvFileToPromise("${pathRequire}")`,
48
+ };
49
+ case 'plata-dir': return {
50
+ format: 'commonjs',
51
+ shortCircuit: true,
52
+ source: `module.exports=Plata.RequireFolder("${node_path_1.default.dirname(pathRequire)}")`
53
+ };
54
+ default: {
55
+ (() => format);
56
+ return next(pathRequire, context);
57
+ }
58
+ }
59
+ }
60
+ static getMajorVersion() {
61
+ return +(process.version.split('.')[0]?.replace('v', '') || 0);
62
+ }
63
+ static setup() {
64
+ if (PlataRequire.getMajorVersion() < 22) {
65
+ module.constructor.prototype.require = function (pathRequire) {
66
+ const self = this;
67
+ if (typeof pathRequire !== 'string') {
68
+ throw new Error('path must be a string');
69
+ }
70
+ if (!pathRequire) {
71
+ throw new Error('missing path');
72
+ }
73
+ try {
74
+ switch (pathRequire.slice(0, 2)) {
75
+ case '@@':
76
+ pathRequire = pathRequire.replace('@@', `${Plata.ProjectDir}/__BUILD__`);
77
+ break;
78
+ case '++':
79
+ pathRequire = pathRequire.replace('++', `${Plata.PlataDir}/__BUILD__`);
80
+ break;
81
+ }
82
+ pathRequire = pathRequire.replace(/\\/g, '/');
83
+ switch (node_path_1.default.extname(pathRequire)) {
84
+ case '.env':
85
+ return Plata.FastPromise(() => Plata.ReadEnvFileToPromise(pathRequire));
86
+ break;
87
+ case '.*':
88
+ return Plata.FastPromise(() => Plata.RequireFolder(node_path_1.default.dirname(pathRequire)));
89
+ break;
90
+ default:
91
+ return self.constructor._load(pathRequire, self);
92
+ break;
93
+ }
94
+ }
95
+ catch (err) {
96
+ if (err.code === 'MODULE_NOT_FOUND') {
97
+ throw err;
98
+ }
99
+ pathRequire = node_path_1.default.resolve(__dirname, pathRequire);
100
+ console.log('Error in file: ' + pathRequire);
101
+ }
102
+ };
103
+ return;
104
+ }
105
+ const { registerHooks } = require('node:module');
106
+ registerHooks({
107
+ resolve: PlataRequire.resolver,
108
+ load: PlataRequire.loader,
109
+ });
110
+ }
111
+ }
112
+ exports.PlataRequire = PlataRequire;
113
+ //# sourceMappingURL=require.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"require.js","sourceRoot":"","sources":["../../src/libs/require.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pwi-plata-type",
3
- "version": "0.4.220",
3
+ "version": "0.4.221",
4
4
  "main": "__BUILD__/index",
5
5
  "types": "src/@types/exported.d.ts",
6
6
  "bin": {
@@ -34,53 +34,9 @@ const main = async () => {
34
34
  await compile()
35
35
  ;
36
36
 
37
- module.constructor.prototype.require = function (pathRequire) {
38
- const self = this;
39
- if (typeof pathRequire !== 'string') {
40
- throw new Error('path must be a string')
41
- }
42
-
43
- if (!pathRequire) {
44
- throw new Error('missing path')
45
- }
46
-
47
- try {
48
- switch (pathRequire.slice(0,2)) {
49
- case '@@':
50
- pathRequire = pathRequire.replace('@@', `${Plata.ProjectDir}/__BUILD__`)
51
- break
52
- case '++':
53
- pathRequire = pathRequire.replace('++', `${Plata.PlataDir}/__BUILD__`)
54
- break
55
- }
56
-
57
- pathRequire = pathRequire.replace(/\\/g, '/')
58
-
59
- switch (path.extname(pathRequire)) {
60
- case '.env':
61
- return Plata.FastPromise(() => Plata.ReadEnvFileToPromise(pathRequire))
62
- break
63
- case '.*':
64
- return Plata.FastPromise(() => Plata.RequireFolder(path.dirname(pathRequire)))
65
- break
66
- default:
67
- return self.constructor._load(pathRequire, self)
68
- break
69
- }
70
-
71
-
72
- } catch (err) {
73
- // if module not found, we have nothing to do, simply throw it back.
74
- if (err.code === 'MODULE_NOT_FOUND') {
75
- throw err;
76
- }
77
- // resolve the path to get absolute path
78
- pathRequire = path.resolve(__dirname, pathRequire)
79
-
80
- // Write to log or whatever
81
- console.log('Error in file: ' + pathRequire);
82
- }
83
- }
37
+ const { PlataRequire } = require('../libs/require')
38
+
39
+ PlataRequire.setup()
84
40
 
85
41
  const envFile = await PlataEnvLoader.load()
86
42
 
@@ -0,0 +1,139 @@
1
+ import path from 'node:path'
2
+ import type { LoadFnOutput, LoadHookContext, ResolveFnOutput, ResolveHookContext } from "node:module"
3
+
4
+ export class PlataRequire {
5
+ public static isPlata(value: string): value is PlataFormts {
6
+ return value.startsWith('plata')
7
+ }
8
+
9
+ public static resolver(pathRequire: string, context: ResolveHookContext, next: (specifier: string, context?: Partial<ResolveHookContext>) => ResolveFnOutput): ResolveFnOutput {
10
+ // Converte @@ e ++ em seus valores corretos
11
+ switch (pathRequire.slice(0, 2)) {
12
+ case '@@':
13
+ pathRequire = pathRequire.replace('@@', `${Plata.ProjectDir}/__BUILD__`)
14
+ break
15
+ case '++':
16
+ pathRequire = pathRequire.replace('++', `${Plata.PlataDir}/__BUILD__`)
17
+ break
18
+ }
19
+
20
+ pathRequire = pathRequire.replace(/\\/g, '/')
21
+
22
+ // Verifica se é para usar o loader custom
23
+ switch (path.extname(pathRequire)) {
24
+ case '.env': return {
25
+ url: pathRequire,
26
+ format: 'plata-env',
27
+ importAttributes: undefined,
28
+ shortCircuit: true,
29
+ }
30
+
31
+ case '.*': return {
32
+ url: pathRequire,
33
+ format: 'plata-dir',
34
+ importAttributes: undefined,
35
+ shortCircuit: true
36
+ }
37
+ }
38
+
39
+ return next(pathRequire, context)
40
+ }
41
+
42
+ public static loader(pathRequire: string, context: LoadHookContext, next: (url: string, context?: Partial<LoadHookContext>) => LoadFnOutput): LoadFnOutput {
43
+ const format = context.format ?? ''
44
+ if (!PlataRequire.isPlata(format)) {
45
+ return next(pathRequire, context)
46
+ }
47
+
48
+ switch (format) {
49
+ case 'plata-env': return {
50
+ format: 'commonjs',
51
+ shortCircuit: true,
52
+ source: `module.exports=Plata.ReadEnvFileToPromise("${pathRequire}")`,
53
+ }
54
+
55
+ case 'plata-dir': return {
56
+ format: 'commonjs',
57
+ shortCircuit: true,
58
+ source: `module.exports=Plata.RequireFolder("${path.dirname(pathRequire)}")`
59
+ }
60
+
61
+ default: {
62
+ ((): never => format)
63
+ return next(pathRequire, context)
64
+ }
65
+ }
66
+
67
+ }
68
+
69
+ private static getMajorVersion() {
70
+ return +(process.version.split('.')[0]?.replace('v', '') || 0)
71
+ }
72
+
73
+ public static setup() {
74
+ // Fallback para antigo
75
+ if (PlataRequire.getMajorVersion() < 22) {
76
+ module.constructor.prototype.require = function (pathRequire) {
77
+ const self = this
78
+ if (typeof pathRequire !== 'string') {
79
+ throw new Error('path must be a string')
80
+ }
81
+
82
+ if (!pathRequire) {
83
+ throw new Error('missing path')
84
+ }
85
+
86
+ try {
87
+ switch (pathRequire.slice(0, 2)) {
88
+ case '@@':
89
+ pathRequire = pathRequire.replace('@@', `${Plata.ProjectDir}/__BUILD__`)
90
+ break
91
+ case '++':
92
+ pathRequire = pathRequire.replace('++', `${Plata.PlataDir}/__BUILD__`)
93
+ break
94
+ }
95
+
96
+ pathRequire = pathRequire.replace(/\\/g, '/')
97
+
98
+ switch (path.extname(pathRequire)) {
99
+ case '.env':
100
+ return Plata.FastPromise(() => Plata.ReadEnvFileToPromise(pathRequire))
101
+ break
102
+ case '.*':
103
+ return Plata.FastPromise(() => Plata.RequireFolder(path.dirname(pathRequire)))
104
+ break
105
+ default:
106
+ return self.constructor._load(pathRequire, self)
107
+ break
108
+ }
109
+
110
+
111
+ } catch (err) {
112
+ // if module not found, we have nothing to do, simply throw it back.
113
+ if (err.code === 'MODULE_NOT_FOUND') {
114
+ throw err
115
+ }
116
+ // resolve the path to get absolute path
117
+ pathRequire = path.resolve(__dirname, pathRequire)
118
+
119
+ // Write to log or whatever
120
+ console.log('Error in file: ' + pathRequire)
121
+ }
122
+ }
123
+
124
+ return
125
+ }
126
+
127
+ const { registerHooks } = require('node:module')
128
+
129
+ registerHooks({
130
+ resolve: PlataRequire.resolver,
131
+ load: PlataRequire.loader,
132
+ })
133
+ }
134
+ }
135
+
136
+ type PlataFormts =
137
+ | 'plata-env'
138
+ | 'plata-dir'
139
+