pixui-panamera-configs 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.
@@ -0,0 +1,24 @@
1
+ import { Config } from "eslint/config";
2
+
3
+ //#region src/eslint.d.ts
4
+ /** @internal */
5
+ interface PanameraEslintOptions {
6
+ /**
7
+ * 项目根目录,默认 process.cwd()
8
+ * @internal
9
+ */
10
+ projectRoot?: string;
11
+ }
12
+ /**
13
+ * 投放项目 ESLint 配置
14
+ */
15
+ type PanameraEslintConfig = Config[];
16
+ /**
17
+ * 投放项目 ESLint 配置
18
+ *
19
+ * 自动读取 projectRoot 下的 .gitignore 作为忽略规则。
20
+ */
21
+ declare function panameraEslintConfig(options?: PanameraEslintOptions): PanameraEslintConfig;
22
+ //#endregion
23
+ export { PanameraEslintConfig, PanameraEslintOptions, panameraEslintConfig };
24
+ //# sourceMappingURL=eslint.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint.d.mts","names":[],"sources":["../src/eslint.ts"],"mappings":";;;;UAWiB,qBAAA;EAAA;;;;EAKf,WAAA;AAAA;;;;KAMU,oBAAA,GAAuB,MAAA;AAOnC;;;;;AAAA,iBAAgB,oBAAA,CAAqB,OAAA,GAAS,qBAAA,GAA6B,oBAAA"}
@@ -0,0 +1,104 @@
1
+ import path from "node:path";
2
+ import { includeIgnoreFile } from "@eslint/compat";
3
+ import eslint from "@eslint/js";
4
+ import stylistic from "@stylistic/eslint-plugin";
5
+ import { defineConfig } from "eslint/config";
6
+ import tsParserService from "eslint-config-ts-parser-service";
7
+ import importPlugin from "eslint-plugin-import";
8
+ import reactPlugin from "eslint-plugin-react";
9
+ import tseslint from "typescript-eslint";
10
+ //#region src/eslint.ts
11
+ /**
12
+ * 投放项目 ESLint 配置
13
+ *
14
+ * 自动读取 projectRoot 下的 .gitignore 作为忽略规则。
15
+ */
16
+ function panameraEslintConfig(options = {}) {
17
+ const { projectRoot = process.cwd() } = options;
18
+ return defineConfig(includeIgnoreFile(path.resolve(projectRoot, ".gitignore")), {
19
+ files: ["**/*.?(m|c){js,ts}?(x)"],
20
+ extends: [
21
+ eslint.configs.recommended,
22
+ stylistic.configs.recommended,
23
+ ...tseslint.configs.strictTypeChecked,
24
+ ...tseslint.configs.stylisticTypeChecked,
25
+ {
26
+ ...tseslint.configs.eslintRecommended,
27
+ files: void 0
28
+ },
29
+ reactPlugin.configs.flat.recommended,
30
+ importPlugin.flatConfigs.recommended,
31
+ importPlugin.flatConfigs.typescript,
32
+ tsParserService.configs.resolver,
33
+ {
34
+ languageOptions: { parserOptions: { projectService: true } },
35
+ settings: { react: {
36
+ version: "16.0",
37
+ pragma: "h"
38
+ } }
39
+ },
40
+ { rules: {
41
+ "@typescript-eslint/await-thenable": "off",
42
+ "@typescript-eslint/no-non-null-assertion": "off",
43
+ "@typescript-eslint/no-empty-object-type": ["error", {
44
+ allowInterfaces: "with-single-extends",
45
+ allowObjectTypes: "always"
46
+ }],
47
+ "@typescript-eslint/no-require-imports": ["error", { allowAsImport: true }],
48
+ "import/namespace": "off",
49
+ "import/no-unresolved": "off",
50
+ "react/no-unknown-property": "off",
51
+ "react/prop-types": ["error", { skipUndeclared: true }]
52
+ } },
53
+ { rules: {
54
+ "@stylistic/jsx-one-expression-per-line": "off",
55
+ "@typescript-eslint/restrict-template-expressions": ["error", {
56
+ allowAny: false,
57
+ allowBoolean: true,
58
+ allowNullish: true,
59
+ allowNumber: true,
60
+ allowRegExp: true
61
+ }],
62
+ "@typescript-eslint/no-duplicate-type-constituents": "off",
63
+ "@typescript-eslint/no-unused-vars": ["error", {
64
+ args: "all",
65
+ argsIgnorePattern: "^_",
66
+ caughtErrors: "all",
67
+ caughtErrorsIgnorePattern: "^_",
68
+ destructuredArrayIgnorePattern: "^_",
69
+ varsIgnorePattern: "^_",
70
+ ignoreRestSiblings: true,
71
+ enableAutofixRemoval: { imports: true }
72
+ }],
73
+ "import/no-named-as-default-member": "off",
74
+ "import/order": ["warn", {
75
+ alphabetize: {
76
+ order: "asc",
77
+ caseInsensitive: true
78
+ },
79
+ groups: [
80
+ "builtin",
81
+ "external",
82
+ "internal",
83
+ "parent",
84
+ "sibling",
85
+ "index"
86
+ ]
87
+ }],
88
+ "no-console": "warn"
89
+ } }
90
+ ]
91
+ }, {
92
+ files: ["**/test/**/*.?(m|c){js,ts}?(x)", "**/*.{test,spec}.?(m|c){js,ts}?(x)"],
93
+ rules: {
94
+ "@typescript-eslint/require-await": "off",
95
+ "@typescript-eslint/unbound-method": "off",
96
+ "no-empty-pattern": ["error", { allowObjectPatternsAsParameters: true }],
97
+ "no-console": "off"
98
+ }
99
+ });
100
+ }
101
+ //#endregion
102
+ export { panameraEslintConfig };
103
+
104
+ //# sourceMappingURL=eslint.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint.mjs","names":[],"sources":["../src/eslint.ts"],"mappings":";;;;;;;;;;;;;;;AA6BA,SAAgB,qBAAqB,UAAiC,EAAE,EAAwB;CAC9F,MAAM,EAAE,cAAc,QAAQ,KAAK,KAAK;AAExC,QAAO,aACL,kBAAkB,KAAK,QAAQ,aAAa,aAAa,CAAC,EAE1D;EACE,OAAO,CAAC,yBAAyB;EACjC,SAAS;GACP,OAAO,QAAQ;GACf,UAAU,QAAQ;GAClB,GAAG,SAAS,QAAQ;GACpB,GAAG,SAAS,QAAQ;GAGpB;IACE,GAAG,SAAS,QAAQ;IACpB,OAAO,KAAA;IACR;GACD,YAAY,QAAQ,KAAK;GACzB,aAAa,YAAY;GACzB,aAAa,YAAY;GACzB,gBAAgB,QAAQ;GACxB;IACE,iBAAiB,EACf,eAAe,EACb,gBAAgB,MACjB,EACF;IACD,UAAU,EACR,OAAO;KACL,SAAS;KACT,QAAQ;KACT,EACF;IACF;GAED,EACE,OAAO;IAML,qCAAqC;IAErC,4CAA4C;IAC5C,2CAA2C,CAAC,SAAS;KAMnD,iBAAiB;KAOjB,kBAAkB;KACnB,CAAC;IACF,yCAAyC,CAAC,SAAS,EAAE,eAAe,MAAM,CAAC;IAE3E,oBAAoB;IAEpB,wBAAwB;IAExB,6BAA6B;IAE7B,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,MAAM,CAAC;IACxD,EACF;GAED,EACE,OAAO;IACL,0CAA0C;IAC1C,oDAAoD,CAAC,SAAS;KAC5D,UAAU;KACV,cAAc;KACd,cAAc;KACd,aAAa;KACb,aAAa;KACd,CAAC;IACF,qDAAqD;IACrD,qCAAqC,CAAC,SAAS;KAC7C,MAAM;KACN,mBAAmB;KACnB,cAAc;KACd,2BAA2B;KAC3B,gCAAgC;KAChC,mBAAmB;KACnB,oBAAoB;KACpB,sBAAsB,EACpB,SAAS,MACV;KACF,CAAC;IACF,qCAAqC;IACrC,gBAAgB,CAAC,QAAQ;KACvB,aAAa;MAAE,OAAO;MAAO,iBAAiB;MAAM;KACpD,QAAQ;MAAC;MAAW;MAAY;MAAY;MAAU;MAAW;MAAQ;KAC1E,CAAC;IACF,cAAc;IACf,EACF;GACF;EACF,EAED;EACE,OAAO,CACL,kCACA,qCACD;EACD,OAAO;GAEL,oCAAoC;GAEpC,qCAAqC;GAErC,oBAAoB,CAAC,SAAS,EAAE,iCAAiC,MAAM,CAAC;GACxE,cAAc;GACf;EACF,CACF"}
@@ -0,0 +1,14 @@
1
+ import { Config } from "stylelint";
2
+
3
+ //#region src/stylelint.d.ts
4
+ /**
5
+ * 投放项目 Stylelint 配置
6
+ */
7
+ type PanameraStylelintConfig = Omit<Config, 'not-exist-prop'>;
8
+ /**
9
+ * 投放项目 Stylelint 配置
10
+ */
11
+ declare function panameraStylelintConfig(): PanameraStylelintConfig;
12
+ //#endregion
13
+ export { PanameraStylelintConfig, panameraStylelintConfig };
14
+ //# sourceMappingURL=stylelint.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stylelint.d.mts","names":[],"sources":["../src/stylelint.ts"],"mappings":";;;;;AASA;KAAY,uBAAA,GAA0B,IAAA,CAAK,MAAA;;;;iBAK3B,uBAAA,CAAA,GAA2B,uBAAA"}
@@ -0,0 +1,26 @@
1
+ import { fileURLToPath } from "node:url";
2
+ //#region src/stylelint.ts
3
+ const importResolve = (specifier) => fileURLToPath(import.meta.resolve(specifier));
4
+ /**
5
+ * 投放项目 Stylelint 配置
6
+ */
7
+ function panameraStylelintConfig() {
8
+ return {
9
+ extends: [importResolve("@stylistic/stylelint-config")],
10
+ rules: {
11
+ "selector-class-pattern": "^[a-zA-Z][a-zA-Z0-9-_]*$",
12
+ "keyframes-name-pattern": "^[a-zA-Z][a-zA-Z0-9-_]*$"
13
+ },
14
+ overrides: [{
15
+ files: ["**/*.css"],
16
+ extends: [importResolve("stylelint-config-standard")]
17
+ }, {
18
+ files: ["**/*.less"],
19
+ extends: [importResolve("stylelint-config-standard-scss"), importResolve("stylelint-config-standard-less")]
20
+ }]
21
+ };
22
+ }
23
+ //#endregion
24
+ export { panameraStylelintConfig };
25
+
26
+ //# sourceMappingURL=stylelint.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stylelint.mjs","names":[],"sources":["../src/stylelint.ts"],"mappings":";;AAGA,MAAM,iBAAiB,cAAsB,cAAc,OAAO,KAAK,QAAQ,UAAU,CAAC;;;;AAW1F,SAAgB,0BAAmD;AACjE,QAAO;EACL,SAAS,CACP,cAAc,8BAA8B,CAC7C;EACD,OAAO;GACL,0BAA0B;GAC1B,0BAA0B;GAC3B;EACD,WAAW,CACT;GACE,OAAO,CAAC,WAAW;GACnB,SAAS,CAAC,cAAc,4BAA4B,CAAC;GACtD,EACD;GACE,OAAO,CAAC,YAAY;GACpB,SAAS,CACP,cAAc,iCAAiC,EAC/C,cAAc,iCAAiC,CAChD;GACF,CACF;EACF"}
@@ -0,0 +1,32 @@
1
+ {
2
+ "compilerOptions": {
3
+ "composite": true,
4
+ "declaration": true,
5
+ "declarationMap": true,
6
+ "esModuleInterop": true,
7
+ "exactOptionalPropertyTypes": true,
8
+ "isolatedModules": true,
9
+ "jsx": "react",
10
+ "jsxFactory": "h",
11
+ "jsxFragmentFactory": "Fragment",
12
+ "lib": ["ES2022"],
13
+ "module": "preserve",
14
+ "moduleResolution": "bundler",
15
+ "noEmitOnError": true,
16
+ "noUncheckedIndexedAccess": true,
17
+ "noUncheckedSideEffectImports": true,
18
+ "paths": {
19
+ "preact": ["./node_modules/@pixui-dev/pxw/lib/types/preact"],
20
+ "preact/compat": ["./node_modules/@pixui-dev/pxw/lib/types/preact/compat"],
21
+ "preact/hooks": ["./node_modules/@pixui-dev/pxw/lib/types/preact"],
22
+ "preact-router": ["./node_modules/@pixui-dev/pxw/lib/types/preact-router"],
23
+ "react": ["./node_modules/@pixui-dev/pxw/lib/types/preact/compat"]
24
+ },
25
+ "skipLibCheck": true,
26
+ "sourceMap": true,
27
+ "strict": true,
28
+ "target": "es2019",
29
+ "types": [],
30
+ "verbatimModuleSyntax": true
31
+ }
32
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "extends": "./tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "allowJs": true,
5
+ "composite": true,
6
+ "esModuleInterop": true,
7
+ "maxNodeModuleJsDepth": 1,
8
+ "module": "preserve",
9
+ "moduleResolution": "bundler",
10
+ "noEmit": true,
11
+ "target": "es2022",
12
+ "types": ["node"]
13
+ }
14
+ }
@@ -0,0 +1,34 @@
1
+ import webpack from "webpack";
2
+
3
+ //#region src/webpack.d.ts
4
+ /** @internal */
5
+ interface PanameraWebpackOptions {
6
+ /**
7
+ * 工作区根目录(.vscode/settings.json 所在目录),默认 process.cwd()
8
+ * @internal
9
+ */
10
+ workspaceRoot?: string;
11
+ /**
12
+ * 项目根目录(webpack context),默认与 workspaceRoot 相同
13
+ * @internal
14
+ */
15
+ projectRoot?: string;
16
+ /**
17
+ * 优先使用项目 node_modules,解决 monorepo 打包引入重复依赖问题
18
+ * @internal
19
+ */
20
+ preferProjectNodeModules?: boolean;
21
+ }
22
+ /**
23
+ * 投放项目 Webpack 配置
24
+ */
25
+ type PanameraWebpackConfig = (env: unknown, argv: {
26
+ mode: string;
27
+ }) => webpack.Configuration | webpack.MultiConfiguration;
28
+ /**
29
+ * 投放项目 Webpack 配置
30
+ */
31
+ declare function panameraWebpackConfig(options?: PanameraWebpackOptions): PanameraWebpackConfig;
32
+ //#endregion
33
+ export { PanameraWebpackConfig, PanameraWebpackOptions, panameraWebpackConfig };
34
+ //# sourceMappingURL=webpack.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webpack.d.mts","names":[],"sources":["../src/webpack.ts"],"mappings":";;;;UAqCiB,sBAAA;EAAA;;;;EAKf,aAAA;EAKA;;;;EAAA,WAAA;EAW+B;;;;EAN/B,wBAAA;AAAA;;;;KAMU,qBAAA,IAAyB,GAAA,WAAc,IAAA;EAAQ,IAAA;AAAA,MAAmB,OAAA,CAAQ,aAAA,GAAgB,OAAA,CAAQ,kBAAA;AAK9G;;;AAAA,iBAAgB,qBAAA,CAAsB,OAAA,GAAS,sBAAA,GAA8B,qBAAA"}
@@ -0,0 +1,190 @@
1
+ import { createRequire } from "node:module";
2
+ import path from "node:path";
3
+ import assert from "node:assert/strict";
4
+ import { readFileSync } from "node:fs";
5
+ import pfbs from "@pixui-dev/pxw/config/pfbs.js";
6
+ import { getLocalIP } from "@pixui-dev/pxw/config/util.js";
7
+ import { parse } from "comment-json";
8
+ import ForkTsCheckerWebpackPlugin from "fork-ts-checker-webpack-plugin";
9
+ import HtmlWebpackPlugin from "html-webpack-plugin";
10
+ import MiniCssExtractPlugin from "mini-css-extract-plugin";
11
+ import postcssPxtorem from "postcss-pxtorem";
12
+ //#region \0rolldown/runtime.js
13
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
14
+ //#endregion
15
+ //#region src/webpack.ts
16
+ const { DefinePlugin, EnvironmentPlugin, NormalModuleReplacementPlugin } = __require("webpack");
17
+ const pages = [{
18
+ name: "app",
19
+ template: "./src/app/index.html",
20
+ entry: "./src/app/main.tsx",
21
+ outputHtml: "index.html"
22
+ }, {
23
+ name: "preprocess",
24
+ template: "./src/preprocess/index.html",
25
+ entry: "./src/preprocess/main.tsx",
26
+ outputHtml: "preprocess.html"
27
+ }];
28
+ /**
29
+ * 投放项目 Webpack 配置
30
+ */
31
+ function panameraWebpackConfig(options = {}) {
32
+ const workspaceRoot = options.workspaceRoot ?? process.cwd();
33
+ const projectRoot = options.projectRoot ?? workspaceRoot;
34
+ const testRunnerEntry = path.resolve(projectRoot, "./test/runner.ts");
35
+ const devServerPort = parse(readFileSync(path.resolve(workspaceRoot, ".vscode/settings.json"), "utf8"))["pixide.dev.devServer"]?.devServerPort;
36
+ assert(devServerPort, "pixide.dev.devServer.devServerPort is required in .vscode/settings.json");
37
+ const devServerHost = getLocalIP()[0];
38
+ assert(devServerHost, "Failed to get local IP");
39
+ const postcssLoaderForRem = {
40
+ loader: __require.resolve("postcss-loader"),
41
+ options: { postcssOptions: { plugins: [postcssPxtorem({
42
+ rootValue: 16,
43
+ propList: ["*"],
44
+ minPixelValue: 0,
45
+ selectorBlackList: [/panameraNoRem/]
46
+ })] } }
47
+ };
48
+ return (_env, argv) => {
49
+ const isShipping = argv.mode === "production";
50
+ return {
51
+ context: projectRoot,
52
+ entry: pages.map((v) => ({ [v.name]: {
53
+ layer: v.name,
54
+ import: isShipping ? v.entry : testRunnerEntry
55
+ } })).reduce((a, b) => Object.assign(a, b)),
56
+ output: {
57
+ path: path.resolve(projectRoot, `./dist/html${isShipping ? "-pro" : "-dev"}`),
58
+ filename: "[name]/[name].js",
59
+ assetModuleFilename: (pathData) => {
60
+ if (pathData.filename?.startsWith("test/mocks/")) return "mocks/media/[name].[hash:8].[ext]";
61
+ return "static/media/[name].[hash:8].[ext]";
62
+ },
63
+ publicPath: isShipping ? "../" : `http://${devServerHost}:${devServerPort}/`,
64
+ clean: true,
65
+ asyncChunks: false,
66
+ chunkFormat: false,
67
+ chunkLoading: false
68
+ },
69
+ externals: { csharp: "esm globalThis.CSharp" },
70
+ resolve: {
71
+ extensions: [
72
+ ".js",
73
+ ".jsx",
74
+ ".ts",
75
+ ".tsx"
76
+ ],
77
+ alias: {
78
+ "preact$": "@pixui-dev/pxw/lib/preact.js",
79
+ "preact/compat$": "@pixui-dev/pxw/lib/preact.js",
80
+ "preact/hooks$": "@pixui-dev/pxw/lib/preact.js",
81
+ "preact-router$": "@pixui-dev/pxw/lib/preact-router.js",
82
+ "react": "@pixui-dev/pxw/lib/preact.js"
83
+ },
84
+ modules: options.preferProjectNodeModules ? [path.resolve(projectRoot, "node_modules"), "node_modules"] : ["node_modules"]
85
+ },
86
+ plugins: [
87
+ new ForkTsCheckerWebpackPlugin({ async: !isShipping }),
88
+ new MiniCssExtractPlugin({ filename: "[name]/[name].css" }),
89
+ new EnvironmentPlugin({ PROJECT_ROOT: projectRoot }),
90
+ new DefinePlugin({
91
+ "__TEST__": JSON.stringify(false),
92
+ "process.env.PAGE": DefinePlugin.runtimeValue((ctx) => {
93
+ assert(ctx.module.layer);
94
+ return JSON.stringify(ctx.module.layer);
95
+ })
96
+ }),
97
+ ...pages.map((page) => {
98
+ return new HtmlWebpackPlugin({
99
+ minify: isShipping,
100
+ chunks: [page.name],
101
+ template: page.template,
102
+ filename: `${page.name}/${page.outputHtml}`
103
+ });
104
+ }),
105
+ !isShipping && testRunnerEntry && new NormalModuleReplacementPlugin(/^virtual:pageEntry$/, (resource) => {
106
+ const page = pages.find((p) => p.name === resource.contextInfo.issuerLayer);
107
+ assert(page);
108
+ const entry = path.resolve(projectRoot, page.entry);
109
+ resource.request = entry;
110
+ resource.createData.request = entry;
111
+ })
112
+ ],
113
+ dotenv: { prefix: ["WEBPACK_", "PANAMERA_"] },
114
+ module: { rules: [
115
+ {
116
+ test: /\.[cm]?(js|ts)x?$/,
117
+ use: [{
118
+ loader: __require.resolve("babel-loader"),
119
+ options: {
120
+ assumptions: { noDocumentAll: true },
121
+ presets: [[__require("@babel/preset-typescript"), {
122
+ allowNamespaces: true,
123
+ optimizeConstEnums: true,
124
+ jsxPragma: "h",
125
+ jsxPragmaFrag: "Fragment"
126
+ }], [__require("@babel/preset-react"), {
127
+ pragma: "h",
128
+ pragmaFrag: "Fragment"
129
+ }]],
130
+ plugins: [
131
+ [__require("@babel/plugin-transform-class-properties")],
132
+ [__require("@babel/plugin-transform-logical-assignment-operators")],
133
+ [__require("@babel/plugin-transform-nullish-coalescing-operator")],
134
+ [__require("@babel/plugin-transform-optional-chaining")]
135
+ ]
136
+ }
137
+ }]
138
+ },
139
+ {
140
+ test: /\.(png|jpg|gif|mp4|lottie)$/,
141
+ type: "asset/resource"
142
+ },
143
+ {
144
+ test: /\.css$/,
145
+ use: [
146
+ __require.resolve(MiniCssExtractPlugin.loader),
147
+ __require.resolve("css-loader"),
148
+ postcssLoaderForRem
149
+ ]
150
+ },
151
+ {
152
+ test: /\.less$/,
153
+ use: [
154
+ __require.resolve(MiniCssExtractPlugin.loader),
155
+ {
156
+ loader: __require.resolve("css-loader"),
157
+ options: { modules: {
158
+ namedExport: false,
159
+ exportLocalsConvention: "as-is",
160
+ localIdentName: isShipping ? "[hash:base64]" : "[name]__[local]"
161
+ } }
162
+ },
163
+ postcssLoaderForRem,
164
+ __require.resolve("less-loader")
165
+ ]
166
+ }
167
+ ] },
168
+ optimization: { minimize: false },
169
+ devtool: "source-map",
170
+ performance: {
171
+ maxEntrypointSize: 800 * 1024,
172
+ maxAssetSize: 800 * 1024
173
+ },
174
+ devServer: {
175
+ host: "0.0.0.0",
176
+ port: devServerPort,
177
+ devMiddleware: { writeToDisk: true },
178
+ client: { overlay: false },
179
+ setupMiddlewares(middlewares) {
180
+ middlewares.unshift(pfbs.getMiddleware());
181
+ return middlewares;
182
+ }
183
+ }
184
+ };
185
+ };
186
+ }
187
+ //#endregion
188
+ export { panameraWebpackConfig };
189
+
190
+ //# sourceMappingURL=webpack.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webpack.mjs","names":["commentJsonParse"],"sources":["../src/webpack.ts"],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "pixui-panamera-configs",
3
+ "version": "0.0.1",
4
+ "license": "UNLICENSED",
5
+ "type": "module",
6
+ "scripts": {
7
+ "build": "tsdown"
8
+ },
9
+ "exports": {
10
+ "./eslint": "./dist/eslint.mjs",
11
+ "./stylelint": "./dist/stylelint.mjs",
12
+ "./webpack": "./dist/webpack.mjs",
13
+ "./package.json": "./package.json",
14
+ "./tsconfig.base.json": "./dist/tsconfig.base.json",
15
+ "./tsconfig.node.json": "./dist/tsconfig.node.json"
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "dependencies": {
21
+ "@babel/core": "^7.29.0",
22
+ "@babel/plugin-transform-class-properties": "^7.28.6",
23
+ "@babel/plugin-transform-logical-assignment-operators": "^7.28.6",
24
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6",
25
+ "@babel/plugin-transform-optional-chaining": "^7.28.6",
26
+ "@babel/preset-react": "^7.28.5",
27
+ "@babel/preset-typescript": "^7.28.5",
28
+ "@eslint/compat": "^2.0.5",
29
+ "@eslint/js": "^9.39.4",
30
+ "@pixui-dev/pxw": "0.1.38",
31
+ "@stylistic/eslint-plugin": "^5.10.0",
32
+ "@stylistic/stylelint-config": "^5.0.0",
33
+ "babel-loader": "^10.1.1",
34
+ "comment-json": "^5.0.0",
35
+ "css-loader": "^7.1.4",
36
+ "eslint": "^9.39.4",
37
+ "eslint-config-ts-parser-service": "^1.0.1",
38
+ "eslint-plugin-import": "^2.32.0",
39
+ "eslint-plugin-react": "^7.37.5",
40
+ "fork-ts-checker-webpack-plugin": "^9.1.0",
41
+ "html-webpack-plugin": "^5.6.6",
42
+ "less": "^4.6.4",
43
+ "less-loader": "^12.3.2",
44
+ "mini-css-extract-plugin": "^2.10.2",
45
+ "postcss": "^8.5.10",
46
+ "postcss-loader": "^8.2.1",
47
+ "postcss-pxtorem": "^6.1.0",
48
+ "stylelint": "^17.8.0",
49
+ "stylelint-config-standard": "^40.0.0",
50
+ "stylelint-config-standard-less": "^4.1.0",
51
+ "stylelint-config-standard-scss": "^17.0.0",
52
+ "typescript": "^5.9.3",
53
+ "typescript-eslint": "^8.58.2",
54
+ "webpack": "^5.106.2",
55
+ "webpack-dev-server": "^5.2.3"
56
+ },
57
+ "devDependencies": {
58
+ "@types/node": "^20.19.39",
59
+ "@types/postcss-pxtorem": "^6.1.0",
60
+ "tsdown": "^0.21.8"
61
+ },
62
+ "peerDependencies": {
63
+ "eslint": "^9.39.4",
64
+ "stylelint": "^17.8.0",
65
+ "typescript": "^5.9.3",
66
+ "webpack": "^5.106.2",
67
+ "webpack-dev-server": "^5.2.3"
68
+ }
69
+ }