@symbo.ls/cli 2.10.114 → 2.10.121
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/bin/convert.js +74 -46
- package/bin/fetch.js +3 -2
- package/bin/index.js +2 -1
- package/bin/link-all.js +1 -12
- package/bin/sync.js +0 -3
- package/package.json +7 -3
- package/README.md +0 -11
package/bin/convert.js
CHANGED
|
@@ -3,56 +3,84 @@
|
|
|
3
3
|
import * as esbuild from 'esbuild'
|
|
4
4
|
import { loadModule } from './require.js'
|
|
5
5
|
import { program } from './program.js'
|
|
6
|
-
import { convert } from 'domql-to-mitosis
|
|
6
|
+
import { convert } from 'domql-to-mitosis'
|
|
7
7
|
import fs from 'fs'
|
|
8
8
|
import path from 'path'
|
|
9
|
+
import { JSDOM } from 'jsdom'
|
|
10
|
+
|
|
11
|
+
const jsdom = new JSDOM(`<html><head></head><body></body></html>`)
|
|
12
|
+
global.window = jsdom.window
|
|
13
|
+
global.document = window.document
|
|
9
14
|
|
|
10
15
|
const TMP_DIR_NAME = ".smbls_convert_tmp"
|
|
11
16
|
|
|
12
17
|
program
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
18
|
+
.command('convert')
|
|
19
|
+
.description('Recursively convert and copy all DomQL components under a directory')
|
|
20
|
+
.argument('[src]', 'Source directory. By default, it is "."', '.')
|
|
21
|
+
.argument('[dest]', 'Destination directory. By default, it becomes the name of the desired format')
|
|
22
|
+
.option('--react', 'Convert all DomQL components to React')
|
|
23
|
+
.option('--angular', 'Convert all DomQL components to Angular')
|
|
24
|
+
.option('--vue2', 'Convert all DomQL components to Vue2')
|
|
25
|
+
.option('--vue3', 'Convert all DomQL components to Vue3')
|
|
26
|
+
.action(async (src, dest, options) => {
|
|
27
|
+
// Desired format
|
|
28
|
+
let desiredFormat = 'react'
|
|
29
|
+
if (options.angular) {
|
|
30
|
+
desiredFormat = 'angular'
|
|
31
|
+
} else if (options.vue2) {
|
|
32
|
+
desiredFormat = 'vue2'
|
|
33
|
+
} else if (options.vue3) {
|
|
34
|
+
desiredFormat = 'vue3'
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Resolve source & destination directories
|
|
38
|
+
const srcPath = path.resolve(src || './src')
|
|
39
|
+
const destPath = path.resolve(dest || './dist')
|
|
40
|
+
const tmpDirPath = path.resolve(path.dirname(destPath), TMP_DIR_NAME)
|
|
41
|
+
|
|
42
|
+
// Make tmp directory
|
|
43
|
+
try {
|
|
44
|
+
await fs.promises.mkdir(tmpDirPath)
|
|
45
|
+
} catch (err) {
|
|
46
|
+
if (err.code !== 'EEXIST') {
|
|
47
|
+
console.log(err)
|
|
48
|
+
return 1;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const origFiles = await fs.promises.readdir(srcPath)
|
|
53
|
+
|
|
54
|
+
// Bundle components
|
|
55
|
+
await esbuild.build({
|
|
56
|
+
entryPoints: origFiles.map(file => path.join(srcPath, file, '/index.js')),
|
|
57
|
+
bundle: true,
|
|
58
|
+
sourcemap: true,
|
|
59
|
+
target: 'node12',
|
|
60
|
+
format: 'cjs',
|
|
61
|
+
outdir: tmpDirPath
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
// Convert components
|
|
65
|
+
const files = await fs.promises.readdir(tmpDirPath)
|
|
66
|
+
for (const file of files) {
|
|
67
|
+
if (file === 'Atoms') continue
|
|
68
|
+
|
|
69
|
+
let filePath = path.join(tmpDirPath, file)
|
|
70
|
+
|
|
71
|
+
if ((await fs.promises.stat(filePath)).isDirectory()) {
|
|
72
|
+
const importPath = `${filePath}/index.js`
|
|
73
|
+
console.log(`importing ${importPath}`)
|
|
74
|
+
const domqlModule = (await import(importPath)).default
|
|
75
|
+
console.log(domqlModule)
|
|
76
|
+
for (const key in domqlModule) {
|
|
77
|
+
const component = domqlModule[key]
|
|
78
|
+
const gen = convert(component, desiredFormat, {
|
|
79
|
+
verbose: false,
|
|
80
|
+
exportDefault: domqlModule.length === 1
|
|
81
|
+
})
|
|
82
|
+
//console.log(gen)
|
|
56
83
|
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
})
|
package/bin/fetch.js
CHANGED
|
@@ -13,7 +13,7 @@ const LOCAL_CONFIG_PATH = process.cwd() + '/node_modules/@symbo.ls/init/dynamic.
|
|
|
13
13
|
const DEFAULT_REMOTE_REPOSITORY = 'https://github.com/symbo-ls/default-config/'
|
|
14
14
|
const DEFAULT_REMOTE_CONFIG_PATH = 'https://raw.githubusercontent.com/symbo-ls/default-config/main/src/config.json'
|
|
15
15
|
|
|
16
|
-
const API_URL = 'https://api.symbols.
|
|
16
|
+
const API_URL = 'https://api.symbols.dev/' // eslint-disable-line
|
|
17
17
|
|
|
18
18
|
const pkg = loadModule(PACKAGE_PATH)
|
|
19
19
|
const rc_file = loadModule(RC_PATH) // eslint-disable-line
|
|
@@ -58,9 +58,10 @@ program
|
|
|
58
58
|
console.log('\n')
|
|
59
59
|
console.log(chalk.green.bold(packageName), 'successfuly added!')
|
|
60
60
|
console.log('')
|
|
61
|
-
console.log(chalk.dim('Now you can import components like:'), `import { Button } from
|
|
61
|
+
console.log(chalk.dim('Now you can import components like:'), `import { Button } from 'smbls`)
|
|
62
62
|
})
|
|
63
63
|
})
|
|
64
|
+
|
|
64
65
|
program
|
|
65
66
|
.command('fetch [destination]')
|
|
66
67
|
.description('Fetch symbols')
|
package/bin/index.js
CHANGED
package/bin/link-all.js
CHANGED
|
@@ -1,21 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import { sync } from '@symbo.ls/socket'
|
|
4
3
|
import { program } from './program.js'
|
|
5
|
-
import { loadModule } from './require.js'
|
|
6
|
-
|
|
7
|
-
const RC_PATH = process.cwd() + '/symbols.json'
|
|
8
|
-
let rc = {}
|
|
9
|
-
try {
|
|
10
|
-
rc = loadModule(RC_PATH) // eslint-disable-line
|
|
11
|
-
} catch (e) { console.error('Please include symbols.json to your root of respository') }
|
|
12
4
|
|
|
13
5
|
program
|
|
14
6
|
.command('link-all')
|
|
15
7
|
.description('Symlink all smbls dependencies')
|
|
16
8
|
.action(async (options) => {
|
|
17
|
-
|
|
18
|
-
const opts = { ...data, ...options }
|
|
19
|
-
sync(null, opts)
|
|
20
|
-
})
|
|
9
|
+
//
|
|
21
10
|
})
|
package/bin/sync.js
CHANGED
|
@@ -4,8 +4,6 @@ import * as asd from '@symbo.ls/socket/client.js'
|
|
|
4
4
|
import { program } from './program.js'
|
|
5
5
|
import { loadModule } from './require.js'
|
|
6
6
|
|
|
7
|
-
console.log(asd)
|
|
8
|
-
|
|
9
7
|
const RC_PATH = process.cwd() + '/symbols.json'
|
|
10
8
|
let rc = {}
|
|
11
9
|
try {
|
|
@@ -21,7 +19,6 @@ program
|
|
|
21
19
|
rc.then(data => {
|
|
22
20
|
const opts = { ...data, ...options }
|
|
23
21
|
const key = rc.key || options.key
|
|
24
|
-
console.log(opts)
|
|
25
22
|
asd.connect(key, {
|
|
26
23
|
socketUrl: 'socket.symbols.app',
|
|
27
24
|
onConnect: (id, socket) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@symbo.ls/cli",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.121",
|
|
4
4
|
"description": "Fetch your Symbols configuration",
|
|
5
5
|
"main": "bin/fetch.js",
|
|
6
6
|
"author": "Symbols",
|
|
@@ -18,10 +18,14 @@
|
|
|
18
18
|
"@symbo.ls/init": "latest",
|
|
19
19
|
"@symbo.ls/socket": "latest",
|
|
20
20
|
"chalk": "^5.0.0",
|
|
21
|
-
"commander": "
|
|
21
|
+
"commander": "latest",
|
|
22
22
|
"esbuild": "latest",
|
|
23
|
+
"jsdom": "^21.1.0",
|
|
23
24
|
"node-fetch": "^3.1.0",
|
|
24
25
|
"v8-compile-cache": "^2.3.0"
|
|
25
26
|
},
|
|
26
|
-
"
|
|
27
|
+
"standard": {
|
|
28
|
+
"parser": "babel-eslint"
|
|
29
|
+
},
|
|
30
|
+
"gitHead": "056cc9dcdadcc2022ec2b400eb1a8a3909d42380"
|
|
27
31
|
}
|