create-packer 1.12.4 → 1.12.7

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.
Files changed (101) hide show
  1. package/.gitignore +0 -1
  2. package/LICENSE +21 -21
  3. package/README.md +18 -18
  4. package/bin/clis/createTemp.d.ts +5 -5
  5. package/bin/clis/createTemp.js +58 -58
  6. package/bin/index.d.ts +2 -2
  7. package/bin/index.js +10 -10
  8. package/bin/utils/index.d.ts +4 -4
  9. package/bin/utils/index.js +45 -45
  10. package/package.json +43 -43
  11. package/template/docusaurus/.gitignore +20 -20
  12. package/template/docusaurus/.prettierignore +6 -6
  13. package/template/docusaurus/.prettierrc.js +20 -20
  14. package/template/docusaurus/README.md +33 -33
  15. package/template/docusaurus/babel.config.js +3 -3
  16. package/template/docusaurus/blog/2019-05-28-hola.md +11 -11
  17. package/template/docusaurus/blog/2019-05-29-hello-world.md +17 -17
  18. package/template/docusaurus/blog/2019-05-30-welcome.md +13 -13
  19. package/template/docusaurus/docs/doc1/doc1.mdx +201 -201
  20. package/template/docusaurus/docs/doc1/doc2.mdx +5 -5
  21. package/template/docusaurus/docs/doc1/doc3.mdx +13 -13
  22. package/template/docusaurus/docs/doc1/doc4.mdx +23 -23
  23. package/template/docusaurus/docs/doc2/doc1.mdx +200 -200
  24. package/template/docusaurus/docs/doc2/doc2.mdx +5 -5
  25. package/template/docusaurus/docs/doc2/doc3.mdx +13 -13
  26. package/template/docusaurus/docs/doc2/mdx4.mdx +23 -23
  27. package/template/docusaurus/docusaurus.config.js +134 -134
  28. package/template/docusaurus/package.json +54 -54
  29. package/template/docusaurus/sidebars.js +14 -14
  30. package/template/docusaurus/src/css/custom.css +33 -33
  31. package/template/docusaurus/src/pages/index.tsx +18 -18
  32. package/template/docusaurus/static/img/undraw_docusaurus_mountain.svg +170 -170
  33. package/template/docusaurus/static/img/undraw_docusaurus_react.svg +169 -169
  34. package/template/docusaurus/tsconfig.json +4 -4
  35. package/template/lib/.changeset/README.md +8 -8
  36. package/template/lib/.changeset/config.json +11 -11
  37. package/template/lib/.gitignore +35 -35
  38. package/template/lib/package.json +30 -30
  39. package/template/lib/packages/test/.gitignore +35 -35
  40. package/template/lib/packages/test/package.json +13 -13
  41. package/template/lib/packages/test/src/index.ts +5 -5
  42. package/template/lib/packages/test/tsconfig.json +17 -17
  43. package/template/lib/pnpm-lock.yaml +2386 -2386
  44. package/template/lib/pnpm-workspace.yaml +2 -2
  45. package/template/nest/.eslintrc.js +25 -25
  46. package/template/nest/.gitignore +34 -34
  47. package/template/nest/.husky/pre-commit +4 -4
  48. package/template/nest/.prettierrc +6 -6
  49. package/template/nest/README.md +73 -73
  50. package/template/nest/nest-cli.json +5 -5
  51. package/template/nest/package.json +28 -28
  52. package/template/nest/src/app.controller.spec.ts +22 -22
  53. package/template/nest/src/app.controller.ts +12 -12
  54. package/template/nest/src/app.module.ts +10 -10
  55. package/template/nest/src/app.service.ts +8 -8
  56. package/template/nest/src/main.ts +10 -10
  57. package/template/nest/src/utils/transform.interceptor.ts +26 -26
  58. package/template/nest/test/app.e2e-spec.ts +24 -24
  59. package/template/nest/test/jest-e2e.json +9 -9
  60. package/template/nest/tsconfig.build.json +5 -5
  61. package/template/nest/tsconfig.json +21 -21
  62. package/template/react/.eslintrc +52 -47
  63. package/template/react/.gitignore +25 -25
  64. package/template/react/.husky/commit-msg +4 -4
  65. package/template/react/.husky/pre-commit +4 -4
  66. package/template/react/.prettierignore +4 -4
  67. package/template/react/.prettierrc +18 -18
  68. package/template/react/.stylelintrc +22 -22
  69. package/template/react/.vscode/extensions.json +7 -8
  70. package/template/react/README.md +13 -13
  71. package/template/react/commitlint.config.cjs +1 -1
  72. package/template/react/index.html +13 -13
  73. package/template/react/jest.config.cjs +55 -55
  74. package/template/react/jest.setup.ts +5 -5
  75. package/template/react/postcss.config.cjs +9 -9
  76. package/template/react/stats.html +4044 -4044
  77. package/template/react/tailwind.config.cjs +8 -8
  78. package/template/react/tsconfig.json +25 -25
  79. package/template/react/tsconfig.node.json +9 -9
  80. package/template/react/vite.config.ts +19 -14
  81. package/template/vue/.eslintrc +6 -1
  82. package/template/vue/.husky/commit-msg +4 -4
  83. package/template/vue/.husky/pre-commit +4 -4
  84. package/template/vue/.prettierignore +4 -4
  85. package/template/vue/.prettierrc +18 -18
  86. package/template/vue/.stylelintrc +22 -22
  87. package/template/vue/.vscode/extensions.json +9 -9
  88. package/template/vue/README.md +12 -12
  89. package/template/vue/commitlint.config.cjs +1 -1
  90. package/template/vue/index.html +13 -13
  91. package/template/vue/postcss.config.cjs +9 -9
  92. package/template/vue/src/app/app.store.ts +2 -8
  93. package/template/vue/src/providers/index.ts +1 -0
  94. package/template/vue/src/providers/renderToDom.ts +16 -0
  95. package/template/vue/tailwind.config.cjs +8 -8
  96. package/template/vue/tsconfig.json +22 -22
  97. package/template/vue/tsconfig.node.json +9 -9
  98. package/template/vue/vite.config.ts +19 -14
  99. package/template/nest/.husky/_/.gitignore +0 -1
  100. package/template/react/.husky/_/.gitignore +0 -1
  101. package/template/vue/.husky/_/.gitignore +0 -1
