unframer 2.3.0 → 2.5.0

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/esm/utils.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export declare const logger: {
2
2
  log(...args: any[]): void;
3
+ green(...args: any[]): void;
3
4
  error(...args: any[]): void;
4
5
  };
5
6
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;;;CAOlB,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM;;;;CAUlB,CAAA"}
package/esm/utils.js CHANGED
@@ -4,6 +4,9 @@ export const logger = {
4
4
  log(...args) {
5
5
  console.log(prefix, ...args);
6
6
  },
7
+ green(...args) {
8
+ console.log([prefix, ...args].map((x) => pico.green(x)).join(' '));
9
+ },
7
10
  error(...args) {
8
11
  console.error([prefix, ...args].map((x) => pico.red(x)).join(' '));
9
12
  },
package/esm/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,YAAY,CAAA;AAE7B,MAAM,MAAM,GAAG,YAAY,CAAA;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,GAAG,CAAC,GAAG,IAAI;QACP,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;IAChC,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;CACJ,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,YAAY,CAAA;AAE7B,MAAM,MAAM,GAAG,YAAY,CAAA;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,GAAG,CAAC,GAAG,IAAI;QACP,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;IAChC,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACT,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;IACD,KAAK,CAAC,GAAG,IAAI;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;CACJ,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "unframer",
3
- "version": "2.3.0",
4
- "description": "",
3
+ "version": "2.5.0",
4
+ "description": "Import Framer components directly in your React app, type safe and customizable",
5
5
  "sideEffects": false,
6
6
  "repository": "https://github.com/remorses/unframer",
7
7
  "bin": "bin.js",
package/src/cli.tsx CHANGED
@@ -6,35 +6,42 @@ import chokidar from 'chokidar'
6
6
  import fs from 'fs-extra'
7
7
  import findUp from 'find-up'
8
8
  import tmp from 'tmp'
9
- import path from 'path'
10
- const configName = 'unframer.json'
9
+ import path, { basename } from 'path'
10
+ const configNames = ['unframer.config.json', 'unframer.json']
11
11
  import { cac } from 'cac'
12
12
  import { logger } from './utils.js'
13
13
  import { BreakpointSizes } from './css.js'
14
14
 
15
- export const cli = cac()
15
+ export const cli = cac('unframer')
16
16
 
17
17
  cli.command('', 'Run unframer')
18
- .option('--watch', 'Watch for Framer and unframer.json changes')
18
+ .option('--watch', 'Watch for Framer and unframer.config.json changes')
19
19
  .action(async function main(options) {
20
+ fixOldUnframerPath()
20
21
  const cwd = process.cwd()
21
22
  const watch = process.argv.includes('--watch')
22
- logger.log(`Looking for ${configName} in ${cwd}`)
23
- const configPath = await findUp([configName], { cwd })
23
+ logger.log(`Looking for ${configNames.join(', ')} in ${cwd}`)
24
+ const configPath = await findUp(configNames, { cwd })
24
25
  if (!configPath) {
25
- logger.log(`No ${configName} found`)
26
+ logger.log(`No ${configNames.join(', ')} found`)
26
27
  return
27
28
  }
29
+ let configBasename = basename(configPath!)
28
30
  const configContent = fs.readFileSync(configPath, 'utf8')
29
31
  if (!configContent) {
30
- logger.log(`No ${configName} contents found`)
32
+ logger.log(`No ${configBasename} contents found`)
31
33
  return
32
34
  }
33
35
  let config = JSON.parse(configContent)
34
36
 
35
37
  let controller = new AbortController()
36
38
  setMaxListeners(0, controller.signal)
37
- processConfig({ config, watch, signal: controller.signal })
39
+ processConfig({
40
+ config,
41
+ watch,
42
+ signal: controller.signal,
43
+ configBasename,
44
+ })
38
45
  if (!watch) {
39
46
  return
40
47
  }
@@ -44,7 +51,7 @@ cli.command('', 'Run unframer')
44
51
  })
45
52
 
46
53
  watcher.on('change', async (path) => {
47
- logger.log(`${configName} changed`)
54
+ logger.log(`${configBasename} changed`)
48
55
  console.log()
49
56
  controller.abort()
50
57
 
@@ -55,7 +62,7 @@ cli.command('', 'Run unframer')
55
62
  fs.readFileSync(configPath!, 'utf8'),
56
63
  )
57
64
  if (!newConfig) {
58
- logger.log(`Invalid ${configName} file`)
65
+ logger.log(`Invalid ${configBasename} file`)
59
66
  return
60
67
  }
61
68
  const newNames = getNewNames(config, newConfig)
@@ -67,6 +74,7 @@ cli.command('', 'Run unframer')
67
74
  components: pluck(newConfig.components, newNames),
68
75
  },
69
76
  watch,
77
+ configBasename,
70
78
  // signal: controller.signal,
71
79
  })
72
80
  }
@@ -84,13 +92,35 @@ const defaultConfig = `{
84
92
  }
85
93
  `
86
94
 
87
- cli.command('init', 'Init the unframer.json config').action(async (options) => {
88
- fs.writeFileSync(`unframer.json`, defaultConfig)
89
- const p = path.resolve(process.cwd(), 'unframer.json')
90
- console.log(`${p} file created`)
91
- })
95
+ function fixOldUnframerPath() {
96
+ // if unframer.json exists, rename it to unframer.config.json
97
+
98
+ const oldConfigPath = fs.existsSync('unframer.json')
99
+ if (oldConfigPath) {
100
+ fs.renameSync('unframer.json', 'unframer.config.json')
101
+ logger.green(
102
+ 'legacy unframer.json config renamed to unframer.config.json',
103
+ )
104
+ return true
105
+ }
106
+ return false
107
+ }
108
+
109
+ cli.command('init', 'Init the unframer.config.json config').action(
110
+ async (options) => {
111
+ let fixed = fixOldUnframerPath()
112
+ if (fixed) {
113
+ return
114
+ }
115
+ fs.writeFileSync(`unframer.config.json`, defaultConfig)
116
+ const p = path.resolve(process.cwd(), 'unframer.config.json')
117
+ console.log(`${p} file created`)
118
+ },
119
+ )
120
+
121
+ const version = require('../package.json').version
92
122
 
93
- cli.help()
123
+ cli.version(version).help()
94
124
 
95
125
  function safeJsonParse(json: string) {
96
126
  try {
@@ -131,16 +161,18 @@ async function processConfig({
131
161
  config,
132
162
  watch,
133
163
  signal,
164
+ configBasename,
134
165
  }: {
135
166
  config: Config
136
167
  watch: boolean
168
+ configBasename: string
137
169
  signal?: AbortSignal
138
170
  }) {
139
171
  try {
140
172
  const { components, breakpoints, outDir } = config || {}
141
173
  const installDir = path.resolve(process.cwd(), outDir || 'framer')
142
174
  if (!components) {
143
- logger.log(`No components found in ${configName}`)
175
+ logger.log(`No components found in ${configBasename}`)
144
176
  return
145
177
  }
146
178