modesttree / projeny Goto Github PK
View Code? Open in Web Editor NEWA project and package manager for Unity
License: MIT License
A project and package manager for Unity
License: MIT License
When using Visual Studio Tools for Unity it is possible to intercept the project file generation and modify the generated project file.
This is useful for adding custom MSBuild tasks such as Stylecop checks, static code analysis rules etc.
What in specific limits Projeny to Windows?
OS X / Linux support would be fantastic and I'm willing to lose some hours trying to get it to work if discussion can be had.
I was having an issue trying to add a package, and found that it was because I had Unity in a non-default path. So I added a Projeny.yaml specifying the correct path.
Couldn't this path be automatically retrieved using EditorApplication.applicationPath?https://docs.unity3d.com/ScriptReference/EditorApplication-applicationPath.html
Projeny does not auto-update the VS solution. It should detect when new source files are added/removed and do this, similar to unity
Include something like this in the readme:
There are 4 places that Projeny looks for project config info:
These all follow the same format, which mostly just includes declaring the packages to include in the project. (3) and (4) are automatically used by all projects, so it's a good place to put in packages that you want to include everywhere.
(2) and (4) should be ignored by source control and are a convenient place to add user-specific packages. For example, we have some unity plugins (from asset store) such as a custom unity console, a window to help switch between scenes, etc. Not everyone on the team likes these though so they are included on an individual basis in one of these files. That way only people that want those tools can add them.
After defining your own release sources it is sometimes hard to find them when they are all mixed in with your asset store purchases. So it would be nice to have a dropdown above the releases list in the projeny GUI where you can filter based on each release source.
Currently packages included with a project are either placed in Assets or Assets/Plugins.
Being able to further organize packages would be a big plus, e.g. bundle all packages from a certain publisher or other filter logic in one sub-folder and others in another etc.
Assets/SubA/Package1
Assets/SubA/Package2
Assets/SubB/Package3
Assets/Package4
This allows for a tidy Assets folder.
Simply being able to associate each package in a project with a single sub folder, or perhaps a sub path, would be sufficient.
Such as "Characters.unitypackage", "Effects.unitypackage"
Hi,
First off, thanks so much for putting together this awesome project. I've been looking for a solution like this for a long time. If only I could run through your sample project set up walkthrough, that would be really awesome. Right now I am stuck at the very initial stage when you run prj --init to set up symlinks to folders.
I followed every single set up instruction as laid out in your read me. And I have downloaded the sample project as well. I have also set up all the path variables properly. Now I am at a point where I need to run prj --init and I am getting an 'Import Error" : DLL Load failed: The specified module could not be found.
I can't figure out why and what's causing this issue. Do you have any clues?
Btw, I am running Python 3.5 and Visual Studios 2015. And its a Surface Pro with Windows 10 OS.
Thanks,
Jay
When I open the Projeny -> Package Manager dialog the following error appears. This happens when I open the CubeMover-Windows project and also a project I created from scratch from the command line.
Error message: http://i.imgur.com/Se7Ms0M.png
Here's what it says in the console.
OverflowException: Value too large or too small.
System.Int32.Parse (System.String s, NumberStyles style, IFormatProvider provider) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System/Int32.cs:640)
System.ComponentModel.Int32Converter.ConvertFromString (System.String value, System.Globalization.NumberFormatInfo format)
System.ComponentModel.BaseNumberConverter.ConvertFrom (ITypeDescriptorContext context, System.Globalization.CultureInfo culture, System.Object value)
Rethrow as Exception: 3968277541 is not a valid value for Int32.
System.ComponentModel.BaseNumberConverter.ConvertFrom (ITypeDescriptorContext context, System.Globalization.CultureInfo culture, System.Object value)
YamlDotNet.Serialization.Utilities.TypeConverter.ChangeType (System.Object value, System.Type destinationType, System.Globalization.CultureInfo culture)
YamlDotNet.Serialization.Utilities.TypeConverter.ChangeType (System.Object value, System.Type destinationType, System.Globalization.CultureInfo culture)
YamlDotNet.Serialization.Utilities.TypeConverter.ChangeType (System.Object value, System.Type destinationType)
YamlDotNet.Serialization.NodeDeserializers.ScalarNodeDeserializer.YamlDotNet.Serialization.INodeDeserializer.Deserialize (YamlDotNet.Core.EventReader reader, System.Type expectedType, System.Func`3 nestedObjectDeserializer, System.Object& value)
YamlDotNet.Serialization.ValueDeserializers.NodeValueDeserializer.DeserializeValue (YamlDotNet.Core.EventReader reader, System.Type expectedType, YamlDotNet.Serialization.Utilities.SerializerState state, IValueDeserializer nestedObjectDeserializer)
Rethrow as YamlException: (Line: 25, Col: 17, Idx: 332) - (Line: 25, Col: 27, Idx: 342): Exception during deserialization
YamlDotNet.Serialization.ValueDeserializers.NodeValueDeserializer.DeserializeValue (YamlDotNet.Core.EventReader reader, System.Type expectedType, YamlDotNet.Serialization.Utilities.SerializerState state, IValueDeserializer nestedObjectDeserializer)
YamlDotNet.Serialization.ValueDeserializers.AliasValueDeserializer.DeserializeValue (YamlDotNet.Core.EventReader reader, System.Type expectedType, YamlDotNet.Serialization.Utilities.SerializerState state, IValueDeserializer nestedObjectDeserializer)
YamlDotNet.Serialization.ValueDeserializers.NodeValueDeserializer+<>c__DisplayClass2.<DeserializeValue>b__0 (YamlDotNet.Core.EventReader r, System.Type t)
YamlDotNet.Serialization.NodeDeserializers.ObjectNodeDeserializer.YamlDotNet.Serialization.INodeDeserializer.Deserialize (YamlDotNet.Core.EventReader reader, System.Type expectedType, System.Func`3 nestedObjectDeserializer, System.Object& value)
YamlDotNet.Serialization.ValueDeserializers.NodeValueDeserializer.DeserializeValue (YamlDotNet.Core.EventReader reader, System.Type expectedType, YamlDotNet.Serialization.Utilities.SerializerState state, IValueDeserializer nestedObjectDeserializer)
Rethrow as CoRoutineException: Coroutine Object Trace: PmWindowInitializer -> PmReleasesHandler -> PrjCommandHandler
Projeny.Internal.CoRoutine.Pump ()
Projeny.Internal.AsyncProcessor.AdvanceFrameAll ()
UnityEngine.Debug:LogException(Exception)
Projeny.Internal.Log:ErrorException(Exception)
Projeny.Internal.PmViewErrorHandler:OnAsyncException(Exception)
Projeny.Internal.AsyncProcessor:AdvanceFrameAll()
Projeny.Internal.AsyncProcessor:Tick()
Projeny.Internal.PmCompositionRoot:Update()
Projeny.Internal.PmWindow:Update()
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
Unity 5.3.2p1 (also tried on 5.3.0f4)
Python 3.5.1 64 bit
Tried compiling the Projeny source but the result is the same. Needed to install pywin32-220 and PyYAML-3.11 to compile.
I get a "MemoryStream is corrupted" popup and exception, using Unity 5.4.2f2 and VS 2015. Projeny version is v0.3.6
I'm trying the sample projects. I open AllMovers-Windows, and try changing packages from Assets to Plugin Folder, and as I click Update Directories I get the exception.
I've also filled two bug reports to Unity about this issue, which may be related to a bug at the Unity Editor.
I'm use EasyMovieTexture,need -unsafe config, gmcs.rsp, smcs.rsp in Asssets root dir.Projeny is auto generate files,I don't know how to put these file in Assets root automatic.
Can I can edit ProjenyProject.yaml -'[Some Environment Var]/PathToUnityProject' ?
I get the following error when an update is needed (via buttons in the Package Manager):
PrjCommandException: Error occurred during 'Updating solution': Error: Could not find unity-generated project when generating custom solution. This is necessary so the custom solution can add things like unity defines and DLL references within the unity project.
Projeny.Internal.PrjCommandHandler+d__3.MoveNext ()
Projeny.Internal.CoRoutine.Pump ()
Rethrow as CoRoutineException: Coroutine Object Trace: PmVsSolutionViewHandler -> PrjCommandHandler
Projeny.Internal.CoRoutine.Pump ()
Projeny.Internal.AsyncProcessor.AdvanceFrameAll ()
Rethrow as AsyncOperationException: Error occurred during async operation
Projeny.Internal.AsyncProcessor.AdvanceFrameAll ()
Projeny.Internal.AsyncProcessor.Tick ()
Projeny.Internal.PmCompositionRoot.Update ()
Projeny.Internal.PmWindow.Update ()
UnityEngine.Debug:LogException(Exception)
Projeny.Internal.Log:ErrorException(Exception)
Projeny.Internal.PmWindow:OnErrorOccurred(Exception)
Projeny.Internal.PmWindow:Update()
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
Hi!
By default all projects are initialized for win target only; in case of changing project's structure and run --init it also requires switching targets in unity to windows and back in order to update project links for required platform.
#for platform in Platforms.All: for platform in [Platforms.Windows]: self.updateProjectJunctions(projectName, platform)
Since Initializing projects for all possible targets seems a little overkilling i guess following:
define 'TargetPlatforms' in ProjenyProject.yaml then initialize exactly those platforms.
It should be very handy if you develop mobile-only project for example. What do you think?
Currently it is just "cs", "txt", and "yaml" files, but this should be configurable.
Could someone help me out with this one.
Didn't find anything in the readme
# Default values
# These can all be overriden by user config files
MaxProjectNameLength: 10
# Set to true if you don't want to use the Projeny editor DLL and instead want to link directly
# to UnityPlugin\Projeny
LinkToProjenyEditorDir: False
ReleaseSources:
- AssetStoreCache:
PathVars:
ProjTemplatesDir: '[ProjenyDir]/Templates'
CsProjectTemplate: '[ProjTemplatesDir]/CsProjectTemplate.csproj'
CsSolutionTemplate: '[ProjTemplatesDir]/CsSolutionTemplate.sln'
PlaceholderFile1: '[ProjTemplatesDir]/Placeholder1/Placeholder.cs'
PlaceholderFile2: '[ProjTemplatesDir]/Placeholder2/Placeholder.cs'
ProjenyChangeProjectMenuMeta: '[ProjTemplatesDir]/ProjenyChangeProjectMenu.cs.meta'
ProjectRootGitIgnoreTemplate: '[ProjTemplatesDir]/customProjectRootGitIgnore'
ProjectRootSvnIgnoreTemplate: '[ProjTemplatesDir]/customProjectRootSvnIgnore'
YamlDotNetDllPath: '[ProjenyDir]/Bin/UnityPlugin/Release/YamlDotNet.dll'
ProjenyUnityEditorDllPath: '[ProjenyDir]/Bin/UnityPlugin/Release/Projeny.dll'
ProjenyUnityEditorDllMetaFilePath: '[ProjTemplatesDir]/Projeny.dll.meta'
ProjenyUnityEditorAssetsDirPath: '[ProjenyDir]/UnityPlugin/Projeny/Assets'
UnityProjectsDir: 'F:\Dateien\Unity\Projekte'
# Note that these are defaults, and can be overridden in any other Projeny.yaml file
MsBuildExePath: 'C:/Windows/Microsoft.NET/Framework/v4.0.30319/msbuild.exe'
UnityExePath: 'C:/Program Files/Unity/Editor/Unity.exe'
Console:
UseColors: False
OutputToFilteredLog: False
Compilation:
UseDevenv: False
IncludeProjenyInGeneratedSolution: False
C:\Program Files (x86)\Projeny>prj --project Test --createProject
Initializing new project "Test"...
Updating package directories for project Test...
Project "Test" is not initialized for platform "Windows". Initializing now.
Initializing new project Test (Windows)...
Failed during task: initializing new project Test (Windows) (Took 0.0 seconds, time: 20:29:56, total elapsed: 0.0 seconds)
Failed during task: updating package directories for project Test (Took 0.0 seconds, time: 20:29:56, total elapsed: 0.0 seconds)
Failed during task: initializing new project "Test" (Took 0.0 seconds, time: 20:29:56, total elapsed: 0.0 seconds)
Failed while processing config yaml for project 'Test' (platform 'Windows'). Details: Error: Could not find match for YAML element PackageFolders
Operation completed with errors. Took 0.0 seconds.
All files used are from release Version 0.3.4.
Following instructions in readme i can't init demo project. See PrjLog.txt
Looking in solved problems I found issue #14, in a comment is requested change language to English of the operating system to solve a similar problem. And it have worked for me too.
My main language is Spanish, following your instrucions i have executed mklink command and I recieved this "mklink /J "E:\Projeny-tests\UnityProjects\jor" "E:\Projeny-tests\UnityProjects\SphereMover\ProjectSettings"
Unión creada para E:\Projeny-tests\UnityProjects\jor <<===>> E:\Projeny-tests\UnityProjects\SphereMover\ProjectSettings"
I thought that issue had already been fixed in the latest release, someone can help me?
Thanks in advance.
Package dependency GUI for quickly and easily viewing/adding/removing package dependencies. Similar to the Project dependency GUI.
It seems that the folder must be placed in /Assets.
Do I have to create A pakcage named StreamingAssets?
In the generated VS solution, there is no option to 'Attach to Unity' as there is with the standard Unity-generated VS solution.
This means that debugging is more cumbersome, and requires that you select 'Debug -> Attach Unity Debugger' from the VS menus.
Adding the 'Attach to Unity' option would be useful.
Once the project is updated to work on OSX, then installation (should) be as simple as pip install projeny
. IIRC it would require someone to register the package on PyPI.
According to Oculus guidelines in order to make development build i need to put signature file exactly to Project/Assets/Plugins/Android/assets/
.
Following validation in ProjenyConfigValidator
prevents me to do so.
if (pluginNameLowered == "android" || pluginNameLowered == "webgl")
{
foreach (var platformDir in pluginDir.GetDirectories())
{
CheckJunction(platformDir, badDirectories, brokenJunctions);
}
continue;
}
For now i just commented lines below and rebuild Projeny, it works for me.
I renamed a Package (from within the Projeny Package Manager), but the a package that depended on it, didn't get updated. So when I do Update Directories it complains that it can't find the OldNamed package anywhere.
Or is this something I have to do manually? Seems odd that we have to create the file manually to begin with.
I got 3 packages in projeny (Client, Server, Shared). Now i need to create everytime the references in Client for Shared and with the package Server the same.
It's just a little bit annoying.
Keep up the good work 👍
I added a ReleaseSource to C:/Users/Eric/Projeny.yaml to the folder E:/UnityPackages, which contains .unitypackage files created from my own projects. They show up in the Releases panel but don't have a version number. When I try to install them I'm given the following error (from PrjLog):
Started EditorApi with arguments: E:\ProjenyProjectTest\Experiment\Projeny.yaml TTSDev windows installRelease testing [SharedUnityPackagesDir]
Installing release 'testing' into package dir '[SharedUnityPackagesDir]' with version code 'None'
Attempting to install release with ID 'testing' into package root '[SharedUnityPackagesDir]' and version code 'None'
int() argument must be a string, a bytes-like object or a number, not 'NoneType'
Traceback (most recent call last):
File "C:\Projeny\Source\prj\main\EditorApi.py", line 43, in run
self._runInternal()
File "C:\Projeny\Source\prj\main\EditorApi.py", line 105, in _runInternal
self._releaseSourceManager.installReleaseById(releaseName, self._project, packageRoot, versionCode, True)
File "C:\Projeny\Source\prj\reg\ReleaseSourceManager.py", line 119, in installReleaseById
releaseVersionCode = int(releaseVersionCode)
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
Here's what the PrjLog says about the testing.unitypackage when I click the refresh button. It's missing the Version, VersionCode, and AssetStoreInfo.
CompressedSize: 521
FileModificationDate: 2016-02-16 06:55:11.599798
Id: testing
LocalPath: E:/UnityPackages\testing.unitypackage
Name: testing
I searched to see how to set the version of a package but came up empty. What am I missing? Thanks!
I am not sure if this is already supported. If it is, it isn't clear the proper way to do it. The documentation on 'Extras' alludes to it.
It would be useful to have a way to define a unit test csproj for a package. However, I don't really want my unit tests to end up in the final Unity project, which I believe the 'Extras' approach would do.
Perhaps, similar to 'Dependencies', I could declare a 'TestDependencies' in my ProjenyPackage.yaml. This would reference another package that contains all of my unit tests. Projeny could handle generating the solution, and creating the dependency reference from the test package to the source package. But it would not symlink the test package into my Unity project.
The asset ProCoreBundle, when unpacked is 6 more asset packages that Projeny doesn't recognize and add to the packages. So I copied them to the default unity folder. Then refreshed the projeny Releases list, and they now show up. But when I go to install them, after the first one, it gives me an error because they all want to be in the UnityAssets / ProCore folder, and then have separate sub-folders in ProCore. So now I cannot use them with my Projeny project, using the Releases window to install them.
When you update the Projeny solution and reload in VS, it closes all your tabs. Unity keeps the tabs open when it reloads VS.
It would be nice to be able to specify multiple packages folders per-project. For example, you could have a local packages folder next to the ProjectSettings for packages that only make sense for that project
This a question rather than an issue, so if this is better posted in forum or other, let me know.
So we have all the source located in packages under the UnityPackages folder, so we can easily map these to their respective source control repository.
However ProjectSettings reside for each project under the UnityProjects folder, so if we want to source control those it seems we have to have a separate source repository for them?
Of course one alternative would be to have a single repository for the projeny solution (the root holding the UnityPackages and UnityProjects), however that is not ideal.
Is there a way to have multiple projeny solutions know of each other, so that a project in one solution can make use of packages in another?
If so that would make one repository per projeny solution more viable.
because i wanna a shared AssetBundles folder under the [ProjectRoot].
how to make this ?
Whenever i try to add an UnityPackage downloaded from the store I get this error :
PrjCommandException: Error occurred during 'Installing release 'DOTween (HOTween v2)'': [WinError 2] The system cannot find the file specified
I can see it's because it tries to call "C:/Program Files/Unity/Editor/Unity.exe"
But i use "C:/Program Files/Unity5.3/Editor/Unity.exe" as path
First, I wanted to say how awesome this project is. We've been using it at my company for the last several months and it's been a real game changer, so thanks hugely for that.
Current issue we're having: Deleting projects from the command line does not appear to be working.
Steps to reproduce:
prj -lpr
to see what is available.prj -dpr <projectName>
Neither project name nor alias appear to work. Screenshot of example run below (using Projeny examples):
Expected behaviour - deletion from command line should work.
Incidentally - is there a way to delete projects from the Unity UI? Couldn't see one, or reference to it in the documentation.
Thanks!
Hi,
As far as I can tell, the current setup only allows you to have one Resources package in your packages directory.
It would be handy if I could compose our Resources folder out of multiple, platform-dependent packages.
p.s. great package btw!
If you try installing a very large release, then exit unity, it seems to just freeze until the async task completes
It should really ask the user if they would like to force-kill the async task, then exit after that
Hello there,
I very much appreciate the work you did here, but unfortunately its not working for me.
Personal information:
I've downloaded the latest binary and after installation I've added my [Install Directory]/Bin directory to system Path.
Then I started an entirely new set of Projeny-based packages/projects from scratch (prj -cc) and additionaly initialized it in the root directory (prj --init).
I've also set the VisualStudioIdePath value in my Projeny.yaml as well as the Projeny-generated visual studio solution as my primary editor.
I can't see the menu item Projeny, which is why I wasn't able to create a new project nor was I able to manage an existing one.
What is the solution for this? - A reinstallation didn't help.
I get the following error as a popup window and at the Editor console when trying to drag&drop a release package to my project packages, in Project Manager: (tested with Unity 5.4.2f2 and different releases and different projects)
PrjCommandException: Error occurred during 'Installing release '<name_of_package>': string indices must be integers
Projeny.Internal.PrjCommandHandler+d__3.MoveNext ()
Projeny.Internal.CoRoutine.Pump ()
Rethrow as CoRoutineException: Coroutine Object Trace: PmDragDropHandler -> PrjCommandHandler
Projeny.Internal.CoRoutine.Pump ()
Projeny.Internal.AsyncProcessor.AdvanceFrameAll ()
Rethrow as AsyncOperationException: Error occurred during async operation
Projeny.Internal.AsyncProcessor.AdvanceFrameAll ()
Projeny.Internal.AsyncProcessor.Tick ()
Projeny.Internal.PmCompositionRoot.Update ()
Projeny.Internal.PmWindow.Update ()
UnityEngine.Debug:LogException(Exception)
Projeny.Internal.Log:ErrorException(Exception)
Projeny.Internal.PmWindow:OnErrorOccurred(Exception)
Projeny.Internal.PmWindow:Update()
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
I'm currently getting the following issue when trying to install asset store dependencies.
I'm using the standard sample project, however my setup is slightly different in that:
Not sure if this error rings a bell at all. I will try and move everything into the same drive and see if I still get the error.
PrjCommandException: Error occurred during 'Installing release 'Zenject Dependency Injection IOC'': [WinError 2] The system cannot find the file specified
Projeny.Internal.PrjCommandHandler+<ProcessPrjCommand>d__3.MoveNext ()
Projeny.Internal.CoRoutine.Pump ()
Rethrow as CoRoutineException: Coroutine Object Trace: PmDragDropHandler -> PrjCommandHandler
Projeny.Internal.CoRoutine.Pump ()
Projeny.Internal.AsyncProcessor.AdvanceFrameAll ()
Rethrow as AsyncOperationException: Error occurred during async operation
Projeny.Internal.AsyncProcessor.AdvanceFrameAll ()
Projeny.Internal.AsyncProcessor.Tick ()
Projeny.Internal.PmCompositionRoot.Update ()
Projeny.Internal.PmWindow.Update ()
UnityEngine.Debug:LogException(Exception)
Projeny.Internal.Log:ErrorException(Exception)
Projeny.Internal.PmWindow:OnErrorOccurred(Exception)
Projeny.Internal.PmWindow:Update()
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
I'd really like for Projeny to be able to clone the repos and install the repos as packages as it would for any other package. This would save the time of having to use .unitypackages
As an aside: I'd like to set up my release source as a git repository. Many git repository frameworks (Github, Bitbucket, Gitlab) support REST APIs to facilitate downloading a single file for listing of sources.
Hi,
sorry for asking here as it is not really an issue (didn't know where else to do it): does Projeny-based project support Unity Cloud Build service?
Hi modest tree team, thanks for another awesome product that follows proven engineering principles.
To make installation easier, I'd highly recommend using http://scoop.sh/ (https://github.com/lukesampson/scoop). It's effectively homebrew
for windows. If you guys are too busy, I can help make a PR when I get back to a windows machine next week.
After following the tutorial and setting up Unity to use the PrjOpenInVisualStudio.bat
file, with arguments "$(File)" "$(Line)"
as per below:
The error appears in the command prompt window when opening the solution by double-clicking an exception in the Unity Console window:
Determined Project = AllMovers, Platform = Windows
'NoneType' object is not subscriptable
Operation completed with errors. Took 0.1 seconds.
Error occurred! Unable to open visual studio.
Press any key to continue . . .
Looking at OpenInVisualStudio.py l.49
it appears that the issue is happening in the call to self._vsSolutionHelper.openFile(self._args.filePath, lineNo, solutionPath)
Perhaps the _vsSolutionHelper
is None
at this point, which suggests a misconfigured Projeny.yaml, however, the correct path to devenv.exe has been specified in Projeny.yaml as per below:
ProjectAliases:
am: AllMovers
cm: CubeMover
sm: SphereMover
PathVars:
UnityProjectsDir: '[ConfigDir]/UnityProjects'
SharedUnityPackagesDir: '[ConfigDir]/UnityPackages'
LogPath: '[ConfigDir]/PrjLog.txt'
VisualStudioIdePath: 'C:/Program Files (x86)/Microsoft Visual Studio 14.0/Common7/IDE/devenv.exe'
N.B The project opens fine when using the 'Open Solution' button in the Projeny Package Manager.
Any ideas? Thanks.
When trying to delete a package from the Projeny package manager, if the package contains a script, and it is open in Visual Studio, then the deletion will fail with message <directory> is not empty
.
Presumably this is due to VS holding a lock on the file, preventing deletion.
Workaround:
Closing VS and trying to delete the package again seems to work.
There is a ton of documentation here and that's great, however, the first introduction to this tool is overwhelming and should be simplified. You may want to move some of the more stable documentation to the Wiki and reference it from the ReadMe.
I see Projeny is referenced through a dll. Is it possible to use it through the scripts, so that I could debug when needed? Which files would I need to add to the project?
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.