mobiushorizons / dw-utils Goto Github PK
View Code? Open in Web Editor NEWProject clean for demandware
Project clean for demandware
Catch errors from the zip library.
On version 1.3.133 and up, there seems to be an issue with file change log when bulk uploading: instead of displaying the file paths, only the "Bulk uploading X items: done" is displayed, along blank new lines for each path that should've been displayed.
Please refer to these screenshots for comparison:
Hope you can look into this for the next release!
Thanks.
it seems Demandware 17.4 release has broken the PROPFIND
webdav command I was using to basically do an ls
against the logs directory. This will have to be replaced with parsing the default HTML directory page instead.
Perhaps I am missing something, but running dw-utils init
does not create a dw.json
for me. I input my host, username, password (It verifies the authentication), version, cartridges and then the command finishes. No errors or anything like that. No dw.json
is created.
Something obvious I'm missing here? Are there system logs I can look at for errors or something?
Right now there seems to be support fo just one place where cartridges are loaded and so the config json looks something like:
{
"hostname": "1234",
"username": "user",
"password": "1234",
"version": "dev",
"cartridges": "cartridges"
}
In some cases we have multiple cartridges that we need to take from multiple repos cloned in different places so it would be nice if there would be support for this.
What I propose is to also add support for "cartridges" to be an array.
So if typeof config.cartridges === "string" then logic is as before and you take cartridges from a single place.
If it's not string then you iterate over the array and watch/clean cartridges from all sources.
{
"hostname": "1234",
"username": "user",
"password": "1234",
"version": "dev",
"cartridges": ["/path/to/cartridges1", "/path/to/cartridges/2"]
}
This requires the following changes:
formatter
to take the filename so it can be displayed for each updatelog.js
to filter out files with the same nameentries => filter by log level => sort by date modified => select first entry
to entries => filter by regex => sort by date modified => reduce to remove duplicates
As a developer, I only want to watch today's logs. Currently, if there is no file from today for a specific log, dw-utils log will tail the most recent, which doesn't help in on-going testing sessions.
It would be better to not tail a file than to tail an old file.
Possibly, there could be an option to allow files from previous days to be shown or omitted.
Or dw-utils log could continue with its current logic, but monitor the log directory, and automatically switch to watching new files as they appear.
This affects the centered separators between chunks of new data, and individual logs. It is specifically a problem because git bash
does not show up as a terminal to node.
🚨 You need to enable Continuous Integration on all branches of this repository. 🚨
To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.
Since we didn’t receive a CI status on the greenkeeper/initial
branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.
If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/
.
Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please delete the greenkeeper/initial
branch in this repository, and then remove and re-add this repository to the Greenkeeper integration’s white list on Github. You'll find this list on your repo or organization’s settings page, under Installed GitHub Apps.
Hello and thanks for this tool, it works great plus it's very fast. I'm just having a problem with the activate'
command which results in:
Activating version 'myversion' ... failed
Any ideas of what it could be?
Thank you
If I run dw-utils clean on a folder that's not a GIT repo I get the following error.
Error: .git/HEAD does not exist
at Function.configSync [as sync] (/usr/local/lib/node_modules/dw-utils/node_modules/git-branch/index.js:28:11)
at server.auth.catch.then (/usr/local/lib/node_modules/dw-utils/clean.js:52:31)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
This is probably a problem because git bash does not show up as a terminal to node. If this cannot be resolved, detect the situation, and offer an alternative prompt that does not hang.
Hi
It seems that since last Windows 10 update 2004, something has changed in the way the windows triggers the file changes, and now dw-utils is having issues.
If you have dw-utils watch running for a while on a directory that was not focused/opened neither had any file changes for a while (like 10 to 15 minutes), if you open the directory and just select the file (on windows explorer, or opening on VS Code), dw-utils will trigger an upload of that file.
And if you perform a folder search in VS Code for example, dw-utils will upload ALL FILES as the search was changing every single file on your workspace folder.
Anyone else experiencing this? Any ideas to fix?
If it could include a timestamp on clean, so I can be sure if I cleaned since changing my branch, that’d be lovely. https://screencast.com/t/SlKtfkoniAbw
Hey I'm the maintainer of the old webdav-sync project. I'm switching to your dw-utils, this is really well written stuff!
As per title, I'm not sure if dw-utils supports uploading cartridges on Staging instances. If so, is there any special configuration required? (like certificates etc)
Thank you!
Apparently this can be accomplished by writing to the versions.txt file in the root cartridge directory.
instead of zip -> upload -> delete_remote -> unzip
I think it will be faster, and result in a shorter period of no content to do zip -> upload -> unzip to temp -> move temp over target
Currently the "cartridges" option is the path to a directory containing ALL your cartridges. And as a result, dw-utils
watches ALL the cartridges.
It would be really nice to be able to specify individual cartridges that you wish to watch/upload. For example I have a lot of build scripts that do various things, including creating temporary folders and files in certain subdirectories. I don't want to watch those or upload them. But since dw-utils
does a blanket watch on the entire directory and ALL subdirectories there is no way to avoid it.
It would be easy enough to change the "cartridges" option to accept an array of cartridge paths to watch. But it would probably render the current usage of the option non-backwards compatible.
I would like to mess with this and put in a pull request for it if you are okay with it. But I could use some direction on if I should change the "cartridges" option functionality or specify a new option, etc...
In my opinion, it might be wise to simply be able to specify a Glob of paths to watch/upload. That would make it so it still supports specify a single path to all cartridges but would allow someone to be more specific and specify multiple paths to individual cartridges.
Thoughts?
I'm getting the following error when running dw-utils init on node v8.7.0
This happens at the last step, after I set Cartridge Path: (cartridges) cartridges
and press enter.
Cartridge Path: (cartridges) cartridges
(node:8493) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Path must be a string. Received null
(node:8493) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.