@sequencemedia/minimserver 1.2.0 → 1.2.1
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/.husky/pre-commit +4 -0
- package/build/gulp/pre-commit.mjs +86 -0
- package/gulpfile.mjs +9 -0
- package/package.json +10 -4
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import debug from 'debug'
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
exec
|
|
5
|
+
} from 'child_process'
|
|
6
|
+
|
|
7
|
+
const log = debug('@sequencemedia/minimserver:build:gulp:pre-commit')
|
|
8
|
+
|
|
9
|
+
log('`@sequencemedia/minimserver` is awake')
|
|
10
|
+
|
|
11
|
+
const PACKAGE_VERSION_CHANGES = /\-+\s+"version":\s+"(\d+\.\d+\.\d+)",+\s+\++\s+"version":\s+"(\d+\.\d+\.\d+)",+\s+/ /* eslint-disable-line no-useless-escape */
|
|
12
|
+
|
|
13
|
+
const HAS_STAGED_CHANGES = /Changes to be committed/s
|
|
14
|
+
|
|
15
|
+
const NOT_STAGED_CHANGES = /Changes not staged for commit/s
|
|
16
|
+
|
|
17
|
+
const OPTIONS = {
|
|
18
|
+
maxBuffer: 1024 * 500
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const hasPackageVersionChanges = () => (
|
|
22
|
+
new Promise((resolve, reject) => {
|
|
23
|
+
exec('git diff HEAD origin/master package.json', OPTIONS, (e, v) => (!e) ? resolve(PACKAGE_VERSION_CHANGES.test(v)) : reject(e))
|
|
24
|
+
})
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
export const notPackageVersionChanges = () => (
|
|
28
|
+
new Promise((resolve, reject) => {
|
|
29
|
+
exec('git diff HEAD origin/master package.json', OPTIONS, (e, v) => (!e) ? resolve(PACKAGE_VERSION_CHANGES.test(v) !== true) : reject(e))
|
|
30
|
+
})
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
export const hasStagedChanges = () => (
|
|
34
|
+
new Promise((resolve, reject) => {
|
|
35
|
+
exec('git status', OPTIONS, (e, v) => (!e) ? resolve(HAS_STAGED_CHANGES.test(v)) : reject(e))
|
|
36
|
+
})
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
export const notStagedChanges = () => (
|
|
40
|
+
new Promise((resolve, reject) => {
|
|
41
|
+
exec('git status', OPTIONS, (e, v) => (!e) ? resolve(NOT_STAGED_CHANGES.test(v)) : reject(e))
|
|
42
|
+
})
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
export const notPushedChanges = () => (
|
|
46
|
+
new Promise((resolve, reject) => {
|
|
47
|
+
exec('git log origin/master..HEAD', OPTIONS, (e, v) => (!e) ? resolve(!!v) : reject(e))
|
|
48
|
+
})
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
export const patchPackageVersion = () => (
|
|
52
|
+
new Promise((resolve, reject) => {
|
|
53
|
+
exec('npm version patch -m %s -n --no-git-tag-version --no-verify', OPTIONS, (e) => (!e) ? resolve() : reject(e))
|
|
54
|
+
})
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
export const addPackageVersionChanges = () => (
|
|
58
|
+
new Promise((resolve, reject) => {
|
|
59
|
+
exec('git add package.json package-lock.json', OPTIONS, (e) => (!e) ? resolve() : reject(e))
|
|
60
|
+
})
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
export default async function preCommit () {
|
|
64
|
+
log('pre-commit')
|
|
65
|
+
|
|
66
|
+
try {
|
|
67
|
+
/**
|
|
68
|
+
* Not changes added, exit
|
|
69
|
+
*/
|
|
70
|
+
if (await notStagedChanges()) return
|
|
71
|
+
/**
|
|
72
|
+
* Has changes added, continue
|
|
73
|
+
*/
|
|
74
|
+
if (await hasStagedChanges()) {
|
|
75
|
+
/**
|
|
76
|
+
* Not package version changes, continue
|
|
77
|
+
*/
|
|
78
|
+
if (await notPackageVersionChanges()) {
|
|
79
|
+
await patchPackageVersion()
|
|
80
|
+
await addPackageVersionChanges()
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
} catch ({ code = 'NONE', message = 'No error message defined' }) {
|
|
84
|
+
log({ code, message })
|
|
85
|
+
}
|
|
86
|
+
}
|
package/gulpfile.mjs
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sequencemedia/minimserver",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "Watch for changes to M3Us and rescan MinimServer",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"minimserver",
|
|
@@ -32,7 +32,10 @@
|
|
|
32
32
|
"lint": "eslint . --ext .mjs --ext .cjs",
|
|
33
33
|
"lint:fix": "npm run lint -- --fix",
|
|
34
34
|
"start": "cross-env DEBUG=@sequencemedia/minimserver* NODE_ENV=production node .",
|
|
35
|
-
"dev": "cross-env DEBUG=@sequencemedia/minimserver* NODE_ENV=development node ."
|
|
35
|
+
"dev": "cross-env DEBUG=@sequencemedia/minimserver* NODE_ENV=development node .",
|
|
36
|
+
"gulp": "gulp --color",
|
|
37
|
+
"pre-commit": "npm run lint && npm run gulp -- pre-commit",
|
|
38
|
+
"prepare": "husky install"
|
|
36
39
|
},
|
|
37
40
|
"dependencies": {
|
|
38
41
|
"anymatch": "^3.1.2",
|
|
@@ -56,9 +59,12 @@
|
|
|
56
59
|
"eslint-config-standard": "^16.0.3",
|
|
57
60
|
"eslint-plugin-import": "^2.25.3",
|
|
58
61
|
"eslint-plugin-node": "^11.1.0",
|
|
59
|
-
"eslint-plugin-promise": "5.2.0"
|
|
62
|
+
"eslint-plugin-promise": "5.2.0",
|
|
63
|
+
"gulp": "^4.0.2",
|
|
64
|
+
"husky": "^7.0.4"
|
|
60
65
|
},
|
|
61
66
|
"imports": {
|
|
62
|
-
"#minimserver": "./src/index.mjs"
|
|
67
|
+
"#minimserver": "./src/index.mjs",
|
|
68
|
+
"#build/gulp/*": "./build/gulp/*.mjs"
|
|
63
69
|
}
|
|
64
70
|
}
|