💣 Tools v2023.10.125
Bugs are evident™ - MATRIX️
NodeJS LTS is supported
Built on NodeJs version
v20.5.0
Description
This is an internal tool program (p3x
) to manage a recursive async and serial command for NPM packages.
Install
sudo npm install -g p3x-tools --unsafe-perm=true --allow-root
Examples
All folders exclude node_modules
and bower_components
except it is included.
p3x docker clean # delete images the have exited
p3x docker clear # delete all images in docker
p3x docker free # delete exited containers
p3x pkg yarn install | <command> # installs recursive every project that has a package.json
p3x build yarn install | <command> # install recursive every package that has a corifeus-builder
p3x npm unpublish # unpublish every package from NPM except the last Minor version (Major.Minor.Build-Commit)
p3x link # links every recursive given package together
p3x git <command> # you can execute a command on every git dir, recursive
p3x rm <folder> # remove recursive the given folder
p3x ncu -u # updates recursive all packages
p3x git pull # recursive pull every folder
p3x git push # recursive push every folder
p3x git renew|truncate # remote all commits, from #1231 commit to #1
p3x git init repo-name # .git is not required, is auto added, post-update is generated so it is my own, specific for the patrikx3.com server git repo (it adds in the webhook), the names are only lower cased forcefully a-z, digit and dash.
and more ...
If you want the commands is serials, add the -s
or --serial
flag, otherwise all async
.
etc ...
Dependencies Fix
Webpack repos
- gitlist
- redis-ui-material
- fortune-cookie
- corifeus-builder-angular
- sygnus ngivr builder webpack
Default excludes from GitHub:
Github fork upstream
1 . Clone your fork:
git clone git@github.com:YOUR-USERNAME/YOUR-FORKED-REPO.git
2 . Add remote from original repository in your forked repository:
cd into/cloned/fork-repo
git remote add upstream https://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
git fetch upstream
3 . Updating your fork from original repo to keep up with their changes:
git pull upstream master
git merge upstream/master
git push
# or
git checkout dev
git pull upstream dev
git merge upstream/dev
git push
Warning / deprecate
npm deprecate <pkg>[@<version>] <message>
// or better
npm deprecate my-thing@"< 0.2.3" "critical bug fixed in v0.2.3"
Really make a bare repo to smaller
https://stackoverflow.com/questions/2116778/reduce-git-repository-size
https://stackoverflow.com/questions/3797907/how-to-remove-unused-objects-from-a-git-repository/14729486#14729486
git gc --prune=now --aggressive
Show available versions on NPM
# for example
npm show p3x-angular-compile versions --json
Verdaccio NPM fix
https://github.com/verdaccio/verdaccio/issues/577
docker run --rm -it node:9.2.0-alpine sh
/ # npm login --registry https://npm.company.com
Username: admin
Password:
Email: (this IS public) admin@company.com
Logged in as admin on https://npm.company.com/.
/ # cat ~/.npmrc
//npm.company.com/:_authToken=Rwl9t+GHjlgP+brFJ6WycIe1y6r3Z+ShUEqsLusmFC11w3n6ex8JdmkMoKv/0U/D
/ #
Another solution is like this:
# project .npmrc
registry = "https://registry.acmeco.com"
ca = null
always-auth = true
Swap for Docker
https://askubuntu.com/questions/417215/how-does-kernel-support-swap-limit
Edit:
sudo nano /etc/default/grub
Like:
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
Update:
sudo update-grub
Edit:
touch /etc/sysctl.d/90-swappiness.conf
nano /etc/sysctl.d/90-swappiness.conf
vm.swappiness=1
sudo reboot
How To Configure a Mail Server Using Postfix, Dovecot, MySQL, and SpamAssassin and Sieve to move to Spam / Junk folder
This is how is solved it (it took 7 months):
apt install dovecot-sieve dovecot-managesieved
nano /etc/dovecot/conf.d/90-plugin.conf
Add or set in:
protocol lmtp {
mail_plugins = $mail_plugins sieve
auth_socket_path = /var/run/dovecot/auth-master
}
nano /etc/dovecot/sieve.conf
Add in
require ["fileinto", "mailbox"];
if header :contains "X-Spam-Flag" "YES" {
# move mail into Folder Spam, create folder if not exists
fileinto :create "Spam";
stop;
}
Execute
sievec /etc/dovecot/sieve.conf
nano /etc/spamassassin/local.cf
Add in or set it, it's like this ( I think you don't need everythign else):
report_safe 0
required_score 2.0
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
skip_rbl_checks 0
use_razor2 1
use_pyzor 0
add_header all Status _YESNO_, score=_SCORE_ required=_REQD_ version=_VERSION_
bayes_ignore_header X-Bogosity
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Status
Edit a new file again
nano /etc/dovecot/conf.d/90-sieve.conf
Set this config, you don't need anything else:
plugin {
sieve = /etc/dovecot/sieve.conf
}
Edit the mail boxes, so jo have Junk, I think jo just need add or uncomment the Junk setting:
nano /etc/dovecot/conf.d/15-mailboxes.conf
Add in this config
namespace inbox {
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Junk {
auto = subscribe
special_use = \Junk
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
}
My user for the e-mail server is vmail
, so do like this:
chmod ug+w /etc/dovecot
chmod ug+w /etc/dovecot/sieve.conf.svbin
chown -R vmail:vmail /etc/dovecot
Restart your mail server:
service postfix reload && service spamassassin restart && service dovecot restart
GRUB for another menu once
Make sure /etc/default/grub
has this:
GRUB_DEFAULT=saved
You can choose you menu like:
grep -i "menuentry '" /boot/grub/grub.cfg
The boot with your menu:
sudo -i
# my workstation boot from win
grub-reboot 2
reboot
Git synchronize
git submodule sync
WINDOWS
IIS Windows 10 Enterprise
For IIS
, I have to use the current user Domain user
both the web site and the application pools eg. domain\user
.
We have to install the urlrewrite2
module, I think it is here:
https://www.iis.net/downloads/microsoft/url-rewrite
ALT GR for IntelliJ Idea
https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000803070/comments/115000663724
The working solution is to add actionSystem.force.alt.gr=true to custom properties.
PHP.INI
extension_dir = "C:\php\php-7.2\ext"
fastcgi.impersonate = 1
cgi.fix_pathinfo = 0
cgi.force_redirect = 0
error_log=C:\php\php-7.2-error.log
extension=php_openssl.dll
extension=php_mbstring.dll
zend_extension=php_opcache.dll
extension=php_gd2.dll
extension=php_curl.dll
zend_extension=C:\php\xdebug\php_xdebug-2.7.0alpha1-7.2-vc15-nts-x86_64.dll
Possible, this server, rarely, is down, please, hang on for 15-30 minutes and the server will be back up.
All my domains (patrikx3.com and corifeus.com) could have minor errors, since I am developing in my free time. However, it is usually stable.
Note about versioning: Versions are cut in Major.Minor.Patch schema. Major is always the current year. Minor is either 4 (January - June) or 10 (July - December). Patch is incremental by every build. If there is a breaking change, it should be noted in the readme.
P3X-TOOLS Build v2023.10.125