Compare commits
104 Commits
Author | SHA1 | Date | |
---|---|---|---|
edcb1d114f | |||
3ba5685914 | |||
cb0f810201 | |||
94a5d3022e | |||
919fcfd9f5 | |||
660ffd8880 | |||
1744e9b338 | |||
b738a360cc | |||
0c703cb5c3 | |||
27ee7a532a | |||
29d439ce0d | |||
faa4bb88a8 | |||
a95319d99f | |||
e7c0e1228b | |||
9586f34d64 | |||
6300845ec8 | |||
2316a983ed | |||
a1fa6b751e | |||
5792a13b01 | |||
1008c3f103 | |||
c366bde211 | |||
e22c6764b7 | |||
50836eab06 | |||
077834f7a4 | |||
ca348b5475 | |||
2c9ab52cee | |||
7d35f4c90b | |||
|
a05253bdcd | ||
|
54b80098d2 | ||
c39a4a6cb0 | |||
f325479a11 | |||
c79f443c18 | |||
14bb4a90bb | |||
98a583bae1 | |||
848d9ac1e0 | |||
e7ccd9aec4 | |||
63bf7204dd | |||
a34a1b89fe | |||
f4455a9b91 | |||
1a01198d7f | |||
b3ec364a1d | |||
5d15c96511 | |||
f6e071156b | |||
63fe7c7423 | |||
c8dcdc0df4 | |||
743c7a03a5 | |||
f9e7bf450b | |||
b55a511fcb | |||
96c15cb90a | |||
0d772e8ab0 | |||
a324deb942 | |||
cb60bec110 | |||
291583b17a | |||
9d54da207f | |||
7aad993847 | |||
c208f04e23 | |||
54d8ef2576 | |||
8b891c74e4 | |||
1d8de68a66 | |||
a2b37a066d | |||
8a2c516274 | |||
e10c31c740 | |||
af68a92702 | |||
a8c3fa048a | |||
bea33fa29f | |||
739542bda1 | |||
63cf7091a1 | |||
04d7f9cf7e | |||
afc9fd122f | |||
a3dec7bb8a | |||
0e725c3fb4 | |||
6cd0ee78a3 | |||
b037dc99df | |||
27439d84cd | |||
ada13619d0 | |||
9ae1a40260 | |||
e19184e29b | |||
36e02502d0 | |||
75219a5474 | |||
8f0ecb3f4a | |||
ec18663137 | |||
a476cf8c99 | |||
5af3185742 | |||
81849dc5eb | |||
51b9088d3e | |||
375b43a11c | |||
5b0a1edaa4 | |||
855e9b48c8 | |||
99db113285 | |||
844812311e | |||
555c696a8e | |||
879248f049 | |||
bb607eca9b | |||
f094f80531 | |||
71bdcce41d | |||
5a9cd96bed | |||
0f659ad60a | |||
395cb7d8a2 | |||
6284fa71d1 | |||
c5ec5fc0f9 | |||
17aa25fb61 | |||
6e55ed3162 | |||
ac9305c480 | |||
a51419f2b0 |
66
.gitea/workflows/default_nottags.yaml
Normal file
66
.gitea/workflows/default_nottags.yaml
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
name: Default (not tags)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags-ignore:
|
||||||
|
- '**'
|
||||||
|
|
||||||
|
env:
|
||||||
|
IMAGE: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
||||||
|
NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@gitea.lossless.digital/${{gitea.repository}}.git
|
||||||
|
NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}}
|
||||||
|
NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}}
|
||||||
|
NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}}
|
||||||
|
NPMCI_URL_CLOUDLY: ${{secrets.NPMCI_URL_CLOUDLY}}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
security:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
continue-on-error: true
|
||||||
|
container:
|
||||||
|
image: ${{ env.IMAGE }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Install pnpm and npmci
|
||||||
|
run: |
|
||||||
|
pnpm install -g pnpm
|
||||||
|
pnpm install -g @shipzone/npmci
|
||||||
|
|
||||||
|
- name: Run npm prepare
|
||||||
|
run: npmci npm prepare
|
||||||
|
|
||||||
|
- name: Audit production dependencies
|
||||||
|
run: |
|
||||||
|
npmci command npm config set registry https://registry.npmjs.org
|
||||||
|
npmci command pnpm audit --audit-level=high --prod
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
- name: Audit development dependencies
|
||||||
|
run: |
|
||||||
|
npmci command npm config set registry https://registry.npmjs.org
|
||||||
|
npmci command pnpm audit --audit-level=high --dev
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
test:
|
||||||
|
if: ${{ always() }}
|
||||||
|
needs: security
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ${{ env.IMAGE }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Test stable
|
||||||
|
run: |
|
||||||
|
npmci node install stable
|
||||||
|
npmci npm install
|
||||||
|
npmci npm test
|
||||||
|
|
||||||
|
- name: Test build
|
||||||
|
run: |
|
||||||
|
npmci node install stable
|
||||||
|
npmci npm install
|
||||||
|
npmci npm build
|
124
.gitea/workflows/default_tags.yaml
Normal file
124
.gitea/workflows/default_tags.yaml
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
name: Default (tags)
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- '*'
|
||||||
|
|
||||||
|
env:
|
||||||
|
IMAGE: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
||||||
|
NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@gitea.lossless.digital/${{gitea.repository}}.git
|
||||||
|
NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}}
|
||||||
|
NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}}
|
||||||
|
NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}}
|
||||||
|
NPMCI_URL_CLOUDLY: ${{secrets.NPMCI_URL_CLOUDLY}}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
security:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
continue-on-error: true
|
||||||
|
container:
|
||||||
|
image: ${{ env.IMAGE }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Prepare
|
||||||
|
run: |
|
||||||
|
pnpm install -g pnpm
|
||||||
|
pnpm install -g @shipzone/npmci
|
||||||
|
npmci npm prepare
|
||||||
|
|
||||||
|
- name: Audit production dependencies
|
||||||
|
run: |
|
||||||
|
npmci command npm config set registry https://registry.npmjs.org
|
||||||
|
npmci command pnpm audit --audit-level=high --prod
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
- name: Audit development dependencies
|
||||||
|
run: |
|
||||||
|
npmci command npm config set registry https://registry.npmjs.org
|
||||||
|
npmci command pnpm audit --audit-level=high --dev
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
test:
|
||||||
|
if: ${{ always() }}
|
||||||
|
needs: security
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ${{ env.IMAGE }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Prepare
|
||||||
|
run: |
|
||||||
|
pnpm install -g pnpm
|
||||||
|
pnpm install -g @shipzone/npmci
|
||||||
|
npmci npm prepare
|
||||||
|
|
||||||
|
- name: Test stable
|
||||||
|
run: |
|
||||||
|
npmci node install stable
|
||||||
|
npmci npm install
|
||||||
|
npmci npm test
|
||||||
|
|
||||||
|
- name: Test build
|
||||||
|
run: |
|
||||||
|
npmci node install stable
|
||||||
|
npmci npm install
|
||||||
|
npmci npm build
|
||||||
|
|
||||||
|
release:
|
||||||
|
needs: test
|
||||||
|
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ${{ env.IMAGE }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Prepare
|
||||||
|
run: |
|
||||||
|
pnpm install -g pnpm
|
||||||
|
pnpm install -g @shipzone/npmci
|
||||||
|
npmci npm prepare
|
||||||
|
|
||||||
|
- name: Release
|
||||||
|
run: |
|
||||||
|
npmci node install stable
|
||||||
|
npmci npm publish
|
||||||
|
|
||||||
|
metadata:
|
||||||
|
needs: test
|
||||||
|
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: ${{ env.IMAGE }}
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Prepare
|
||||||
|
run: |
|
||||||
|
pnpm install -g pnpm
|
||||||
|
pnpm install -g @shipzone/npmci
|
||||||
|
npmci npm prepare
|
||||||
|
|
||||||
|
- name: Code quality
|
||||||
|
run: |
|
||||||
|
npmci command npm install -g typescript
|
||||||
|
npmci npm install
|
||||||
|
|
||||||
|
- name: Trigger
|
||||||
|
run: npmci trigger
|
||||||
|
|
||||||
|
- name: Build docs and upload artifacts
|
||||||
|
run: |
|
||||||
|
npmci node install stable
|
||||||
|
npmci npm install
|
||||||
|
pnpm install -g @git.zone/tsdoc
|
||||||
|
npmci command tsdoc
|
||||||
|
continue-on-error: true
|
24
.gitignore
vendored
24
.gitignore
vendored
@ -1,10 +1,20 @@
|
|||||||
node_modules/
|
.nogit/
|
||||||
.settings/
|
|
||||||
.idea/
|
# artifacts
|
||||||
coverage/
|
coverage/
|
||||||
|
public/
|
||||||
|
pages/
|
||||||
|
|
||||||
ts/*.js
|
# installs
|
||||||
ts/*.js.map
|
node_modules/
|
||||||
ts/typings/
|
|
||||||
test/result/
|
|
||||||
|
|
||||||
|
# caches
|
||||||
|
.yarn/
|
||||||
|
.cache/
|
||||||
|
.rpt2_cache
|
||||||
|
|
||||||
|
# builds
|
||||||
|
dist/
|
||||||
|
dist_*/
|
||||||
|
|
||||||
|
# custom
|
@ -1,3 +1,5 @@
|
|||||||
ts/
|
ts/
|
||||||
test/
|
test/
|
||||||
|
docs/
|
||||||
|
coverage/
|
||||||
node_modules/
|
node_modules/
|
||||||
|
14
.travis.yml
14
.travis.yml
@ -1,14 +0,0 @@
|
|||||||
language: node_js
|
|
||||||
node_js:
|
|
||||||
- 4.2.4
|
|
||||||
deploy:
|
|
||||||
provider: npm
|
|
||||||
email: npm@lossless.digital
|
|
||||||
api_key:
|
|
||||||
secure: TWN/oiICeNbAhGTbwf75FnKhXnIvyA66FhNF7C0jpjn2SChSgTANai87r0f9oU9ZP3307XdGHB+fTTCJnk3upNiBoWZnkV8skkAlseOY4mVzF9mS0ZEkxVR32FjJDWfqzv6hC+Y9qNDsGs2+Avsm6fQUOispLXYAk6VzSQC1HgIfyOJtIWT5LqEyXyT6oJIZ7xwt1CYcIeEpHUiAaPYsMEpwF5OBDFByVmNV38VdRGIBsoQd3lixso7/zOOgYvjR4b/onz5WzeWYlhzAuyzOnRGr1r/9eXAzzkYydvgFx3ix5OlrreKVFB6OtMpz4jmHdu9YDGT5bcvL2bSU2SGVQM5Bx8zZXkAxACQR8ZvWmPaWYAWCu9wrW5oovjqFUV0iR26z/sTABJqz4GaXf/vFcll2EdTfUT6xj2kCodfxljaudjPUF27FSt1UJBC7jQky08wHb6+onrE8WoQXteIE2oxtHWEGOlV/GAz0+q4ih0bdOSKfThmux0iEFmeF16sWH9UdL2jBBKuus+fBPdhA3V6uwYQtsCAurhquQLISkf7kT3KujdLS302bEbkut+D1Kd22IYA1J0wYd87th88TZHx7wgQyC+8lVHG+B1R20xGLxyHVEOfyZtChfBRdn53EcUiA2XriJbfiIym4dAMUtOg2iRJamHAL7jebQEUu7oA=
|
|
||||||
on:
|
|
||||||
tags: true
|
|
||||||
repo: pushrocks/gulp-function
|
|
||||||
notifications:
|
|
||||||
slack:
|
|
||||||
secure: Bb8P3fboL52CugSsp0RhOkGCeWVbgjb+QDpnMHdSOa0Nequj8V4kvrzBLZOBOjaSB0/gMvdoB4Slv2bls1dAxXW1IX1DdRb3RLMKj/Owje7eTd4IoUuSs49y6/yEkVK+E1wicdwjlMmvsk8fQE/owDRMRXYoXxhN2ZOVSQvAQ3iBO0eokFvWO7yj/VSxKoITymCXA3LfyzXXUuhvxuQd3BPZCe25xa6GWuHtaa5fbJg17pp8jJX6VZYLSRcSYyJxMU8SLdkrOsQZKj0+/Yfpu7XTmPbqxjNapuE7Zm70mi+aB26IQCnmwkdcEQNJVxQOKoP2+/ZnDfcTLQROwH1PJVzol0hneH6DdOlWt9bvBJcUvFRwaDgIb5xXQV8bGsRe5ayE/4MgCgfvdBTvevu6n12fmPx74prIv4pOPMwlALjjP8XavGL4A6amOuV7fJiSyGAku8aUe1rlUXyfoHJswMyOfkIsvnGDE3eEfq1WUIjn8tW1ZozJyoCTAIh6IHPI3Nsg3LkTRvDHPYq25/xCKWxGb2OaJc3JeqVREqm0auDqj6HoVAi/mW/uyvwX9jEVX8fNoQ69ac5VUMFfn2Mx3sU6aHKgZe/tdrtql6NYtIA+g5/ZDnHE1mnbl6MfrYiKwRbrICH5v/u1xK+4+yh09BUqazi3PzOhyTRfba/gRUg=
|
|
11
.vscode/launch.json
vendored
Normal file
11
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"command": "npm test",
|
||||||
|
"name": "Run npm test",
|
||||||
|
"request": "launch",
|
||||||
|
"type": "node-terminal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
26
.vscode/settings.json
vendored
Normal file
26
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"json.schemas": [
|
||||||
|
{
|
||||||
|
"fileMatch": ["/npmextra.json"],
|
||||||
|
"schema": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"npmci": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "settings for npmci"
|
||||||
|
},
|
||||||
|
"gitzone": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "settings for gitzone",
|
||||||
|
"properties": {
|
||||||
|
"projectType": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": ["website", "element", "service", "npm", "wcc"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2015 Push.Rocks
|
Copyright (c) 2015 Lossless GmbH
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
28
README.md
28
README.md
@ -1,28 +0,0 @@
|
|||||||
# gulp-function
|
|
||||||
accepts call to execute in gulp pipeline.
|
|
||||||
|
|
||||||
### Status
|
|
||||||
[](https://travis-ci.org/pushrocks/gulp-function)
|
|
||||||
[](https://david-dm.org/pushrocks/gulp-function)
|
|
||||||
[](https://david-dm.org/pushrocks/gulp-function#info=devDependencies)
|
|
||||||
[](https://www.bithound.io/github/pushrocks/gulp-function)
|
|
||||||
[](https://coveralls.io/github/pushrocks/gulp-function?branch=master)
|
|
||||||
|
|
||||||
### Usage
|
|
||||||
```javascript
|
|
||||||
var gulp = require("gulp");
|
|
||||||
var gulpFunction = require("gulp-function");
|
|
||||||
|
|
||||||
var myFunction = function () {
|
|
||||||
console.log("Hello World!")
|
|
||||||
}
|
|
||||||
|
|
||||||
gulp.task('gulpTest',function() {
|
|
||||||
gulp.src('./mydir/*.something')
|
|
||||||
.pipe(gulpFunction(myFunction,'forEach')) //read the notes below
|
|
||||||
.pipe(gulp.dest("./build/"))
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
>Note: The first argument of gulpFunction can also be an array of multiple functionnames.
|
|
||||||
>Note: the second argument can be empty (defaults to 'forEach') or 'atEnd'
|
|
4
index.d.ts
vendored
4
index.d.ts
vendored
@ -1,4 +0,0 @@
|
|||||||
/// <reference path="ts/typings/main.d.ts" />
|
|
||||||
declare var through: any;
|
|
||||||
declare var path: any;
|
|
||||||
declare var beautylog: any;
|
|
41
index.js
41
index.js
@ -1,41 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
|
|
||||||
/// <reference path="typings/main.d.ts" />
|
|
||||||
var through = require("through2");
|
|
||||||
var path = require("path");
|
|
||||||
var beautylog = require("beautylog");
|
|
||||||
module.exports = function (functionsToExecuteArg, executionModeArg) {
|
|
||||||
if (executionModeArg === void 0) { executionModeArg = 'forEach'; }
|
|
||||||
//important vars
|
|
||||||
var gulpFunction = {
|
|
||||||
executionMode: executionModeArg,
|
|
||||||
functionsToExecute: functionsToExecuteArg
|
|
||||||
};
|
|
||||||
var runFunctionNames = function () {
|
|
||||||
if (typeof gulpFunction.functionsToExecute === "function") {
|
|
||||||
gulpFunction.functionsToExecute();
|
|
||||||
}
|
|
||||||
else if (Array.isArray(gulpFunction.functionsToExecute)) {
|
|
||||||
for (var anyFunction in gulpFunction.functionsToExecute) {
|
|
||||||
gulpFunction.functionsToExecute[anyFunction]();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
beautylog.error('gulp-callfunction: something is strange with the given arguments');
|
|
||||||
}
|
|
||||||
};
|
|
||||||
var forEach = function (file, enc, cb) {
|
|
||||||
if (gulpFunction.executionMode === 'forEach') {
|
|
||||||
runFunctionNames();
|
|
||||||
}
|
|
||||||
//tell gulp that we are complete
|
|
||||||
return cb(null, file);
|
|
||||||
};
|
|
||||||
var atEnd = function (cb) {
|
|
||||||
if (gulpFunction.executionMode === "atEnd") {
|
|
||||||
runFunctionNames();
|
|
||||||
}
|
|
||||||
cb();
|
|
||||||
};
|
|
||||||
return through.obj(forEach, atEnd);
|
|
||||||
};
|
|
34
npmextra.json
Normal file
34
npmextra.json
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"npmts": {
|
||||||
|
"mode": "default"
|
||||||
|
},
|
||||||
|
"npmci": {
|
||||||
|
"npmGlobalTools": [],
|
||||||
|
"npmAccessLevel": "public"
|
||||||
|
},
|
||||||
|
"gitzone": {
|
||||||
|
"projectType": "npm",
|
||||||
|
"module": {
|
||||||
|
"githost": "code.foss.global",
|
||||||
|
"gitscope": "push.rocks",
|
||||||
|
"gitrepo": "gulp-function",
|
||||||
|
"description": "A Gulp plugin to execute functions within a Gulp task pipeline.",
|
||||||
|
"npmPackagename": "@push.rocks/gulp-function",
|
||||||
|
"license": "MIT",
|
||||||
|
"keywords": [
|
||||||
|
"gulp",
|
||||||
|
"plugin",
|
||||||
|
"task automation",
|
||||||
|
"stream manipulation",
|
||||||
|
"async function execution",
|
||||||
|
"pipeline",
|
||||||
|
"build tool",
|
||||||
|
"JavaScript",
|
||||||
|
"TypeScript"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tsdoc": {
|
||||||
|
"legal": "\n## License and Legal Information\n\nThis repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository. \n\n**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.\n\n### Trademarks\n\nThis project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.\n\n### Company Information\n\nTask Venture Capital GmbH \nRegistered at District court Bremen HRB 35230 HB, Germany\n\nFor any legal inquiries or if you require further information, please contact us via email at hello@task.vc.\n\nBy using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.\n"
|
||||||
|
}
|
||||||
|
}
|
66
package.json
66
package.json
@ -1,35 +1,63 @@
|
|||||||
{
|
{
|
||||||
"name": "gulp-function",
|
"name": "@push.rocks/gulp-function",
|
||||||
"version": "1.0.3",
|
"private": false,
|
||||||
"description": "accepts a function call as parameter to execute in gulp pipeline",
|
"version": "3.0.7",
|
||||||
"main": "index.js",
|
"description": "A Gulp plugin to execute functions within a Gulp task pipeline.",
|
||||||
|
"main": "dist_ts/index.js",
|
||||||
|
"typings": "dist_ts/index.d.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "(npmts)",
|
"test": "(tstest test/)",
|
||||||
"reinstall": "(rm -r node_modules && npm install)",
|
"build": "(tsbuild --allowimplicitany)",
|
||||||
"release": "(git pull origin master && npm version patch && git push origin master && git checkout release && git merge master && git push origin release && git checkout master)",
|
"buildDocs": "tsdoc"
|
||||||
"startdev": "(git checkout master && git pull origin master)"
|
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/pushrocks/gulp-function.git"
|
"url": "https://code.foss.global/push.rocks/gulp-function.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"gulpplugin",
|
|
||||||
"gulp",
|
"gulp",
|
||||||
"function"
|
"plugin",
|
||||||
|
"task automation",
|
||||||
|
"stream manipulation",
|
||||||
|
"async function execution",
|
||||||
|
"pipeline",
|
||||||
|
"build tool",
|
||||||
|
"JavaScript",
|
||||||
|
"TypeScript"
|
||||||
],
|
],
|
||||||
"author": "Smart Coordination GmbH <office@push.rocks> (https://push.rocks)",
|
"author": "Lossless GmbH <office@lossless.com> (https://lossless.com)",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/pushrocks/gulp-function/issues"
|
"url": "https://gitlab.com/push.rocks/gulp-function/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/pushrocks/gulp-function",
|
"homepage": "https://code.foss.global/push.rocks/gulp-function",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"beautylog": "2.1.1",
|
"@push.rocks/smartpromise": "^4.0.3",
|
||||||
"through2": "2.0.1"
|
"@types/through2": "^2.0.32",
|
||||||
|
"through2": "^3.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"gulp": "^3.9.1",
|
"@git.zone/tsbuild": "^2.1.17",
|
||||||
"npmts": "^2.2.3"
|
"@git.zone/tsrun": "^1.2.46",
|
||||||
}
|
"@git.zone/tstest": "^1.0.28",
|
||||||
|
"@push.rocks/smartgulp": "^3.0.3",
|
||||||
|
"@push.rocks/tapbundle": "^5.0.15",
|
||||||
|
"gulp": "^4.0.2"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"ts/**/*",
|
||||||
|
"ts_web/**/*",
|
||||||
|
"dist/**/*",
|
||||||
|
"dist_*/**/*",
|
||||||
|
"dist_ts/**/*",
|
||||||
|
"dist_ts_web/**/*",
|
||||||
|
"assets/**/*",
|
||||||
|
"cli.js",
|
||||||
|
"npmextra.json",
|
||||||
|
"readme.md"
|
||||||
|
],
|
||||||
|
"type": "module",
|
||||||
|
"browserslist": [
|
||||||
|
"last 1 chrome versions"
|
||||||
|
]
|
||||||
}
|
}
|
7617
pnpm-lock.yaml
generated
Normal file
7617
pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load Diff
1
readme.hints.md
Normal file
1
readme.hints.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
|
106
readme.md
Normal file
106
readme.md
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
# @push.rocks/gulp-function
|
||||||
|
|
||||||
|
[@push.rocks/gulp-function](https://www.npmjs.com/package/@push.rocks/gulp-function) is a Gulp plugin designed to execute custom functions within a Gulp pipeline. It accepts a function call as a parameter and allows for flexible task executions, including asynchronous tasks, with easy integration into the Gulp workflow.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
To use @push.rocks/gulp-function in your project, you'll first need to install it via npm. You can do this by running the following command in your project's root directory:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm install @push.rocks/gulp-function --save-dev
|
||||||
|
```
|
||||||
|
|
||||||
|
This command will add `@push.rocks/gulp-function` as a development dependency to your project, making it available for use in your Gulp tasks.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
The primary use case for `@push.rocks/gulp-function` is to incorporate custom function executions into your Gulp pipelines. This can be particularly useful for tasks that require conditional processing, external API calls, or any other logic that extends beyond the capabilities of existing Gulp plugins.
|
||||||
|
|
||||||
|
Here's how you can use `@push.rocks/gulp-function` within your Gulp setup:
|
||||||
|
|
||||||
|
### Basic Example
|
||||||
|
|
||||||
|
Let's start with a simple scenario where you want to log the path of files processed by Gulp.
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import gulp from 'gulp';
|
||||||
|
import gulpFunction, { forEach } from '@push.rocks/gulp-function';
|
||||||
|
|
||||||
|
const logFilePath = async (file: Buffer, enc: string) => {
|
||||||
|
console.log(`Processing file: ${file.path}`);
|
||||||
|
};
|
||||||
|
|
||||||
|
gulp.task('log', () => {
|
||||||
|
return gulp.src('./src/**/*.ts')
|
||||||
|
.pipe(forEach(logFilePath))
|
||||||
|
.pipe(gulp.dest('./dist'));
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
In this example, we're using the `forEach` method exported by `@push.rocks/gulp-function` to execute `logFilePath` for each file matched by `gulp.src`. The file's path is logged to the console during the build process.
|
||||||
|
|
||||||
|
### Advanced Use Case: Asynchronous Function Execution
|
||||||
|
|
||||||
|
`@push.rocks/gulp-function` truly shines when you need to perform asynchronous operations within your Gulp tasks. Here's an example that demonstrates making an asynchronous API call for each file:
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
import gulp from 'gulp';
|
||||||
|
import gulpFunction, { forEach } from '@push.rocks/gulp-function';
|
||||||
|
import axios from 'axios';
|
||||||
|
|
||||||
|
const uploadFileToServer = async (file: Buffer, enc: string) => {
|
||||||
|
const formData = new FormData();
|
||||||
|
formData.append('file', file.contents, file.relative);
|
||||||
|
|
||||||
|
await axios.post('https://example.com/upload', formData, {
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'multipart/form-data'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(`Uploaded file: ${file.path}`);
|
||||||
|
};
|
||||||
|
|
||||||
|
gulp.task('uploadFiles', () => {
|
||||||
|
return gulp.src('./uploads/**/*')
|
||||||
|
.pipe(forEach(uploadFileToServer))
|
||||||
|
.pipe(gulp.dest('./dist/uploads'));
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
In this more advanced example, we use the `forEach` method to upload each file to a remote server using `axios`. The function `uploadFileToServer` is executed for each file, where an HTTP POST request is made to upload the file. This shows how you can integrate asynchronous operations seamlessly into your Gulp pipeline.
|
||||||
|
|
||||||
|
### Execution Modes
|
||||||
|
|
||||||
|
`@push.rocks/gulp-function` supports three execution modes for your functions: `forEach`, `forFirst`, and `atEnd`.
|
||||||
|
|
||||||
|
- **forEach**: Executes the provided function for each file in the stream.
|
||||||
|
- **forFirst**: Executes the provided function only for the first file that passes through the stream.
|
||||||
|
- **atEnd**: Executes the provided function once after all files have passed through the stream.
|
||||||
|
|
||||||
|
These modes provide flexibility in determining when your custom functions should be triggered during the build process.
|
||||||
|
|
||||||
|
### Conclusion
|
||||||
|
|
||||||
|
`@push.rocks/gulp-function` is a powerful tool for integrating custom processing logic into Gulp workflows. Whether you need to execute simple synchronous tasks or complex asynchronous operations, `@push.rocks/gulp-function` offers the flexibility and ease of use to enhance your Gulp builds significantly.
|
||||||
|
|
||||||
|
Remember, the examples provided are starting points. The real power of `@push.rocks/gulp-function` lies in its ability to adapt to your specific use cases, enabling you to automate and streamline your build processes as never before.
|
||||||
|
|
||||||
|
## License and Legal Information
|
||||||
|
|
||||||
|
This repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository.
|
||||||
|
|
||||||
|
**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
### Trademarks
|
||||||
|
|
||||||
|
This project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.
|
||||||
|
|
||||||
|
### Company Information
|
||||||
|
|
||||||
|
Task Venture Capital GmbH
|
||||||
|
Registered at District court Bremen HRB 35230 HB, Germany
|
||||||
|
|
||||||
|
For any legal inquiries or if you require further information, please contact us via email at hello@task.vc.
|
||||||
|
|
||||||
|
By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.
|
6
test/test.d.ts
vendored
6
test/test.d.ts
vendored
@ -1,6 +0,0 @@
|
|||||||
/// <reference path="ts/typings/main.d.ts" />
|
|
||||||
declare var gulp: any;
|
|
||||||
declare var gulpFunction: any;
|
|
||||||
declare var beautylog: any;
|
|
||||||
declare var myFunction: () => void;
|
|
||||||
declare var myFunction2: () => void;
|
|
30
test/test.js
30
test/test.js
@ -1,30 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
|
|
||||||
/// <reference path="typings/main.d.ts" />
|
|
||||||
var gulp = require("gulp");
|
|
||||||
var gulpFunction = require("../index.js");
|
|
||||||
var beautylog = require("beautylog");
|
|
||||||
var myFunction = function () {
|
|
||||||
beautylog.log("Function executed");
|
|
||||||
};
|
|
||||||
var myFunction2 = function () {
|
|
||||||
beautylog.log("Function2 executed");
|
|
||||||
};
|
|
||||||
describe("gulpFunction", function () {
|
|
||||||
it("should run through smoothly with " + "'forEach'".blue, function () {
|
|
||||||
gulp.src('./test/*.md')
|
|
||||||
.pipe(gulpFunction(myFunction, 'forEach'))
|
|
||||||
.pipe(gulp.dest("./test/result/"));
|
|
||||||
gulp.src('./test/*.md')
|
|
||||||
.pipe(gulpFunction([myFunction, myFunction2], 'forEach'))
|
|
||||||
.pipe(gulp.dest("./test/result/"));
|
|
||||||
});
|
|
||||||
it("should run through smoothly with " + "'atEnd'".blue, function () {
|
|
||||||
gulp.src('./test/*.md')
|
|
||||||
.pipe(gulpFunction(myFunction, 'atEnd'))
|
|
||||||
.pipe(gulp.dest("./test/result/"));
|
|
||||||
gulp.src('./test/*.md')
|
|
||||||
.pipe(gulpFunction([myFunction, myFunction2], 'atEnd'))
|
|
||||||
.pipe(gulp.dest("./test/result/"));
|
|
||||||
});
|
|
||||||
});
|
|
35
test/test.ts
Normal file
35
test/test.ts
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
import { expect, tap } from '@push.rocks/tapbundle';
|
||||||
|
|
||||||
|
import * as smartgulp from '@push.rocks/smartgulp';
|
||||||
|
import gulp from 'gulp';
|
||||||
|
import * as gulpFunction from '../ts/index.js';
|
||||||
|
|
||||||
|
import * as smartpromise from '@push.rocks/smartpromise';
|
||||||
|
|
||||||
|
tap.test('should run through smoothly with ' + "'forEach'", async tools => {
|
||||||
|
let done = smartpromise.defer();
|
||||||
|
let counter = 0;
|
||||||
|
gulp.src('./test/testfiles/*.md').pipe(
|
||||||
|
gulpFunction.forEach(async () => {
|
||||||
|
counter++;
|
||||||
|
if (counter === 2) {
|
||||||
|
done.resolve();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
);
|
||||||
|
await done.promise;
|
||||||
|
});
|
||||||
|
|
||||||
|
tap.test('should run through smoothly with ' + "'forEach'", async tools => {
|
||||||
|
let done = smartpromise.defer();
|
||||||
|
let counter = 0;
|
||||||
|
smartgulp.src(['./test/testfiles/*.md']).pipe(
|
||||||
|
gulpFunction.atEnd(async () => {
|
||||||
|
console.log('atEnd');
|
||||||
|
done.resolve();
|
||||||
|
})
|
||||||
|
);
|
||||||
|
await done.promise;
|
||||||
|
});
|
||||||
|
|
||||||
|
tap.start();
|
@ -1,2 +0,0 @@
|
|||||||
# Test.md
|
|
||||||
This is a test file for the test.js gulp pipeline
|
|
@ -1,2 +0,0 @@
|
|||||||
# Test.md
|
|
||||||
This is another test file for the test.js gulp pipeline
|
|
1
test/testfiles/test01.md
Normal file
1
test/testfiles/test01.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the 1st testfile
|
1
test/testfiles/test02.md
Normal file
1
test/testfiles/test02.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the second testfile
|
1
test/testfiles/test03.md
Normal file
1
test/testfiles/test03.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the third testfile
|
1
test/testfiles/test04.md
Normal file
1
test/testfiles/test04.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the fourth testfile
|
1
test/testfiles/test05.md
Normal file
1
test/testfiles/test05.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the fifth testfile
|
1
test/testfiles/test06.md
Normal file
1
test/testfiles/test06.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the sixth testfile
|
1
test/testfiles/test07.md
Normal file
1
test/testfiles/test07.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the seventh testfile
|
1
test/testfiles/test08.md
Normal file
1
test/testfiles/test08.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the eighth testfile
|
1
test/testfiles/test09.md
Normal file
1
test/testfiles/test09.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the nineth testfile
|
1
test/testfiles/test10.md
Normal file
1
test/testfiles/test10.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the tenth testfile
|
1
test/testfiles/test11.md
Normal file
1
test/testfiles/test11.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the eleventh testfile
|
1
test/testfiles/test12.md
Normal file
1
test/testfiles/test12.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the twelveth testfile
|
1
test/testfiles/test13.md
Normal file
1
test/testfiles/test13.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the second testfile
|
1
test/testfiles/test14.md
Normal file
1
test/testfiles/test14.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the second testfile
|
1
test/testfiles/test15.md
Normal file
1
test/testfiles/test15.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the second testfile
|
1
test/testfiles/test16.md
Normal file
1
test/testfiles/test16.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the second testfile
|
1
test/testfiles/test17.md
Normal file
1
test/testfiles/test17.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the second testfile
|
1
test/testfiles/test18.md
Normal file
1
test/testfiles/test18.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# the 18th testfile
|
8
ts/00_commitinfo_data.ts
Normal file
8
ts/00_commitinfo_data.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/**
|
||||||
|
* autocreated commitinfo by @pushrocks/commitinfo
|
||||||
|
*/
|
||||||
|
export const commitinfo = {
|
||||||
|
name: '@push.rocks/gulp-function',
|
||||||
|
version: '3.0.7',
|
||||||
|
description: 'accepts a function call as parameter to execute in gulp pipeline'
|
||||||
|
}
|
115
ts/index.ts
115
ts/index.ts
@ -1,42 +1,87 @@
|
|||||||
/// <reference path="typings/main.d.ts" />
|
import * as smartpromise from '@push.rocks/smartpromise';
|
||||||
var through = require("through2");
|
import * as through2 from 'through2';
|
||||||
var path = require("path");
|
import { Transform } from 'stream';
|
||||||
var beautylog = require("beautylog");
|
|
||||||
|
|
||||||
|
export type TExecutionMode = 'forEach' | 'forFirst' | 'atEnd';
|
||||||
|
|
||||||
module.exports = function (functionsToExecuteArg:any|any[],executionModeArg:string = 'forEach') {
|
export interface IPromiseFunction {
|
||||||
//important vars
|
(file?, enc?): PromiseLike<any>;
|
||||||
var gulpFunction = {
|
}
|
||||||
executionMode: executionModeArg, //can be forEach or atEnd
|
|
||||||
functionsToExecute: functionsToExecuteArg
|
|
||||||
};
|
|
||||||
|
|
||||||
var runFunctionNames = function () {
|
let defaultExport = (
|
||||||
if (typeof gulpFunction.functionsToExecute === "function" ) {
|
functionsToExecuteArg: IPromiseFunction | IPromiseFunction[],
|
||||||
gulpFunction.functionsToExecute();
|
executionModeArg: TExecutionMode = 'forEach'
|
||||||
} else if (Array.isArray(gulpFunction.functionsToExecute)) {
|
): Transform => {
|
||||||
for (var anyFunction in gulpFunction.functionsToExecute) {
|
let promiseArray = [];
|
||||||
gulpFunction.functionsToExecute[anyFunction]();
|
let runFunction = function(functionArg, file, enc) {
|
||||||
}
|
let returnValue = functionArg(file, enc);
|
||||||
|
if (typeof returnValue !== 'undefined' && typeof returnValue.then !== 'undefined') {
|
||||||
|
promiseArray.push(returnValue);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
let checkAndRunFunction = function(file, enc) {
|
||||||
|
if (typeof functionsToExecuteArg === 'function') {
|
||||||
|
runFunction(functionsToExecuteArg, file, enc);
|
||||||
|
} else if (Array.isArray(functionsToExecuteArg)) {
|
||||||
|
for (let anyFunction in functionsToExecuteArg) {
|
||||||
|
runFunction(functionsToExecuteArg[anyFunction], file, enc);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw new Error('gulp-callfunction: something is strange with the given arguments');
|
||||||
|
}
|
||||||
|
return Promise.all(promiseArray);
|
||||||
|
};
|
||||||
|
|
||||||
|
let hasExecutedOnce = false;
|
||||||
|
let forEach = function(file, enc, cb) {
|
||||||
|
// the forEach function is called for every chunk
|
||||||
|
switch (executionModeArg) {
|
||||||
|
case 'forEach':
|
||||||
|
checkAndRunFunction(file, enc).then(function() {
|
||||||
|
cb(null, file);
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case 'forFirst':
|
||||||
|
if (hasExecutedOnce) {
|
||||||
|
checkAndRunFunction(file, enc).then(function() {
|
||||||
|
cb(null, file);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
beautylog.error('gulp-callfunction: something is strange with the given arguments');
|
cb(null, file);
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
var forEach = function (file, enc, cb) {
|
|
||||||
if (gulpFunction.executionMode === 'forEach') {
|
|
||||||
runFunctionNames();
|
|
||||||
}
|
|
||||||
//tell gulp that we are complete
|
|
||||||
return cb(null, file);
|
|
||||||
};
|
|
||||||
|
|
||||||
var atEnd = function(cb) {
|
|
||||||
if (gulpFunction.executionMode === "atEnd") {
|
|
||||||
runFunctionNames();
|
|
||||||
}
|
}
|
||||||
|
hasExecutedOnce = true;
|
||||||
|
break;
|
||||||
|
case 'atEnd':
|
||||||
cb();
|
cb();
|
||||||
};
|
break;
|
||||||
return through.obj(forEach,atEnd);
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
let atEnd = function(cb) {
|
||||||
|
if (executionModeArg === 'atEnd') {
|
||||||
|
checkAndRunFunction(null, null).then(function() {
|
||||||
|
cb();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
cb();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return through2.obj(forEach, atEnd);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export let forEach = (funcArg: IPromiseFunction) => {
|
||||||
|
return defaultExport(funcArg, 'forEach');
|
||||||
|
};
|
||||||
|
|
||||||
|
export let forFirst = (funcArg: IPromiseFunction) => {
|
||||||
|
return defaultExport(funcArg, 'forFirst');
|
||||||
|
};
|
||||||
|
|
||||||
|
export let atEnd = (funcArg: IPromiseFunction) => {
|
||||||
|
return defaultExport(funcArg, 'atEnd');
|
||||||
|
};
|
||||||
|
|
||||||
|
export default defaultExport;
|
||||||
|
33
ts/test.ts
33
ts/test.ts
@ -1,33 +0,0 @@
|
|||||||
/// <reference path="typings/main.d.ts" />
|
|
||||||
var gulp = require("gulp");
|
|
||||||
var gulpFunction = require("../index.js");
|
|
||||||
var beautylog = require("beautylog");
|
|
||||||
|
|
||||||
var myFunction = function () {
|
|
||||||
beautylog.log("Function executed");
|
|
||||||
};
|
|
||||||
var myFunction2 = function () {
|
|
||||||
beautylog.log("Function2 executed");
|
|
||||||
};
|
|
||||||
|
|
||||||
describe("gulpFunction",function(){
|
|
||||||
it("should run through smoothly with " + "'forEach'".blue,function(){
|
|
||||||
gulp.src('./test/*.md')
|
|
||||||
.pipe(gulpFunction(myFunction,'forEach'))
|
|
||||||
.pipe(gulp.dest("./test/result/"));
|
|
||||||
gulp.src('./test/*.md')
|
|
||||||
.pipe(gulpFunction([myFunction,myFunction2],'forEach'))
|
|
||||||
.pipe(gulp.dest("./test/result/"));
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
it("should run through smoothly with " + "'atEnd'".blue,function(){
|
|
||||||
gulp.src('./test/*.md')
|
|
||||||
.pipe(gulpFunction(myFunction,'atEnd'))
|
|
||||||
.pipe(gulp.dest("./test/result/"));
|
|
||||||
gulp.src('./test/*.md')
|
|
||||||
.pipe(gulpFunction([myFunction,myFunction2],'atEnd'))
|
|
||||||
.pipe(gulp.dest("./test/result/"));
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
15
ts/tsd.json
15
ts/tsd.json
@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
"version": "v4",
|
|
||||||
"repo": "borisyankov/DefinitelyTyped",
|
|
||||||
"ref": "master",
|
|
||||||
"path": "typings",
|
|
||||||
"bundle": "typings/tsd.d.ts",
|
|
||||||
"installed": {
|
|
||||||
"node/node.d.ts": {
|
|
||||||
"commit": "efa0c1196d7280640e624ac1e7fa604502e7bd63"
|
|
||||||
},
|
|
||||||
"colors/colors.d.ts": {
|
|
||||||
"commit": "3191f6e0088eee07c4d8fd24e4d27a40a60d9eb9"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"ambientDependencies": {
|
|
||||||
"node": "github:DefinitelyTyped/DefinitelyTyped/node/node.d.ts",
|
|
||||||
"mocha": "github:Bartvds/tsd-deftools/typings/DefinitelyTyped/mocha/mocha.d.ts",
|
|
||||||
"colors": "github:DefinitelyTyped/DefinitelyTyped/colors/colors.d.ts"
|
|
||||||
}
|
|
||||||
}
|
|
14
tsconfig.json
Normal file
14
tsconfig.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"experimentalDecorators": true,
|
||||||
|
"useDefineForClassFields": false,
|
||||||
|
"target": "ES2022",
|
||||||
|
"module": "NodeNext",
|
||||||
|
"moduleResolution": "NodeNext",
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"verbatimModuleSyntax": true
|
||||||
|
},
|
||||||
|
"exclude": [
|
||||||
|
"dist_*/**/*.d.ts"
|
||||||
|
]
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user