@@ -1,21 +1,21 @@
1
- {
2
- "compilerOptions": {
3
- "module": "commonjs",
4
- "declaration": true,
5
- "removeComments": true,
6
- "emitDecoratorMetadata": true,
7
- "experimentalDecorators": true,
8
- "allowSyntheticDefaultImports": true,
9
- "target": "es2017",
10
- "sourceMap": true,
11
- "outDir": "./dist",
12
- "baseUrl": "./",
13
- "incremental": true,
14
- "skipLibCheck": true,
15
- "strictNullChecks": false,
16
- "noImplicitAny": false,
17
- "strictBindCallApply": false,
18
- "forceConsistentCasingInFileNames": false,
19
- "noFallthroughCasesInSwitch": false
20
- }
21
- }
1
+ {
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "declaration": true,
5
+ "removeComments": true,
6
+ "emitDecoratorMetadata": true,
7
+ "experimentalDecorators": true,
8
+ "allowSyntheticDefaultImports": true,
9
+ "target": "es2017",
10
+ "sourceMap": true,
11
+ "outDir": "./dist",
12
+ "baseUrl": "./",
13
+ "incremental": true,
14
+ "skipLibCheck": true,
15
+ "strictNullChecks": false,
16
+ "noImplicitAny": false,
17
+ "strictBindCallApply": false,
18
+ "forceConsistentCasingInFileNames": false,
19
+ "noFallthroughCasesInSwitch": false
20
+ }
21
+ }
@@ -1,47 +1,52 @@
1
- {
2
- "root": true,
3
- "parser": "@typescript-eslint/parser",
4
- "plugins": ["@typescript-eslint", "prettier"],
5
- "extends": ["eslint:recommended", "plugin:react/recommended", "plugin:react-hooks/recommended"],
6
- "settings": {
7
- "react": {
8
- "version": "18"
9
- }
10
- },
11
- "env": {
12
- "browser": true,
13
- "node": true,
14
- "es6": true,
15
- "jest": true
16
- },
17
- "parserOptions": {
18
- "ecmaVersion": 2018,
19
- "sourceType": "module",
20
- "ecmaFeatures": {
21
- "jsx": true
22
- },
23
- "useJSXTextNode": true
24
- },
25
- "rules": {
26
- "@typescript-eslint/no-var-requires": 0,
27
- "@typescript-eslint/explicit-function-return-type": "off",
28
- "@typescript-eslint/no-explicit-any": 0,
29
- "@typescript-eslint/no-inferrable-types": [
30
- "warn",
31
- {
32
- "ignoreParameters": true
33
- }
34
- ],
35
- "@typescript-eslint/no-unused-vars": "warn",
36
- "@typescript-eslint/member-delimiter-style": 0,
37
- "@typescript-eslint/class-name-casing": 0,
38
- "@typescript-eslint/explicit-module-boundary-types": "off",
39
- "@typescript-eslint/ban-ts-comment": "off",
40
- "react/prop-types": "off",
41
- "react/no-find-dom-node": "off",
42
- "react-hooks/exhaustive-deps": "warn",
43
- "react/display-name": "off",
44
- "react/react-in-jsx-scope": "off",
45
- "prettier/prettier": "error"
46
- }
47
- }
1
+ {
2
+ "root": true,
3
+ "parser": "@typescript-eslint/parser",
4
+ "plugins": ["@typescript-eslint", "prettier"],
5
+ "extends": ["eslint:recommended", "plugin:react/recommended", "plugin:react-hooks/recommended"],
6
+ "settings": {
7
+ "react": {
8
+ "version": "18"
9
+ }
10
+ },
11
+ "env": {
12
+ "browser": true,
13
+ "node": true,
14
+ "es6": true,
15
+ "jest": true
16
+ },
17
+ "parserOptions": {
18
+ "ecmaVersion": 2018,
19
+ "sourceType": "module",
20
+ "ecmaFeatures": {
21
+ "jsx": true
22
+ },
23
+ "useJSXTextNode": true
24
+ },
25
+ "rules": {
26
+ "@typescript-eslint/no-var-requires": 0,
27
+ "@typescript-eslint/explicit-function-return-type": "off",
28
+ "@typescript-eslint/no-explicit-any": 0,
29
+ "@typescript-eslint/no-inferrable-types": [
30
+ "warn",
31
+ {
32
+ "ignoreParameters": true
33
+ }
34
+ ],
35
+ "@typescript-eslint/no-unused-vars": "warn",
36
+ "@typescript-eslint/member-delimiter-style": 0,
37
+ "@typescript-eslint/class-name-casing": 0,
38
+ "@typescript-eslint/explicit-module-boundary-types": "off",
39
+ "@typescript-eslint/ban-ts-comment": "off",
40
+ "react/prop-types": "off",
41
+ "react/no-find-dom-node": "off",
42
+ "react-hooks/exhaustive-deps": "warn",
43
+ "react/display-name": "off",
44
+ "react/react-in-jsx-scope": "off",
45
+ "prettier/prettier": [
46
+ "error",
47
+ {
48
+ "endOfLine": "auto"
49
+ }
50
+ ]
51
+ }
52
+ }
@@ -1,25 +1,25 @@
1
- # Logs
2
- logs
3
- *.log
4
- npm-debug.log*
5
- yarn-debug.log*
6
- yarn-error.log*
7
- pnpm-debug.log*
8
- lerna-debug.log*
9
-
10
- node_modules
11
- dist
12
- dist-ssr
13
- *.local
14
-
15
- # Editor directories and files
16
- .vscode/*
17
- !.vscode/extensions.json
18
- .history
19
- .idea
20
- .DS_Store
21
- *.suo
22
- *.ntvs*
23
- *.njsproj
24
- *.sln
25
- *.sw?
1
+ # Logs
2
+ logs
3
+ *.log
4
+ npm-debug.log*
5
+ yarn-debug.log*
6
+ yarn-error.log*
7
+ pnpm-debug.log*
8
+ lerna-debug.log*
9
+
10
+ node_modules
11
+ dist
12
+ dist-ssr
13
+ *.local
14
+
15
+ # Editor directories and files
16
+ .vscode/*
17
+ !.vscode/extensions.json
18
+ .history
19
+ .idea
20
+ .DS_Store
21
+ *.suo
22
+ *.ntvs*
23
+ *.njsproj
24
+ *.sln
25
+ *.sw?
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env sh
2
- . "$(dirname -- "$0")/_/husky.sh"
3
-
4
- npx --no -- commitlint --edit
1
+ #!/usr/bin/env sh
2
+ . "$(dirname -- "$0")/_/husky.sh"
3
+
4
+ npx --no -- commitlint --edit
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env sh
2
- . "$(dirname -- "$0")/_/husky.sh"
3
-
4
- npm run lint
1
+ #!/usr/bin/env sh
2
+ . "$(dirname -- "$0")/_/husky.sh"
3
+
4
+ npm run lint
@@ -1,4 +1,4 @@
1
- **/*.md
2
- **/*.svg
3
- **/*.ejs
4
- **/*.html
1
+ **/*.md
2
+ **/*.svg
3
+ **/*.ejs
4
+ **/*.html
@@ -1,18 +1,18 @@
1
- {
2
- "overrides": [
3
- {
4
- "files": ".prettierrc",
5
- "options": { "parser": "json" }
6
- }
7
- ],
8
- "printWidth": 100,
9
- "tabWidth": 4,
10
- "useTabs": false,
11
- "semi": false,
12
- "singleQuote": true,
13
- "trailingComma": "none",
14
- "bracketSpacing": true,
15
- "jsxBracketSameLine": true,
16
- "arrowParens": "avoid",
17
- "rangeStart": 0
18
- }
1
+ {
2
+ "overrides": [
3
+ {
4
+ "files": ".prettierrc",
5
+ "options": { "parser": "json" }
6
+ }
7
+ ],
8
+ "printWidth": 100,
9
+ "tabWidth": 4,
10
+ "useTabs": false,
11
+ "semi": false,
12
+ "singleQuote": true,
13
+ "trailingComma": "none",
14
+ "bracketSpacing": true,
15
+ "jsxBracketSameLine": true,
16
+ "arrowParens": "avoid",
17
+ "rangeStart": 0
18
+ }
@@ -1,22 +1,22 @@
1
- {
2
- "extends": "stylelint-config-standard",
3
- "rules": {
4
- "indentation": 4,
5
- "comment-empty-line-before": "never",
6
- "no-empty-source": null,
7
- "no-descending-specificity": null,
8
- "string-quotes": "single",
9
- "at-rule-no-unknown": [
10
- true,
11
- {
12
- "ignoreAtRules": ["tailwind", "apply"]
13
- }
14
- ],
15
- "selector-pseudo-class-no-unknown": [
16
- true,
17
- {
18
- "ignorePseudoClasses": ["global"]
19
- }
20
- ]
21
- }
22
- }
1
+ {
2
+ "extends": "stylelint-config-standard",
3
+ "rules": {
4
+ "indentation": 4,
5
+ "comment-empty-line-before": "never",
6
+ "no-empty-source": null,
7
+ "no-descending-specificity": null,
8
+ "string-quotes": "single",
9
+ "at-rule-no-unknown": [
10
+ true,
11
+ {
12
+ "ignoreAtRules": ["tailwind", "apply"]
13
+ }
14
+ ],
15
+ "selector-pseudo-class-no-unknown": [
16
+ true,
17
+ {
18
+ "ignorePseudoClasses": ["global"]
19
+ }
20
+ ]
21
+ }
22
+ }
@@ -1,8 +1,7 @@
1
- {
2
- "recommendations": [
3
- "dbaeumer.vscode-eslint",
4
- "esbenp.prettier-vscode",
5
- "stylelint.vscode-stylelint",
6
- "bradlc.vscode-tailwindcss"
7
- ]
8
- }
1
+ {
2
+ "recommendations": [
3
+ "dbaeumer.vscode-eslint",
4
+ "stylelint.vscode-stylelint",
5
+ "esbenp.prettier-vscode"
6
+ ]
7
+ }
@@ -1,13 +1,13 @@
1
- ## Vite + react18 + Typescript
2
-
3
- ### Features
4
- - Vite 3.x
5
- - React 18.x
6
- - Typescript 4.x
7
- - react-router 6.x
8
- - Zustand 4.x
9
- - Tailwindcss 3.x
10
- - Jest 28.x
11
- - Eslint
12
- - Prettier
13
- - Alias @ to <project_root>/src
1
+ ## Vite + react18 + Typescript
2
+
3
+ ### Features
4
+ - Vite 3.x
5
+ - React 18.x
6
+ - Typescript 4.x
7
+ - react-router 6.x
8
+ - Zustand 4.x
9
+ - Tailwindcss 3.x
10
+ - Jest 28.x
11
+ - Eslint
12
+ - Prettier
13
+ - Alias @ to <project_root>/src
@@ -1 +1 @@
1
- module.exports = { extends: ['@commitlint/config-conventional'] }
1
+ module.exports = { extends: ['@commitlint/config-conventional'] }
@@ -1,13 +1,13 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
- <title>Vite + React + TS</title>
8
- </head>
9
- <body>
10
- <div id="root"></div>
11
- <script type="module" src="/src/main.tsx"></script>
12
- </body>
13
- </html>
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Vite + React + TS</title>
8
+ </head>
9
+ <body>
10
+ <div id="root"></div>
11
+ <script type="module" src="/src/main.tsx"></script>
12
+ </body>
13
+ </html>
@@ -1,55 +1,55 @@
1
- /** @type {import('@jest/types').Config.InitialOptions} */
2
- module.exports = {
3
- // The test environment that will be used for testing, jsdom for browser environment
4
- // https://jestjs.io/docs/configuration#testenvironment-string
5
- testEnvironment: 'jsdom',
6
-
7
- // A list of paths to directories that Jest should use to search for files in
8
- // https://jestjs.io/docs/configuration#roots-arraystring
9
- roots: ['<rootDir>/src/'],
10
-
11
- // The glob patterns Jest uses to detect test files.
12
- // https://jestjs.io/docs/configuration#testmatch-arraystring
13
- testMatch: ['**/*.spec.ts?(x)'],
14
-
15
- // Jest transformations
16
- // https://jestjs.io/docs/configuration#transform-objectstring-pathtotransformer--pathtotransformer-object
17
- transform: {
18
- '^.+\\.tsx?$': 'ts-jest' // Transform TypeScript files using ts-jest
19
- },
20
-
21
- // A list of paths to modules that run some code to configure or set up the testing framework before each test file in the suite is executed
22
- // https://jestjs.io/docs/configuration#setupfilesafterenv-array
23
- setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
24
-
25
- // Code coverage config
26
- // https://jestjs.io/docs/configuration#collectcoveragefrom-array
27
- coverageDirectory: '<rootDir>/coverage/',
28
- collectCoverageFrom: [
29
- '<rootDir>/src/**/*.{ts,tsx}',
30
- '!**/__mocks__/**',
31
- '!**/node_modules/**',
32
- '!**/*.d.ts'
33
- ],
34
-
35
- // Important: order matters, specific rules should be defined first
36
- // https://jestjs.io/fr/docs/configuration#modulenamemapper-objectstring-string--arraystring
37
- moduleNameMapper: {
38
- // Handle CSS imports (with CSS modules)
39
- // https://jestjs.io/docs/webpack#mocking-css-modules
40
- '^.+\\.module\\.(css|sass|scss|less)$': 'identity-obj-proxy',
41
-
42
- // Handle CSS imports (without CSS modules)
43
- '^.+\\.(css|sass|scss|less)$': '<rootDir>/__mocks__/styleMock.js',
44
-
45
- // Handle static assets
46
- // https://jestjs.io/docs/webpack#handling-static-assets
47
- '^.+\\.(jpg|jpeg|png|gif|webp|avif|svg|ttf|woff|woff2)$': `<rootDir>/__mocks__/fileMock.js`,
48
-
49
- // Handle TypeScript path aliases
50
- '^@/(.*)$': '<rootDir>/src/$1'
51
- },
52
-
53
- verbose: true,
54
- testTimeout: 30000
55
- }
1
+ /** @type {import('@jest/types').Config.InitialOptions} */
2
+ module.exports = {
3
+ // The test environment that will be used for testing, jsdom for browser environment
4
+ // https://jestjs.io/docs/configuration#testenvironment-string
5
+ testEnvironment: 'jsdom',
6
+
7
+ // A list of paths to directories that Jest should use to search for files in
8
+ // https://jestjs.io/docs/configuration#roots-arraystring
9
+ roots: ['<rootDir>/src/'],
10
+
11
+ // The glob patterns Jest uses to detect test files.
12
+ // https://jestjs.io/docs/configuration#testmatch-arraystring
13
+ testMatch: ['**/*.spec.ts?(x)'],
14
+
15
+ // Jest transformations
16
+ // https://jestjs.io/docs/configuration#transform-objectstring-pathtotransformer--pathtotransformer-object
17
+ transform: {
18
+ '^.+\\.tsx?$': 'ts-jest' // Transform TypeScript files using ts-jest
19
+ },
20
+
21
+ // A list of paths to modules that run some code to configure or set up the testing framework before each test file in the suite is executed
22
+ // https://jestjs.io/docs/configuration#setupfilesafterenv-array
23
+ setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
24
+
25
+ // Code coverage config
26
+ // https://jestjs.io/docs/configuration#collectcoveragefrom-array
27
+ coverageDirectory: '<rootDir>/coverage/',
28
+ collectCoverageFrom: [
29
+ '<rootDir>/src/**/*.{ts,tsx}',
30
+ '!**/__mocks__/**',
31
+ '!**/node_modules/**',
32
+ '!**/*.d.ts'
33
+ ],
34
+
35
+ // Important: order matters, specific rules should be defined first
36
+ // https://jestjs.io/fr/docs/configuration#modulenamemapper-objectstring-string--arraystring
37
+ moduleNameMapper: {
38
+ // Handle CSS imports (with CSS modules)
39
+ // https://jestjs.io/docs/webpack#mocking-css-modules
40
+ '^.+\\.module\\.(css|sass|scss|less)$': 'identity-obj-proxy',
41
+
42
+ // Handle CSS imports (without CSS modules)
43
+ '^.+\\.(css|sass|scss|less)$': '<rootDir>/__mocks__/styleMock.js',
44
+
45
+ // Handle static assets
46
+ // https://jestjs.io/docs/webpack#handling-static-assets
47
+ '^.+\\.(jpg|jpeg|png|gif|webp|avif|svg|ttf|woff|woff2)$': `<rootDir>/__mocks__/fileMock.js`,
48
+
49
+ // Handle TypeScript path aliases
50
+ '^@/(.*)$': '<rootDir>/src/$1'
51
+ },
52
+
53
+ verbose: true,
54
+ testTimeout: 30000
55
+ }
@@ -1,5 +1,5 @@
1
- // jest-dom adds custom jest matchers for asserting on DOM nodes.
2
- // allows you to do things like:
3
- // expect(element).toHaveTextContent(/react/i)
4
- // learn more: https://github.com/testing-library/jest-dom
5
- import '@testing-library/jest-dom'
1
+ // jest-dom adds custom jest matchers for asserting on DOM nodes.
2
+ // allows you to do things like:
3
+ // expect(element).toHaveTextContent(/react/i)
4
+ // learn more: https://github.com/testing-library/jest-dom
5
+ import '@testing-library/jest-dom'
@@ -1,9 +1,9 @@
1
- module.exports = {
2
- plugins: {
3
- 'postcss-import': {},
4
- 'tailwindcss/nesting': 'postcss-nesting',
5
- tailwindcss: {},
6
- autoprefixer: {},
7
- ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {})
8
- }
9
- }
1
+ module.exports = {
2
+ plugins: {
3
+ 'postcss-import': {},
4
+ 'tailwindcss/nesting': 'postcss-nesting',
5
+ tailwindcss: {},
6
+ autoprefixer: {},
7
+ ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {})
8
+ }
9
+ }