tailwindcss 0.0.0-oxide-insiders.694aea0 → 0.0.0-oxide-insiders.ac1738e

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 (50) hide show
  1. package/lib/cli/build/index.js +3 -2
  2. package/lib/cli/build/plugin.js +23 -18
  3. package/lib/cli/build/watching.js +1 -1
  4. package/lib/cli/index.js +12 -21
  5. package/lib/cli/init/index.js +21 -6
  6. package/lib/lib/getModuleDependencies.js +37 -25
  7. package/lib/lib/load-config.js +36 -0
  8. package/lib/lib/setupTrackingContext.js +4 -4
  9. package/lib/oxide/cli/build/index.js +3 -2
  10. package/lib/oxide/cli/build/plugin.js +22 -17
  11. package/lib/oxide/cli/build/watching.js +1 -1
  12. package/lib/oxide/cli/index.js +10 -16
  13. package/lib/oxide/cli/init/index.js +19 -4
  14. package/lib/public/default-config.js +2 -2
  15. package/lib/public/default-theme.js +2 -2
  16. package/lib/public/load-config.js +10 -0
  17. package/lib/util/getAllConfigs.js +2 -2
  18. package/lib/util/resolveConfigPath.js +19 -7
  19. package/loadConfig.d.ts +4 -0
  20. package/loadConfig.js +2 -0
  21. package/package.json +7 -5
  22. package/src/cli/build/index.js +3 -6
  23. package/src/cli/build/plugin.js +23 -22
  24. package/src/cli/build/watching.js +1 -1
  25. package/src/cli/index.js +8 -26
  26. package/src/cli/init/index.js +37 -8
  27. package/src/lib/getModuleDependencies.js +26 -25
  28. package/src/lib/load-config.ts +27 -0
  29. package/src/lib/setupTrackingContext.js +4 -4
  30. package/src/oxide/cli/build/index.ts +3 -6
  31. package/src/oxide/cli/build/plugin.ts +23 -21
  32. package/src/oxide/cli/build/watching.ts +1 -1
  33. package/src/oxide/cli/index.ts +7 -15
  34. package/src/oxide/cli/init/index.ts +34 -7
  35. package/src/public/default-config.js +1 -1
  36. package/src/public/default-theme.js +2 -2
  37. package/src/public/load-config.js +2 -0
  38. package/src/util/getAllConfigs.js +2 -2
  39. package/src/util/resolveConfigPath.js +12 -1
  40. package/stubs/.gitignore +1 -0
  41. package/stubs/.prettierrc.json +6 -0
  42. package/stubs/{defaultConfig.stub.js → config.full.js} +0 -1
  43. package/stubs/{simpleConfig.stub.js → config.simple.js} +0 -1
  44. package/stubs/postcss.config.js +6 -0
  45. package/stubs/tailwind.config.cjs +2 -0
  46. package/stubs/tailwind.config.js +2 -0
  47. package/stubs/tailwind.config.ts +3 -0
  48. package/lib/constants.js +0 -44
  49. package/src/constants.js +0 -17
  50. /package/stubs/{defaultPostCssConfig.stub.js → postcss.config.cjs} +0 -0
@@ -1,22 +1,49 @@
1
1
  import fs from 'fs'
2
2
  import path from 'path'
3
3
 
