on-zero 0.1.22 → 0.1.23
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/dist/cjs/cli.cjs +17 -424
- package/dist/cjs/cli.js +7 -402
- package/dist/cjs/cli.js.map +2 -2
- package/dist/cjs/cli.native.js +15 -519
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/cjs/generate.cjs +370 -0
- package/dist/cjs/generate.js +339 -0
- package/dist/cjs/generate.js.map +6 -0
- package/dist/cjs/generate.native.js +464 -0
- package/dist/cjs/generate.native.js.map +1 -0
- package/dist/cjs/vite-plugin.cjs +37 -121
- package/dist/cjs/vite-plugin.js +41 -100
- package/dist/cjs/vite-plugin.js.map +1 -1
- package/dist/cjs/vite-plugin.native.js +47 -157
- package/dist/cjs/vite-plugin.native.js.map +1 -1
- package/dist/esm/cli.js +8 -388
- package/dist/esm/cli.js.map +2 -2
- package/dist/esm/cli.mjs +17 -402
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/cli.native.js +15 -497
- package/dist/esm/cli.native.js.map +1 -1
- package/dist/esm/generate.js +317 -0
- package/dist/esm/generate.js.map +6 -0
- package/dist/esm/generate.mjs +335 -0
- package/dist/esm/generate.mjs.map +1 -0
- package/dist/esm/generate.native.js +426 -0
- package/dist/esm/generate.native.js.map +1 -0
- package/dist/esm/vite-plugin.js +42 -102
- package/dist/esm/vite-plugin.js.map +1 -1
- package/dist/esm/vite-plugin.mjs +37 -121
- package/dist/esm/vite-plugin.mjs.map +1 -1
- package/dist/esm/vite-plugin.native.js +47 -157
- package/dist/esm/vite-plugin.native.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +0 -29
- package/src/cli.ts +9 -646
- package/src/generate.ts +490 -0
- package/src/vite-plugin.ts +61 -189
- package/types/generate.d.ts +21 -0
- package/types/generate.d.ts.map +1 -0
- package/types/vite-plugin.d.ts +6 -29
- package/types/vite-plugin.d.ts.map +1 -1
package/dist/cjs/vite-plugin.js
CHANGED
|
@@ -19,127 +19,68 @@ __export(vite_plugin_exports, {
|
|
|
19
19
|
onZeroPlugin: () => onZeroPlugin
|
|
20
20
|
});
|
|
21
21
|
module.exports = __toCommonJS(vite_plugin_exports);
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
${modelsObj}
|
|
41
|
-
|
|
42
|
-
if (import.meta.hot) {
|
|
43
|
-
import.meta.hot.accept()
|
|
44
|
-
}
|
|
45
|
-
`;
|
|
46
|
-
}
|
|
47
|
-
function generateTypesFile(modelFiles) {
|
|
48
|
-
const modelNames = modelFiles.map((f) => (0, import_node_path.basename)(f, ".ts")).sort(), getSchemaName = (name) => name === "user" ? "userPublic" : name;
|
|
49
|
-
return `import type { TableInsertRow, TableUpdateRow } from 'on-zero'
|
|
50
|
-
import type * as schema from './tables'
|
|
51
|
-
|
|
52
|
-
${modelNames.map((name) => {
|
|
53
|
-
const pascalName = name.charAt(0).toUpperCase() + name.slice(1), schemaName = getSchemaName(name);
|
|
54
|
-
return `export type ${pascalName} = TableInsertRow<typeof schema.${schemaName}>
|
|
55
|
-
export type ${pascalName}Update = TableUpdateRow<typeof schema.${schemaName}>`;
|
|
56
|
-
}).join(`
|
|
57
|
-
|
|
58
|
-
`)}
|
|
59
|
-
`;
|
|
60
|
-
}
|
|
61
|
-
function generateTablesFile(modelFiles) {
|
|
62
|
-
const modelNames = modelFiles.map((f) => (0, import_node_path.basename)(f, ".ts")).sort(), getExportName = (name) => name === "user" ? "userPublic" : name;
|
|
63
|
-
return `// auto-generated by on-zero vite plugin
|
|
64
|
-
|
|
65
|
-
${modelNames.map((name) => `export { schema as ${getExportName(name)} } from '../models/${name}'`).join(`
|
|
66
|
-
`)}
|
|
67
|
-
`;
|
|
22
|
+
var import_node_path = require("node:path"), import_generate = require("./generate");
|
|
23
|
+
function createOnZeroHmrPlugin(hmrInclude = []) {
|
|
24
|
+
const hmrPaths = ["/models/", "/generated/", "/queries/", ...hmrInclude];
|
|
25
|
+
return {
|
|
26
|
+
name: "on-zero:hmr",
|
|
27
|
+
apply: "serve",
|
|
28
|
+
enforce: "post",
|
|
29
|
+
transform(code, id) {
|
|
30
|
+
if (!(!hmrPaths.some((p) => id.includes(p)) || !/\.tsx?$/.test(id)) && code.includes("import.meta.hot.invalidate"))
|
|
31
|
+
return {
|
|
32
|
+
code: code.replace(
|
|
33
|
+
/if\s*\(invalidateMessage\)\s*import\.meta\.hot\.invalidate\(invalidateMessage\);?/g,
|
|
34
|
+
"/* on-zero: HMR invalidate disabled */"
|
|
35
|
+
),
|
|
36
|
+
map: null
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
};
|
|
68
40
|
}
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
const allModelFiles = (0, import_node_fs.readdirSync)(modelsDir).filter((f) => f.endsWith(".ts")).sort(), filesWithSchema = allModelFiles.filter(
|
|
73
|
-
(f) => (0, import_node_fs.readFileSync)((0, import_node_path.resolve)(modelsDir, f), "utf-8").includes("export const schema = table(")
|
|
74
|
-
), filesChanged = [
|
|
75
|
-
writeFileIfChanged(
|
|
76
|
-
(0, import_node_path.resolve)(generatedDir, "models.ts"),
|
|
77
|
-
generateModelsFile(allModelFiles)
|
|
78
|
-
),
|
|
79
|
-
writeFileIfChanged(
|
|
80
|
-
(0, import_node_path.resolve)(generatedDir, "types.ts"),
|
|
81
|
-
generateTypesFile(filesWithSchema)
|
|
82
|
-
),
|
|
83
|
-
writeFileIfChanged(
|
|
84
|
-
(0, import_node_path.resolve)(generatedDir, "tables.ts"),
|
|
85
|
-
generateTablesFile(filesWithSchema)
|
|
86
|
-
)
|
|
87
|
-
].filter(Boolean).length;
|
|
88
|
-
return filesChanged > 0 && !silent && console.info(`[on-zero] generated ${filesChanged} file(s)`), filesChanged;
|
|
41
|
+
function isWithinDirectory(file, dir) {
|
|
42
|
+
const rel = (0, import_node_path.relative)(dir, file);
|
|
43
|
+
return rel !== "" && !rel.startsWith("..") && !(0, import_node_path.isAbsolute)(rel);
|
|
89
44
|
}
|
|
90
45
|
function onZeroPlugin(options = {}) {
|
|
91
|
-
const
|
|
92
|
-
let modelsDir,
|
|
46
|
+
const dir = options.dir ?? "src/data";
|
|
47
|
+
let dataDir, modelsDir, queriesDir;
|
|
48
|
+
const runGenerate = (silent) => (0, import_generate.generate)({
|
|
49
|
+
dir: dataDir,
|
|
50
|
+
after: options.after,
|
|
51
|
+
silent
|
|
52
|
+
});
|
|
93
53
|
return [
|
|
94
|
-
// generation plugin
|
|
95
54
|
{
|
|
96
|
-
name: "on-zero:
|
|
55
|
+
name: "on-zero:serve",
|
|
97
56
|
apply: "serve",
|
|
98
57
|
configResolved(config) {
|
|
99
|
-
|
|
58
|
+
dataDir = (0, import_node_path.resolve)(config.root, dir), modelsDir = (0, import_node_path.resolve)(dataDir, "models"), queriesDir = (0, import_node_path.resolve)(dataDir, "queries");
|
|
100
59
|
},
|
|
101
60
|
async buildStart() {
|
|
102
|
-
options.disableGenerate || await runGenerate(
|
|
61
|
+
options.disableGenerate || await runGenerate(!1);
|
|
103
62
|
},
|
|
104
63
|
configureServer(server) {
|
|
105
|
-
options.disableGenerate
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
file.includes(modelsDir) && await runGenerate({ modelsDir, generatedDir, silent: !1 });
|
|
111
|
-
}));
|
|
64
|
+
if (options.disableGenerate) return;
|
|
65
|
+
const handler = async (file) => {
|
|
66
|
+
/\.tsx?$/.test(file) && (isWithinDirectory(file, modelsDir) || isWithinDirectory(file, queriesDir)) && await runGenerate(!1);
|
|
67
|
+
};
|
|
68
|
+
server.watcher.on("change", handler), server.watcher.on("add", handler), server.watcher.on("unlink", handler);
|
|
112
69
|
}
|
|
113
70
|
},
|
|
114
|
-
// HMR plugin - removes invalidate calls to prevent cascade
|
|
115
|
-
{
|
|
116
|
-
name: "on-zero:hmr",
|
|
117
|
-
apply: "serve",
|
|
118
|
-
enforce: "post",
|
|
119
|
-
transform(code, id) {
|
|
120
|
-
if (hmrPaths.some((p) => id.includes(p)) && /\.tsx?$/.test(id) && code.includes("import.meta.hot.invalidate"))
|
|
121
|
-
return {
|
|
122
|
-
code: code.replace(
|
|
123
|
-
/if\s*\(invalidateMessage\)\s*import\.meta\.hot\.invalidate\(invalidateMessage\);?/g,
|
|
124
|
-
"/* on-zero: HMR invalidate disabled */"
|
|
125
|
-
),
|
|
126
|
-
map: null
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
},
|
|
130
|
-
// build plugin - generate once before build
|
|
131
71
|
{
|
|
132
72
|
name: "on-zero:build",
|
|
133
73
|
apply: "build",
|
|
134
74
|
configResolved(config) {
|
|
135
|
-
|
|
75
|
+
dataDir = (0, import_node_path.resolve)(config.root, dir);
|
|
136
76
|
},
|
|
137
77
|
async buildStart() {
|
|
138
|
-
options.disableGenerate || await runGenerate(
|
|
78
|
+
options.disableGenerate || await runGenerate(!0);
|
|
139
79
|
}
|
|
140
|
-
}
|
|
80
|
+
},
|
|
81
|
+
createOnZeroHmrPlugin(options.hmrInclude)
|
|
141
82
|
];
|
|
142
83
|
}
|
|
143
|
-
const onZeroHmrPlugin = (options) =>
|
|
84
|
+
const onZeroHmrPlugin = (options) => createOnZeroHmrPlugin(options?.include);
|
|
144
85
|
var vite_plugin_default = onZeroPlugin;
|
|
145
86
|
//# sourceMappingURL=vite-plugin.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/vite-plugin.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA8C,sBAE9C,kBAA+C;AAa/C,SAAS,sBAAsB,aAAuB,CAAC,GAAW;AAChE,QAAM,WAAW,CAAC,YAAY,eAAe,aAAa,GAAG,UAAU;AAEvE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SAAS;AAAA,IAET,UAAU,MAAM,IAAI;AAClB,UAAI,GAAC,SAAS,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,EAAE,MAC1D,KAAK,SAAS,4BAA4B;AAE/C,eAAO;AAAA,UACL,MAAM,KAAK;AAAA,YACT;AAAA,YACA;AAAA,UACF;AAAA,UACA,KAAK;AAAA,QACP;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,kBAAkB,MAAc,KAAsB;AAC7D,QAAM,UAAM,2BAAS,KAAK,IAAI;AAC9B,SAAO,QAAQ,MAAM,CAAC,IAAI,WAAW,IAAI,KAAK,KAAC,6BAAW,GAAG;AAC/D;AAEO,SAAS,aAAa,UAA+B,CAAC,GAAa;AACxE,QAAM,MAAM,QAAQ,OAAO;AAE3B,MAAI,SACA,WACA;AAEJ,QAAM,cAAc,CAAC,eACnB,0BAAS;AAAA,IACP,KAAK;AAAA,IACL,OAAO,QAAQ;AAAA,IACf;AAAA,EACF,CAAC;AAEH,SAAO;AAAA,IACL;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MAEP,eAAe,QAAQ;AACrB,sBAAU,0BAAQ,OAAO,MAAM,GAAG,GAClC,gBAAY,0BAAQ,SAAS,QAAQ,GACrC,iBAAa,0BAAQ,SAAS,SAAS;AAAA,MACzC;AAAA,MAEA,MAAM,aAAa;AACjB,QAAK,QAAQ,mBAAiB,MAAM,YAAY,EAAK;AAAA,MACvD;AAAA,MAEA,gBAAgB,QAAQ;AACtB,YAAI,QAAQ,gBAAiB;AAE7B,cAAM,UAAU,OAAO,SAAiB;AACtC,UAAK,UAAU,KAAK,IAAI,MACpB,kBAAkB,MAAM,SAAS,KAAK,kBAAkB,MAAM,UAAU,MAC1E,MAAM,YAAY,EAAK;AAAA,QAE3B;AAEA,eAAO,QAAQ,GAAG,UAAU,OAAO,GACnC,OAAO,QAAQ,GAAG,OAAO,OAAO,GAChC,OAAO,QAAQ,GAAG,UAAU,OAAO;AAAA,MACrC;AAAA,IACF;AAAA,IAEA;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MAEP,eAAe,QAAQ;AACrB,sBAAU,0BAAQ,OAAO,MAAM,GAAG;AAAA,MACpC;AAAA,MAEA,MAAM,aAAa;AACjB,QAAK,QAAQ,mBAAiB,MAAM,YAAY,EAAI;AAAA,MACtD;AAAA,IACF;AAAA,IAEA,sBAAsB,QAAQ,UAAU;AAAA,EAC1C;AACF;AAEO,MAAM,kBAAkB,CAAC,YACvB,sBAAsB,SAAS,OAAO;AAG/C,IAAO,sBAAQ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -27,183 +27,73 @@ __export(vite_plugin_exports, {
|
|
|
27
27
|
onZeroPlugin: () => onZeroPlugin
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(vite_plugin_exports);
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
imports = modelNames.map(function (name) {
|
|
49
|
-
return `import * as ${getImportName(name)} from '../models/${name}'`;
|
|
50
|
-
}).join(`
|
|
51
|
-
`),
|
|
52
|
-
sortedByImportName = [...modelNames].sort(function (a, b) {
|
|
53
|
-
return getImportName(a).localeCompare(getImportName(b));
|
|
54
|
-
}),
|
|
55
|
-
modelsObj = `export const models = {
|
|
56
|
-
${sortedByImportName.map(function (name) {
|
|
57
|
-
return ` ${getImportName(name)},`;
|
|
58
|
-
}).join(`
|
|
59
|
-
`)}
|
|
60
|
-
}`,
|
|
61
|
-
hmrBoundary = `
|
|
62
|
-
if (import.meta.hot) {
|
|
63
|
-
import.meta.hot.accept()
|
|
64
|
-
}
|
|
65
|
-
`;
|
|
66
|
-
return `// auto-generated by on-zero vite plugin
|
|
67
|
-
${imports}
|
|
68
|
-
|
|
69
|
-
${modelsObj}
|
|
70
|
-
${hmrBoundary}`;
|
|
71
|
-
}
|
|
72
|
-
function generateTypesFile(modelFiles) {
|
|
73
|
-
var modelNames = modelFiles.map(function (f) {
|
|
74
|
-
return (0, import_path.basename)(f, ".ts");
|
|
75
|
-
}).sort(),
|
|
76
|
-
getSchemaName = function (name) {
|
|
77
|
-
return name === "user" ? "userPublic" : name;
|
|
78
|
-
},
|
|
79
|
-
typeExports = modelNames.map(function (name) {
|
|
80
|
-
var pascalName = name.charAt(0).toUpperCase() + name.slice(1),
|
|
81
|
-
schemaName = getSchemaName(name);
|
|
82
|
-
return `export type ${pascalName} = TableInsertRow<typeof schema.${schemaName}>
|
|
83
|
-
export type ${pascalName}Update = TableUpdateRow<typeof schema.${schemaName}>`;
|
|
84
|
-
}).join(`
|
|
85
|
-
|
|
86
|
-
`);
|
|
87
|
-
return `import type { TableInsertRow, TableUpdateRow } from 'on-zero'
|
|
88
|
-
import type * as schema from './tables'
|
|
89
|
-
|
|
90
|
-
${typeExports}
|
|
91
|
-
`;
|
|
92
|
-
}
|
|
93
|
-
function generateTablesFile(modelFiles) {
|
|
94
|
-
var modelNames = modelFiles.map(function (f) {
|
|
95
|
-
return (0, import_path.basename)(f, ".ts");
|
|
96
|
-
}).sort(),
|
|
97
|
-
getExportName = function (name) {
|
|
98
|
-
return name === "user" ? "userPublic" : name;
|
|
99
|
-
},
|
|
100
|
-
exports = modelNames.map(function (name) {
|
|
101
|
-
return `export { schema as ${getExportName(name)} } from '../models/${name}'`;
|
|
102
|
-
}).join(`
|
|
103
|
-
`);
|
|
104
|
-
return `// auto-generated by on-zero vite plugin
|
|
105
|
-
|
|
106
|
-
${exports}
|
|
107
|
-
`;
|
|
30
|
+
var import_path = require("path"),
|
|
31
|
+
import_generate = require("./generate.native.js");
|
|
32
|
+
function createOnZeroHmrPlugin() {
|
|
33
|
+
var hmrInclude = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [],
|
|
34
|
+
hmrPaths = ["/models/", "/generated/", "/queries/", ...hmrInclude];
|
|
35
|
+
return {
|
|
36
|
+
name: "on-zero:hmr",
|
|
37
|
+
apply: "serve",
|
|
38
|
+
enforce: "post",
|
|
39
|
+
transform(code, id) {
|
|
40
|
+
if (!(!hmrPaths.some(function (p) {
|
|
41
|
+
return id.includes(p);
|
|
42
|
+
}) || !/\.tsx?$/.test(id)) && code.includes("import.meta.hot.invalidate")) return {
|
|
43
|
+
code: code.replace(/if\s*\(invalidateMessage\)\s*import\.meta\.hot\.invalidate\(invalidateMessage\);?/g, "/* on-zero: HMR invalidate disabled */"),
|
|
44
|
+
map: null
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
};
|
|
108
48
|
}
|
|
109
|
-
|
|
110
|
-
var
|
|
111
|
-
|
|
112
|
-
generatedDir,
|
|
113
|
-
silent
|
|
114
|
-
} = options;
|
|
115
|
-
(0, import_fs.existsSync)(generatedDir) || (0, import_fs.mkdirSync)(generatedDir, {
|
|
116
|
-
recursive: !0
|
|
117
|
-
});
|
|
118
|
-
var allModelFiles = (0, import_fs.readdirSync)(modelsDir).filter(function (f) {
|
|
119
|
-
return f.endsWith(".ts");
|
|
120
|
-
}).sort(),
|
|
121
|
-
filesWithSchema = allModelFiles.filter(function (f) {
|
|
122
|
-
return (0, import_fs.readFileSync)((0, import_path.resolve)(modelsDir, f), "utf-8").includes("export const schema = table(");
|
|
123
|
-
}),
|
|
124
|
-
writeResults = [writeFileIfChanged((0, import_path.resolve)(generatedDir, "models.ts"), generateModelsFile(allModelFiles)), writeFileIfChanged((0, import_path.resolve)(generatedDir, "types.ts"), generateTypesFile(filesWithSchema)), writeFileIfChanged((0, import_path.resolve)(generatedDir, "tables.ts"), generateTablesFile(filesWithSchema))],
|
|
125
|
-
filesChanged = writeResults.filter(Boolean).length;
|
|
126
|
-
return filesChanged > 0 && !silent && console.info(`[on-zero] generated ${filesChanged} file(s)`), filesChanged;
|
|
49
|
+
function isWithinDirectory(file, dir) {
|
|
50
|
+
var rel = (0, import_path.relative)(dir, file);
|
|
51
|
+
return rel !== "" && !rel.startsWith("..") && !(0, import_path.isAbsolute)(rel);
|
|
127
52
|
}
|
|
128
53
|
function onZeroPlugin() {
|
|
129
54
|
var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},
|
|
130
|
-
|
|
131
|
-
|
|
55
|
+
_options_dir,
|
|
56
|
+
dir = (_options_dir = options.dir) !== null && _options_dir !== void 0 ? _options_dir : "src/data",
|
|
57
|
+
dataDir,
|
|
132
58
|
modelsDir,
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
59
|
+
queriesDir,
|
|
60
|
+
runGenerate = function (silent) {
|
|
61
|
+
return (0, import_generate.generate)({
|
|
62
|
+
dir: dataDir,
|
|
63
|
+
after: options.after,
|
|
64
|
+
silent
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
return [{
|
|
68
|
+
name: "on-zero:serve",
|
|
138
69
|
apply: "serve",
|
|
139
70
|
configResolved(config) {
|
|
140
|
-
|
|
71
|
+
dataDir = (0, import_path.resolve)(config.root, dir), modelsDir = (0, import_path.resolve)(dataDir, "models"), queriesDir = (0, import_path.resolve)(dataDir, "queries");
|
|
141
72
|
},
|
|
142
73
|
async buildStart() {
|
|
143
|
-
options.disableGenerate || (await runGenerate(
|
|
144
|
-
modelsDir,
|
|
145
|
-
generatedDir,
|
|
146
|
-
silent: !1
|
|
147
|
-
}));
|
|
74
|
+
options.disableGenerate || (await runGenerate(!1));
|
|
148
75
|
},
|
|
149
76
|
configureServer(server) {
|
|
150
|
-
options.disableGenerate
|
|
151
|
-
|
|
152
|
-
modelsDir,
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
}), server.watcher.on("add", async function (file) {
|
|
157
|
-
file.includes(modelsDir) && (await runGenerate({
|
|
158
|
-
modelsDir,
|
|
159
|
-
generatedDir,
|
|
160
|
-
silent: !1
|
|
161
|
-
}));
|
|
162
|
-
}), server.watcher.on("unlink", async function (file) {
|
|
163
|
-
file.includes(modelsDir) && (await runGenerate({
|
|
164
|
-
modelsDir,
|
|
165
|
-
generatedDir,
|
|
166
|
-
silent: !1
|
|
167
|
-
}));
|
|
168
|
-
}));
|
|
77
|
+
if (!options.disableGenerate) {
|
|
78
|
+
var handler = async function (file) {
|
|
79
|
+
/\.tsx?$/.test(file) && (isWithinDirectory(file, modelsDir) || isWithinDirectory(file, queriesDir)) && (await runGenerate(!1));
|
|
80
|
+
};
|
|
81
|
+
server.watcher.on("change", handler), server.watcher.on("add", handler), server.watcher.on("unlink", handler);
|
|
82
|
+
}
|
|
169
83
|
}
|
|
170
|
-
},
|
|
171
|
-
// HMR plugin - removes invalidate calls to prevent cascade
|
|
172
|
-
{
|
|
173
|
-
name: "on-zero:hmr",
|
|
174
|
-
apply: "serve",
|
|
175
|
-
enforce: "post",
|
|
176
|
-
transform(code, id) {
|
|
177
|
-
var shouldTransform = hmrPaths.some(function (p) {
|
|
178
|
-
return id.includes(p);
|
|
179
|
-
}) && /\.tsx?$/.test(id);
|
|
180
|
-
if (shouldTransform && code.includes("import.meta.hot.invalidate")) return {
|
|
181
|
-
code: code.replace(/if\s*\(invalidateMessage\)\s*import\.meta\.hot\.invalidate\(invalidateMessage\);?/g, "/* on-zero: HMR invalidate disabled */"),
|
|
182
|
-
map: null
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
},
|
|
186
|
-
// build plugin - generate once before build
|
|
187
|
-
{
|
|
84
|
+
}, {
|
|
188
85
|
name: "on-zero:build",
|
|
189
86
|
apply: "build",
|
|
190
87
|
configResolved(config) {
|
|
191
|
-
|
|
88
|
+
dataDir = (0, import_path.resolve)(config.root, dir);
|
|
192
89
|
},
|
|
193
90
|
async buildStart() {
|
|
194
|
-
options.disableGenerate || (await runGenerate(
|
|
195
|
-
modelsDir,
|
|
196
|
-
generatedDir,
|
|
197
|
-
silent: !0
|
|
198
|
-
}));
|
|
91
|
+
options.disableGenerate || (await runGenerate(!0));
|
|
199
92
|
}
|
|
200
|
-
}];
|
|
93
|
+
}, createOnZeroHmrPlugin(options.hmrInclude)];
|
|
201
94
|
}
|
|
202
95
|
var onZeroHmrPlugin = function (options) {
|
|
203
|
-
return
|
|
204
|
-
hmrInclude: options?.include,
|
|
205
|
-
disableGenerate: !0
|
|
206
|
-
})[1];
|
|
96
|
+
return createOnZeroHmrPlugin(options?.include);
|
|
207
97
|
},
|
|
208
98
|
vite_plugin_default = onZeroPlugin;
|
|
209
99
|
//# sourceMappingURL=vite-plugin.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","vite_plugin_exports","__export","default","vite_plugin_default","onZeroHmrPlugin","onZeroPlugin","module","exports","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","vite_plugin_exports","__export","default","vite_plugin_default","onZeroHmrPlugin","onZeroPlugin","module","exports","import_path","require","import_generate","createOnZeroHmrPlugin","hmrInclude","arguments","length","hmrPaths","name","apply","enforce","transform","code","id","some","p","includes","test","replace","map","isWithinDirectory","file","dir","rel","relative","startsWith","isAbsolute","options","_options_dir","dataDir","modelsDir","queriesDir","runGenerate","silent","generate","after","configResolved","config","resolve","root","buildStart","disableGenerate","configureServer","server","handler","watcher","on"],"sources":["../../src/vite-plugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|