@qn-pandora/pandora-tools 2.0.11 → 2.0.13

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,102 +1,102 @@
1
- const fs = require('fs')
2
- const path = require('path')
3
-
4
- const projectConfigFile = path.join(__dirname, '../project.json')
5
-
6
- let isStorybookContext = true
7
-
8
- function initBuildContext() {
9
- initContext('build')
10
- }
11
-
12
- function initStorybookContext() {
13
- initContext('storybook')
14
- }
15
-
16
- function initContext(context) {
17
- if (context === 'build') {
18
- isStorybookContext = false
19
- }
20
-
21
- if (isStorybookContext) {
22
- const projectRoot = process.cwd()
23
- let data = {}
24
- try {
25
- data = getProjectConfig()
26
- } catch (e) {
27
- // do nothing
28
- }
29
- console.log('[pandora tools] init storybook project root: ', projectRoot)
30
- setProjectConfig({ ...data, projectRoot })
31
- }
32
- }
33
-
34
- function getProjectConfig() {
35
- if (fs.existsSync(projectConfigFile)) {
36
- const raw = fs.readFileSync(projectConfigFile)
37
- return JSON.parse(raw)
38
- }
39
- return {}
40
- }
41
-
42
- function setProjectConfig(config) {
43
- fs.writeFileSync(projectConfigFile, JSON.stringify(config))
44
- }
45
-
46
- function getProjectRoot() {
47
- let projectRoot = process.cwd()
48
- if (isStorybookContext) {
49
- try {
50
- const config = getProjectConfig()
51
- projectRoot = config.projectRoot
52
- } catch (e) {
53
- // do nothing
54
- }
55
- }
56
- return projectRoot
57
- }
58
-
59
- function getProjectPath(pathStr) {
60
- const projectRoot = getProjectRoot()
61
- return path.resolve(projectRoot, pathStr)
62
- }
63
-
64
- function getConfig(pathStr) {
65
- const configPath = getProjectPath(pathStr)
66
- if (fs.existsSync(configPath)) {
67
- return require(configPath)
68
- }
69
-
70
- return {}
71
- }
72
-
73
- function getToolsConfig(pathStr) {
74
- const toolsConfig = getConfig(pathStr || '.pandora-tools.config.js')
75
- return Object.assign(
76
- {
77
- srcDir: './src',
78
- esmDir: './es',
79
- libDir: './lib',
80
- mainFileName: 'index'
81
- },
82
- toolsConfig
83
- )
84
- }
85
-
86
- function getWebpackConfig(pathStr) {
87
- return getConfig(pathStr || 'webpack.config.js')
88
- }
89
-
90
- function getPackageJSON() {
91
- return getConfig('package.json')
92
- }
93
-
94
- module.exports = {
95
- initBuildContext,
96
- initStorybookContext,
97
- getProjectRoot,
98
- getProjectPath,
99
- getToolsConfig,
100
- getWebpackConfig,
101
- getPackageJSON
102
- }
1
+ const fs = require('fs')
2
+ const path = require('path')
3
+
4
+ const projectConfigFile = path.join(__dirname, '../project.json')
5
+
6
+ let isStorybookContext = true
7
+
8
+ function initBuildContext() {
9
+ initContext('build')
10
+ }
11
+
12
+ function initStorybookContext() {
13
+ initContext('storybook')
14
+ }
15
+
16
+ function initContext(context) {
17
+ if (context === 'build') {
18
+ isStorybookContext = false
19
+ }
20
+
21
+ if (isStorybookContext) {
22
+ const projectRoot = process.cwd()
23
+ let data = {}
24
+ try {
25
+ data = getProjectConfig()
26
+ } catch (e) {
27
+ // do nothing
28
+ }
29
+ console.log('[pandora tools] init storybook project root: ', projectRoot)
30
+ setProjectConfig({ ...data, projectRoot })
31
+ }
32
+ }
33
+
34
+ function getProjectConfig() {
35
+ if (fs.existsSync(projectConfigFile)) {
36
+ const raw = fs.readFileSync(projectConfigFile)
37
+ return JSON.parse(raw)
38
+ }
39
+ return {}
40
+ }
41
+
42
+ function setProjectConfig(config) {
43
+ fs.writeFileSync(projectConfigFile, JSON.stringify(config))
44
+ }
45
+
46
+ function getProjectRoot() {
47
+ let projectRoot = process.cwd()
48
+ if (isStorybookContext) {
49
+ try {
50
+ const config = getProjectConfig()
51
+ projectRoot = config.projectRoot
52
+ } catch (e) {
53
+ // do nothing
54
+ }
55
+ }
56
+ return projectRoot
57
+ }
58
+
59
+ function getProjectPath(pathStr) {
60
+ const projectRoot = getProjectRoot()
61
+ return path.resolve(projectRoot, pathStr)
62
+ }
63
+
64
+ function getConfig(pathStr) {
65
+ const configPath = getProjectPath(pathStr)
66
+ if (fs.existsSync(configPath)) {
67
+ return require(configPath)
68
+ }
69
+
70
+ return {}
71
+ }
72
+
73
+ function getToolsConfig(pathStr) {
74
+ const toolsConfig = getConfig(pathStr || '.pandora-tools.config.js')
75
+ return Object.assign(
76
+ {
77
+ srcDir: './src',
78
+ esmDir: './es',
79
+ libDir: './lib',
80
+ mainFileName: 'index'
81
+ },
82
+ toolsConfig
83
+ )
84
+ }
85
+
86
+ function getWebpackConfig(pathStr) {
87
+ return getConfig(pathStr || 'webpack.config.js')
88
+ }
89
+
90
+ function getPackageJSON() {
91
+ return getConfig('package.json')
92
+ }
93
+
94
+ module.exports = {
95
+ initBuildContext,
96
+ initStorybookContext,
97
+ getProjectRoot,
98
+ getProjectPath,
99
+ getToolsConfig,
100
+ getWebpackConfig,
101
+ getPackageJSON
102
+ }
@@ -1,6 +1,6 @@
1
- const rimraf = require('rimraf')
2
-
3
- module.exports = function(dir) {
4
- rimraf.sync(dir)
5
- return Promise.resolve()
6
- }
1
+ const rimraf = require('rimraf')
2
+
3
+ module.exports = function(dir) {
4
+ rimraf.sync(dir)
5
+ return Promise.resolve()
6
+ }
package/src/tasks/less.js CHANGED
@@ -1,64 +1,64 @@
1
- const gulp = require('gulp')
2
- const gulpLess = require('gulp-less')
3
- const path = require('path')
4
- const fs = require('fs')
5
- const through2 = require('through2')
6
- const LessAutoprefix = require('less-plugin-autoprefix')
7
-
8
- const autoprefix = new LessAutoprefix({ browsers: ['last 2 versions'] })
9
-
10
- function copyLess(srcDir, outDir) {
11
- const imports = []
12
- return new Promise(function (resolve, reject) {
13
- gulp
14
- .src(`${srcDir}/**/*.less`)
15
- .on('error', reject)
16
- .pipe(
17
- through2.obj(function (file, _, next) {
18
- this.push(file)
19
- const filePath = path.relative(outDir, file.path)
20
- imports.push(`@import './${filePath}';`)
21
- next()
22
- })
23
- )
24
- .on('error', reject)
25
- .pipe(gulp.dest(outDir))
26
- .on('error', reject)
27
- .on('finish', function () {
28
- if (imports.length === 0) {
29
- return
30
- }
31
- // when copy finish write root index.less
32
- fs.writeFileSync(
33
- path.resolve(outDir, 'index.less'),
34
- imports.join('\n'),
35
- 'utf8'
36
- )
37
- resolve()
38
- })
39
- })
40
- }
41
-
42
- function compileLess(srcDir, outDir) {
43
- return new Promise((resolve, reject) => {
44
- gulp
45
- .src(`${srcDir}/**/*.less`)
46
- .on('error', reject)
47
- .pipe(
48
- gulpLess({
49
- paths: [srcDir, 'node_modules'],
50
- plugins: [autoprefix],
51
- javascriptEnabled: true
52
- })
53
- )
54
- .on('error', reject)
55
- .pipe(gulp.dest(outDir))
56
- .on('error', reject)
57
- .on('finish', resolve)
58
- })
59
- }
60
-
61
- module.exports = async function (srcDir, outDir) {
62
- await copyLess(srcDir, outDir)
63
- await compileLess(outDir, outDir)
64
- }
1
+ const gulp = require('gulp')
2
+ const gulpLess = require('gulp-less')
3
+ const path = require('path')
4
+ const fs = require('fs')
5
+ const through2 = require('through2')
6
+ const LessAutoprefix = require('less-plugin-autoprefix')
7
+
8
+ const autoprefix = new LessAutoprefix({ browsers: ['last 2 versions'] })
9
+
10
+ function copyLess(srcDir, outDir) {
11
+ const imports = []
12
+ return new Promise(function (resolve, reject) {
13
+ gulp
14
+ .src(`${srcDir}/**/*.less`)
15
+ .on('error', reject)
16
+ .pipe(
17
+ through2.obj(function (file, _, next) {
18
+ this.push(file)
19
+ const filePath = path.relative(outDir, file.path)
20
+ imports.push(`@import './${filePath}';`)
21
+ next()
22
+ })
23
+ )
24
+ .on('error', reject)
25
+ .pipe(gulp.dest(outDir))
26
+ .on('error', reject)
27
+ .on('finish', function () {
28
+ if (imports.length === 0) {
29
+ return
30
+ }
31
+ // when copy finish write root index.less
32
+ fs.writeFileSync(
33
+ path.resolve(outDir, 'index.less'),
34
+ imports.join('\n'),
35
+ 'utf8'
36
+ )
37
+ resolve()
38
+ })
39
+ })
40
+ }
41
+
42
+ function compileLess(srcDir, outDir) {
43
+ return new Promise((resolve, reject) => {
44
+ gulp
45
+ .src(`${srcDir}/**/*.less`)
46
+ .on('error', reject)
47
+ .pipe(
48
+ gulpLess({
49
+ paths: [srcDir, 'node_modules'],
50
+ plugins: [autoprefix],
51
+ javascriptEnabled: true
52
+ })
53
+ )
54
+ .on('error', reject)
55
+ .pipe(gulp.dest(outDir))
56
+ .on('error', reject)
57
+ .on('finish', resolve)
58
+ })
59
+ }
60
+
61
+ module.exports = async function (srcDir, outDir) {
62
+ await copyLess(srcDir, outDir)
63
+ await compileLess(outDir, outDir)
64
+ }
package/src/tasks/ts.js CHANGED
@@ -1,54 +1,54 @@
1
- const path = require('path')
2
- const gulp = require('gulp')
3
- const tsGulp = require('gulp-typescript')
4
- const merge = require('merge2')
5
-
6
- module.exports = function(projectDir, outDir, extraTsConfig) {
7
- const tsProject = tsGulp.createProject(
8
- path.resolve(projectDir, 'tsconfig.json'),
9
- extraTsConfig
10
- )
11
- const tsResult = tsProject.src().pipe(tsProject())
12
- return merge([
13
- tsResult.js.pipe(gulp.dest(outDir)),
14
- tsResult.dts.pipe(gulp.dest(outDir))
15
- ])
16
- }
17
-
18
- /* function compileByWebpack(done) {
19
- rimraf.sync(distDir)
20
- process.env.RUN_ENV = 'PRODUCTION'
21
- webpack(getWebpackConfig(), (err, stats) => {
22
- if (err) {
23
- console.error(err.stack || err)
24
- if (err.details) {
25
- console.error(err.details)
26
- }
27
- return
28
- }
29
-
30
- const info = stats.toJson()
31
-
32
- if (stats.hasErrors()) {
33
- console.error(info.errors)
34
- }
35
-
36
- if (stats.hasWarnings()) {
37
- console.warn(info.warnings)
38
- }
39
-
40
- const buildInfo = stats.toString({
41
- colors: true,
42
- children: true,
43
- chunks: false,
44
- modules: false,
45
- chunkModules: false,
46
- hash: false,
47
- version: false
48
- })
49
- console.log(buildInfo)
50
-
51
- done(0)
52
- })
53
- }
54
- gulp.task('compileTs:dist', compileByWebpack)*/
1
+ const path = require('path')
2
+ const gulp = require('gulp')
3
+ const tsGulp = require('gulp-typescript')
4
+ const merge = require('merge2')
5
+
6
+ module.exports = function(projectDir, outDir, extraTsConfig) {
7
+ const tsProject = tsGulp.createProject(
8
+ path.resolve(projectDir, 'tsconfig.json'),
9
+ extraTsConfig
10
+ )
11
+ const tsResult = tsProject.src().pipe(tsProject())
12
+ return merge([
13
+ tsResult.js.pipe(gulp.dest(outDir)),
14
+ tsResult.dts.pipe(gulp.dest(outDir))
15
+ ])
16
+ }
17
+
18
+ /* function compileByWebpack(done) {
19
+ rimraf.sync(distDir)
20
+ process.env.RUN_ENV = 'PRODUCTION'
21
+ webpack(getWebpackConfig(), (err, stats) => {
22
+ if (err) {
23
+ console.error(err.stack || err)
24
+ if (err.details) {
25
+ console.error(err.details)
26
+ }
27
+ return
28
+ }
29
+
30
+ const info = stats.toJson()
31
+
32
+ if (stats.hasErrors()) {
33
+ console.error(info.errors)
34
+ }
35
+
36
+ if (stats.hasWarnings()) {
37
+ console.warn(info.warnings)
38
+ }
39
+
40
+ const buildInfo = stats.toString({
41
+ colors: true,
42
+ children: true,
43
+ chunks: false,
44
+ modules: false,
45
+ chunkModules: false,
46
+ hash: false,
47
+ version: false
48
+ })
49
+ console.log(buildInfo)
50
+
51
+ done(0)
52
+ })
53
+ }
54
+ gulp.task('compileTs:dist', compileByWebpack)*/