4
- export function init(args, configs) {
5
- let messages = []
4
+ function isESM() {
5
+ const pkgPath = path.resolve('./package.json')
6
+
7
+ try {
8
+ let pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'))
9
+ return pkg.type && pkg.type === 'module'
10
+ } catch (err) {
11
+ return false
12
+ }
13
+ }
14
+
15
+ export function init(args) {
16
+ let messages: string[] = []
17
+
18
+ let isProjectESM = args['--ts'] || args['--esm'] || isESM()
19
+ let syntax = args['--ts'] ? 'ts' : isProjectESM ? 'js' : 'cjs'
20
+ let extension = args['--ts'] ? 'ts' : 'js'
21
+
22
+ let tailwindConfigLocation = path.resolve(args['_'][1] ?? `./tailwind.config.${extension}`)
6
23
 
7
- let tailwindConfigLocation = path.resolve(args['_'][1] ?? `./${configs.tailwind}`)
8
24
  if (fs.existsSync(tailwindConfigLocation)) {
9
25
  messages.push(`${path.basename(tailwindConfigLocation)} already exists.`)
10
26
  } else {
11
- let stubFile = fs.readFileSync(
27
+ let stubContentsFile = fs.readFileSync(
12
28
  args['--full']
13
- ? path.resolve(__dirname, '../../../../stubs/defaultConfig.stub.js')
14
- : path.resolve(__dirname, '../../../../stubs/simpleConfig.stub.js'),
29
+ ? path.resolve(__dirname, '../../../../stubs/config.full.js')
30
+ : path.resolve(__dirname, '../../../../stubs/config.simple.js'),
31
+ 'utf8'
32
+ )
33
+
34
+ let stubFile = fs.readFileSync(
35
+ path.resolve(__dirname, `../../../../stubs/tailwind.config.${syntax}`),
15
36
  'utf8'
16
37
  )
17
38
 
18
39
  // Change colors import
19
- stubFile = stubFile.replace('../colors', 'tailwindcss/colors')
40
+ stubContentsFile = stubContentsFile.replace('../colors', 'tailwindcss/colors')
41
+
42
+ // Replace contents of {ts,js,cjs} file with the stub {simple,full}.
43
+ stubFile =
44
+ stubFile
45
+ .replace('__CONFIG__', stubContentsFile.replace('module.exports =', '').trim())
46
+ .trim() + '\n\n'
20
47
 
21
48
  fs.writeFileSync(tailwindConfigLocation, stubFile, 'utf8')
22
49
 
@@ -1,4 +1,4 @@
1
1
  import { cloneDeep } from '../util/cloneDeep'
2
- import defaultConfig from '../../stubs/defaultConfig.stub'
2
+ import defaultConfig from '../../stubs/config.full'
3
3
 
4
4
  export default cloneDeep(defaultConfig)
@@ -1,4 +1,4 @@
1
1
  import { cloneDeep } from '../util/cloneDeep'
2
- import defaultConfig from '../../stubs/defaultConfig.stub'
2
+ import defaultFullConfig from '../../stubs/config.full'
3
3
 
4
- export default cloneDeep(defaultConfig.theme)
4
+ export default cloneDeep(defaultFullConfig.theme)
@@ -0,0 +1,2 @@
1
+ import { loadConfig } from '../lib/load-config'
2
+ export default loadConfig
@@ -1,8 +1,8 @@
1
- import defaultConfig from '../../stubs/defaultConfig.stub.js'
1
+ import defaultFullConfig from '../../stubs/config.full.js'
2
2
  import { flagEnabled } from '../featureFlags'
3
3
 
4
4
  export default function getAllConfigs(config) {
5
- const configs = (config?.presets ?? [defaultConfig])
5
+ const configs = (config?.presets ?? [defaultFullConfig])
6
6
  .slice()
7
7
  .reverse()
8
8
  .flatMap((preset) => getAllConfigs(preset instanceof Function ? preset() : preset))
@@ -1,6 +1,13 @@
1
1
  import fs from 'fs'
2
2
  import path from 'path'
3
3
 
4
+ const defaultConfigFiles = [
5
+ './tailwind.config.js',
6
+ './tailwind.config.cjs',
7
+ './tailwind.config.mjs',
8
+ './tailwind.config.ts',
9
+ ]
10
+
4
11
  function isObject(value) {
5
12
  return typeof value === 'object' && value !== null
6
13
  }
@@ -43,7 +50,11 @@ export default function resolveConfigPath(pathOrConfig) {
43
50
  }
44
51
 
45
52
  // require('tailwindcss')
46
- for (const configFile of ['./tailwind.config.js', './tailwind.config.cjs']) {
53
+ return resolveDefaultConfigPath()
54
+ }
55
+
56
+ export function resolveDefaultConfigPath() {
57
+ for (const configFile of defaultConfigFiles) {
47
58
  try {
48
59
  const configPath = path.resolve(configFile)
49
60
  fs.accessSync(configPath)
@@ -0,0 +1 @@
1
+ !*
@@ -0,0 +1,6 @@
1
+ {
2
+ "printWidth": 120,
3
+ "semi": false,
4
+ "singleQuote": true,
5
+ "trailingComma": "es5"
6
+ }
@@ -1,4 +1,3 @@
1
- /** @type {import('tailwindcss').Config} */
2
1
  module.exports = {
3
2
  content: [],
4
3
  presets: [],
@@ -1,4 +1,3 @@
1
- /** @type {import('tailwindcss').Config} */
2
1
  module.exports = {
3
2
  content: [],
4
3
  theme: {
@@ -0,0 +1,6 @@
1
+ export default {
2
+ plugins: {
3
+ tailwindcss: {},
4
+ autoprefixer: {},
5
+ },
6
+ }
@@ -0,0 +1,2 @@
1
+ /** @type {import('tailwindcss').Config} */
2
+ module.exports = __CONFIG__
@@ -0,0 +1,2 @@
1
+ /** @type {import('tailwindcss').Config} */
2
+ export default __CONFIG__
@@ -0,0 +1,3 @@
1
+ import type { Config } from 'tailwindcss'
2
+
3
+ export default __CONFIG__ satisfies Config
package/lib/constants.js DELETED
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- cli: ()=>cli,
13
- defaultConfigFile: ()=>defaultConfigFile,
14
- defaultPostCssConfigFile: ()=>defaultPostCssConfigFile,
15
- cjsConfigFile: ()=>cjsConfigFile,
16
- cjsPostCssConfigFile: ()=>cjsPostCssConfigFile,
17
- supportedConfigFiles: ()=>supportedConfigFiles,
18
- supportedPostCssConfigFile: ()=>supportedPostCssConfigFile,
19
- defaultConfigStubFile: ()=>defaultConfigStubFile,
20
- simpleConfigStubFile: ()=>simpleConfigStubFile,
21
- defaultPostCssConfigStubFile: ()=>defaultPostCssConfigStubFile
22
- });
23
- const _path = /*#__PURE__*/ _interopRequireDefault(require("path"));
24
- function _interopRequireDefault(obj) {
25
- return obj && obj.__esModule ? obj : {
26
- default: obj
27
- };
28
- }
29
- const cli = "tailwind";
30
- const defaultConfigFile = "./tailwind.config.js";
31
- const defaultPostCssConfigFile = "./postcss.config.js";
32
- const cjsConfigFile = "./tailwind.config.cjs";
33
- const cjsPostCssConfigFile = "./postcss.config.cjs";
34
- const supportedConfigFiles = [
35
- cjsConfigFile,
36
- defaultConfigFile
37
- ];
38
- const supportedPostCssConfigFile = [
39
- cjsPostCssConfigFile,
40
- defaultPostCssConfigFile
41
- ];
42
- const defaultConfigStubFile = _path.default.resolve(__dirname, "../stubs/defaultConfig.stub.js");
43
- const simpleConfigStubFile = _path.default.resolve(__dirname, "../stubs/simpleConfig.stub.js");
44
- const defaultPostCssConfigStubFile = _path.default.resolve(__dirname, "../stubs/defaultPostCssConfig.stub.js");
package/src/constants.js DELETED
@@ -1,17 +0,0 @@
1
- import path from 'path'
2
-
3
- export const cli = 'tailwind'
4
- export const defaultConfigFile = './tailwind.config.js'
5
- export const defaultPostCssConfigFile = './postcss.config.js'
6
- export const cjsConfigFile = './tailwind.config.cjs'
7
- export const cjsPostCssConfigFile = './postcss.config.cjs'
8
-
9
- export const supportedConfigFiles = [cjsConfigFile, defaultConfigFile]
10
- export const supportedPostCssConfigFile = [cjsPostCssConfigFile, defaultPostCssConfigFile]
11
-
12
- export const defaultConfigStubFile = path.resolve(__dirname, '../stubs/defaultConfig.stub.js')
13
- export const simpleConfigStubFile = path.resolve(__dirname, '../stubs/simpleConfig.stub.js')
14
- export const defaultPostCssConfigStubFile = path.resolve(
15
- __dirname,
16
- '../stubs/defaultPostCssConfig.stub.js'
17
- )