UNPKG

1.7 kBJavaScriptView Raw
1const fs = require('fs')
2const path = require('path')
3
4exports.identity = _ => _
5
6let pkg = {}
7
8try {
9 pkg = require(path.resolve('package.json'))
10} catch (e) {}
11
12exports.isMonorepo =
13 fs.existsSync(path.resolve('lerna.json')) || !!pkg.workspaces
14
15try {
16 const pkgs = path.resolve('packages')
17 exports.allowModules =
18 exports.isMonorepo &&
19 fs.readdirSync(pkgs).reduce((acc, pkg) => {
20 const pkgJson = path.resolve(pkgs, pkg, 'package.json')
21 return fs.existsSync(pkgJson) ? acc.concat(require(pkgJson).name) : acc
22 }, [])
23} catch (e) {}
24
25try {
26 exports.isSrcDirAvailable = fs.statSync(path.resolve('src')).isDirectory()
27} catch (e) {}
28
29try {
30 exports.isSrcAppDirAvailable = fs
31 .statSync(path.resolve('src/app'))
32 .isDirectory()
33} catch (e) {}
34
35try {
36 // eslint-disable-next-line node/no-extraneous-require
37 require.resolve('@angular/core')
38 exports.isNgAvailable = true
39} catch (e) {}
40
41try {
42 // eslint-disable-next-line node/no-extraneous-require
43 require.resolve('webpack')
44 exports.isWebpackAvailable = true
45} catch (e) {}
46
47// https://webpack.js.org/api/module-variables/#__resourcequery-webpack-specific
48exports.webpackSpecVars = [
49 '__resourceQuery',
50 '__non_webpack_require__',
51 '__webpack_chunk_load__',
52 '__webpack_hash__',
53 '__webpack_modules__',
54 '__webpack_public_path__',
55 '__webpack_require__',
56 'DEBUG',
57]
58
59try {
60 // eslint-disable-next-line node/no-extraneous-require
61 require.resolve('browserslist')
62 exports.isBrowserslistEnabled = pkg.devDependencies.browserslist
63} catch (e) {}
64
65exports.magicNumbers = [
66 -1,
67 0,
68 1,
69 2,
70 5,
71 7,
72 10,
73 12,
74 15,
75 20,
76 24,
77 30,
78 50,
79 60,
80 100,
81 365,
82 500,
83 1000,
84 1024,
85 3600,
86]