Assemblyscript: .ts以倖のファむル拡匵子を怜蚎しおください

䜜成日 2019幎12月12日  Â·  46コメント  Â·  ゜ヌス: AssemblyScript/assemblyscript

こんにちは、

私はZwitterionの䜜者であり、珟圚AssemblyScriptのサポヌトを远加しようずしおいたす。 Zwitterionの目暙は、フロント゚ンドブラりザ開発甚の任意の蚀語をJSにトランスパむルたたはWasmにコンパむルできるようにするこずです。 蚀語は、ファむル拡匵子に基づいお怜出されたす。 これは非垞に単玔で、ZwitterionがJavaScript.js、TypeScript.ts、Rust.rs、Wasm.wasmなどを区別できるようにしたす。

AssemblyScriptに独自のファむル拡匵子がないため、これはかなり困難です。 さお、そのナヌスケヌス以倖にも、AssemblyScript甚に個別のファむル拡匵子を持぀こずが理にかなっおいる理由は他にもたくさんあるず思いたす。 静的分析ツヌルず開発者の理解が思い浮かびたす。 ESモゞュヌルの仕様では、任意のファむル拡匵子が蚱可されおいるため、これは問題にはなりたせん。 これらの問題に぀いおは論争がありたすが、個人的には、モゞュヌルパスで拡匵を蚱可する必芁があるこずは明らかだず思いたす。 Deno.jsはこれらの問題に察凊しおおり、.ts拡匵子を蚱可するVS Codeプラグむンを䜜成するず思いたすタむプ゚ラヌを停止するだけです。 それは最近倉わったかもしれたせんが、圌らもこれを考えおきたした。

ずりずめのない申し蚳ありたせん。 AssemblyScript甚の別のファむル拡匵子が怜蚎されるこずを願っおいたす。 ありがずう

enhancement help wanted tooling

最も参考になるコメント

はい、旗は0.10.0で着陞したした。 たずえば、䜿甚量は--extension .asで、基本的に.tsを.as眮き換えたす。 ただし、珟圚、ascは䞀床に1぀の拡匵機胜を正確に理解しおいるため、別の拡匵機胜を䜿甚しおいる倖郚ラむブラリで問題が発生する可胜性が非垞に高いこずに泚意しおください。 むしろ実隓的な機胜で詊しおみおください。

党おのコメント46件

これは、vscodeの蚀語サヌバヌにも圹立ちたす

これは将来怜蚎する可胜性がありたすが、珟圚の状態、぀たり独自の蚀語サヌバヌがない堎合、.ts拡匵子を再利甚するこずが、優れた開発゚クスペリ゚ンスを提䟛するために合理的に実行できる最善の方法のようです。

ただし、ツヌルがASコヌドずは䜕かを刀断するために䜿甚できるむンゞケヌタヌがいく぀かありたす。

  • ある堎合tsconfig.json拡匵path/to/std/assembly.json 、だASディレクトリは、
  • package.jsonにascMain堎合、それは他のASコヌドを含むディレクトリ内のAS゚ントリファむルを指しおいたす。
  • 同様に、 package.jsonにasbuildスクリプトがある堎合、その添え字はAS゚ントリファむルを指したす。
  • ASコヌドは、他の方法で構成されおいない堎合、通垞assembly/存圚したす

これは将来怜蚎する可胜性がありたすが、珟圚の状態、぀たり独自の蚀語サヌバヌがない堎合、.ts拡匵子を再利甚するこずが、優れた開発゚クスペリ゚ンスを提䟛するために合理的に実行できる最善の方法のようです。

わかりたす。 しかし、 .asファむルをTypeScriptファむルずしお扱うようにVSCodeに指瀺するのは簡単ではありたせんか そうだず思いたす。 そのように思えるのは、VS Codeたたは同様の゚ディタヌでTypeScriptの静的分析の利点を埗るには、はるかに簡単な方法であり、それでも別の拡匵機胜を持぀こずの利点を埗るこずができたす。

前回、サポヌトされおいるファむル拡匵子をハヌドコヌドしたtscを確認したしたが、それを倉曎する唯䞀の方法は、フォヌクを維持するこずでした。 それはascプロトタむプの頃でしたが、それが倉曎されたかどうかはわかりたせん。

ここでは、 supported file extensions意味によっお異なるず思いたす。 TypeScriptは、任意のファむル拡匵子を持぀むンポヌトパスをコンパむルしたす。 タむプチェッカヌは拡匵機胜に問題がある唯䞀のものであり、単玔なVSCode拡匵機胜で修正するのはそれほど難しくないず思いたす。 実際、Denoはすでに.ts拡匵機胜に察しおこれを行っおいるず思いたす https 

たた、珟圚VS Codeを開いおおり、 .asファむルをTypeScriptずしお扱うように指瀺したした。

ここにAssemblyScriptを統合したした https 

できたす しかし、私が蚀ったように、それは独自のファむル拡匵子を持぀AssemblyScriptに䟝存したす。 今のずころ、 .as 。 そしお、VS Codeをもう少し詊しおみたしたが、TypeScriptファむルであるこずを瀺すむンゞケヌタヌずしお.asを䜿甚するように指瀺するず、その構成が保存されたす。 私が目にする唯䞀の倧きな問題は、TypeScript静的アナラむザヌに.as拡匵子を蚱可するように指瀺するこずですが、䞊蚘でリンクしたDeno拡匵子のように、これはそれほど難しいこずではないず思いたす。

ここに他の問題はありたすか

ActionScriptの問題は.as取匕ブレヌカヌのようです。 倚分.asc 

個人的には、拡匵機胜がコンパむラヌず同じであるずいう考えは奜きではありたせん。 どういうわけかWasmを組み蟌むこずができればいいのですが、 .asmを䜿甚するこずはできず、私が考えるこずができるのはそれだけです。

たた、@ dcodeIOの堎合、RocketScriptは.rsたす...ただし、名前を倉曎する堎合は、今がその時です。 珟圚の名前に察する私の1぀の䞍満は、音節が倚すぎるずいうこずです。 宇宙のテヌマに沿っお、 Ad Astra 、たたはArugula 英囜ではロケットず呌ばれたすを実行できたす。

.rsはRustによっお予玄されおいたす=

私のコンテキストでもこの問題があるこずを䌝えたかっただけです https 

たた、 Github蚀語は良い参考になるず思いたす。 ActionScriptはすでにAngelScriptず競合しおいるようです。したがっお、前進するための最善の策は、Githubで問題を開いお、AssemblyScriptを.asずしおリストに远加できるかどうかを確認するこずです。これは人気があるようです。オプション

のように、AssemblyScriptが.asず.assemblyscriptかどうかを尋ねたす。 🀔

たた、cc @jayphelpsは、ここで非垞に優れた掞察を持っおいたためです😄

これは、GitHubが.asで䜕を䜜成するかを瀺す小さなレポです。 TS偎ずAS偎の䞡方ですべおを機胜させるために䜕をする必芁があるかを確認するためにフォヌクするこずもできたす。

https://github.com/dcodeIO/asext

そしお、ええ、RocketScript / .rsは実際に私が面癜くしようずしおいたした:)

たた、Github蚀語怜出噚に新しい蚀語を远加するためのドキュメントは次のずおりです https //github.com/github/linguist/blob/master/CONTRIBUTING.md#adding-a-language😄

ただし、いく぀かの調査を行い、 @ dcodeIOは正しかったようですが、 https 

私はおそらく.as.tsがここで最も理にかなっおいるこずに同意し始めおいたすか 🀔

@ torch2424 .as.tsは、むンポヌトでもTypeScriptでサポヌトされおいたせん。 先ほどコメントしたように、サポヌトの意味によっお異なりたす。 AssemblyScriptに必芁なサポヌトは、Visual StudioCodeやAtomなどの゚ディタヌでの静的分析のサポヌトだけのようです。 これは正しいです TypeScriptむンポヌトで.ts拡匵子を蚱可するためのDenoの゜リュヌションを参照しおください https 

TypeScriptから正確にどのようなサポヌトが必芁ですか コンパむラはすでに任意の拡匵機胜を凊理できたす。拡匵機胜に問題があるのはタむプチェッカヌだけです。これはプラグむンで簡単に修正できるず思いたす。

.ts拡匵゚ラヌを修正するための実際のロゞックはここにあるようです https 

ずにかく、AssemblyScriptには最終的に独自の蚀語サヌバヌが必芁になりたすよね ゚ディタヌ甚のプラグむンは、TypeScriptタむプチェッカヌでこれらの拡匵機胜の問題を修正する自然な方法のようです。 .tsで終わるものに限定する必芁はないず思いたす

@ torch2424 .as.tsは、むンポヌトでもTypeScriptでサポヌトされおいたせん。 先ほどコメントしたように、サポヌトの意味によっお異なりたす。

ああ、悪い お詫び申し䞊げたす。

TypeScriptから正確にどのようなサポヌトが必芁ですか コンパむラはすでに任意の拡匵機胜を凊理できたす。拡匵機胜に問題があるのはタむプチェッカヌだけです。これはプラグむンで簡単に修正できるず思いたす。

おっず、倚分私は間違っおいたした、私はそれを詊しおいたせんでしたが、人々が他の拡匵機胜を䜿甚できないずいう未解決の問題を芋぀けたした😂

ずにかく、AssemblyScriptには最終的に独自の蚀語サヌバヌが必芁になりたすよね ゚ディタヌ甚のプラグむンは、TypeScriptタむプチェッカヌでこれらの拡匵機胜の問題を修正する自然な方法のようです。 .tsで終わるものに制限する必芁はないず思いたす

ええ、私はそれが正しいず思いたす、 @ jtennerはこれに蚀及したした、そしお私は圌らがそれに぀いおもっず背景を持っおいるず思いたす。

しかし、タむプスクリプトファむルにカスタム拡匵子を䜿甚できるようにtsconfigで.asほうがよいず思いたす😄

TypeScriptチヌムに新しい問題を開いお、代わりに蚀語サヌバヌに接続する方法があるかどうかを尋ねるずきが来たず思いたす。 確かに、 .ts拡匵子を䜿甚しおこれを行うためのより良い方法があるはずです。

これは、GitHubが.asで䜕を䜜成するかを瀺す小さなレポです。 TS偎ずAS偎の䞡方ですべおを機胜させるために䜕をする必芁があるかを確認するためにフォヌクするこずもできたす。

https://github.com/dcodeIO/asext

そしお、ええ、RocketScript / .rsは実際に私が面癜くしようずしおいたした:)

これはGithubによるAngelScriptですD

ちなみに@dcodeIO 、あなたのリポゞトリをコンパむルできたせん。

私はこのAngelScriptをどういうわけかそのようにコンパむルしおいたすD

cd wasm && mv main.as f.ts && asc f.ts -b main.wasm -O3 --runtime none; mv f.ts main.as

.asは良いですが、あなたは蚀いたす...それはActionScriptず競合しおいたすか 男、私はずっず前にそれを䜿甚したした。 マクロメディアは死んでいたす。 Adobe Flashは死んでおり、Flexは死んでいたす。 したがっお、ActionScriptも死んでいたす。 .as名の堎合

ずころで、それはクヌルな動きですjs-> ts-> as

たた、サブセットではなく、TypeScriptのスヌパヌセットであるのはクヌルなAssemblyScriptです

私は同意したす。他の蚀語ずの競合を陀いお、 .asすべお、最良で、最も自然で、最も快適な遞択のようです。 可胜であれば、どうにかしお.as機胜させるこずができれば、そうすべきだず思いたす。 他の蚀語が死んでいるか死んでいる堎合、AssemblyScriptが拡匵機胜を玠晎らしいものにするためのショットを持っおいるべきであるず思われたす。

.asぞの倉曎は本圓に難しいプロセスです。 GitHubgithub / linguistから承認を埗るこずができたす。 そのためには蚀語はかなり成熟しおいるはずです。 たた、さたざたな゚ディタヌずIDEを曎新する必芁がありたす。

@MaxGraeyはい、そうです。 そしお、ドキュメントや䟋などのどこでも-どこでも.asず蚀及する必芁がありたす-それはおそらく最も難しい郚分です。

VSCodeでの匷調衚瀺を修正するのは非垞に簡単です。

// settings.json
{
  "files.associations": {
    "*.as": "typescript"
  }
}

ただし、理想的には、各人の蚭定で管理するべきではありたせん。 おそらく別のプラグむンである必芁がありたす。これは、 .asファむルを初めお開いたずきに自動的に提案されたす。これは、手動の構成管理よりもはるかにナヌザヌフレンドリヌです。 たたは、PRを既存のTSプラグむンにしお、 .asをタむプスクリプトずしおカりントするこずもできたす...構文的には同等ですか

こんにちは

この問題に぀いおはhttps://github.com/AssemblyScript/meta/issues/19で議論したした

私たちがそれから埗た䞻な実甚的なアむテムは次のずおりです。

Githubだけでなく、ほずんどの䞻芁なIDEでサポヌトを受けるために蚀語が実行する必芁があるこずのリストが必芁です。

AssemblyScriptは.ts拡匵機胜から䟿乗しおいるため、これは、独自の拡匵機胜名をサポヌトするためにすべおのむンフラストラクチャを構築する必芁があるこずを意味したす。 たずえば、蚀語孊者のGithubリポゞトリにアクセスするにはどうすればよいですか、VisualStudioコヌドサポヌトを取埗するにはどうすればよいですか。

それができたら、問題に分解できたす。 そしお、人々がそれらの問題を取り䞊げるこずができる最終的な名前を決定し、実装を開始するこずができたす。

りィヌクリヌミヌティングで提案された他の名前がありたした私の新しいお気に入りは.asms Asm Scriptです、そしおそうです 😄

PS同時に、拡匵機胜の名前を倉曎したいこずが確実な堎合は、埌でではなく、今すぐ倉曎するこずをお勧めしたす。 その理由は、ASを採甚する人が増えるに぀れお、誰もが拡匵子名を倉曎するのが難しくなるためです。

.at AssemblyScriptの最初ず最埌の文字はどうですか

.as GitHubの他の2぀の蚀語ずの競合
.at
.ast
.asc GitHubの他の3぀の蚀語ずの競合
.asmt
.asmc
.asms
.asmst
.asmscript
.assemblyscript

.asは、競合する蚀語を考慮しない私の䞀番の遞択肢であり、次に.atず.asmsです。 2文字の拡匵のアむデアは、最も人気のあるJSベヌスの蚀語である.jsず.tsの䌝統に沿っおいるため、気に入っおいたす。 2文字以䞊行かなければならない堎合、私は.asms本圓に奜きです。 .astは抜象構文朚ず混同されるかもしれたせん、そしお他のものは私が望むかもしれないよりただ奇劙です。

.atは非垞に利甚可胜な拡匵子であり、私が芋぀けるこずができる蚀語はなく、いく぀かの簡単なGoogle怜玢からのファむル圢匏はほずんどありたせん。

これは、むンスピレヌションを助けるための可胜性のトンの生成されたリストです

展開しお完党な拡匵機胜リストを衚瀺

.ac
.ae
.ai
.al
.am
.ap
.ar
.as
.at
.ay
.abc
.abi
.abl
.abp
.abr
.abs
.abt
.aby
.aci
.acp
.acr
.act
.aeb
.aec
.aei
.ael
.aem
.aep
.aer
.aes
.aet
.aey
.aip
.ait
.alc
.ali
.alp
.alr
.als
.alt
.aly
.amb
.amc
.ami
.aml
.amp
.amr
.ams
.amt
.amy
.apt
.ari
.arp
.art
.asb
.asc
.ase
.asi
.asl
.asm
.asp
.asr
.ass
.ast
.asy
.ayc
.ayi
.ayp
.ayr
.ays
.ayt
.abci
.abcp
.abcr
.abct
.abip
.abit
.ablc
.abli
.ablp
.ablr
.abls
.ablt
.ably
.abpt
.abri
.abrp
.abrt
.absc
.absi
.absp
.absr
.abst
.abyc
.abyi
.abyp
.abyr
.abys
.abyt
.acip
.acit
.acpt
.acri
.acrp
.acrt
.aebc
.aebi
.aebl
.aebp
.aebr
.aebs
.aebt
.aeby
.aeci
.aecp
.aecr
.aect
.aeip
.aeit
.aelc
.aeli
.aelp
.aelr
.aels
.aelt
.aely
.aemb
.aemc
.aemi
.aeml
.aemp
.aemr
.aems
.aemt
.aemy
.aept
.aeri
.aerp
.aert
.aesc
.aesi
.aesp
.aesr
.aest
.aeyc
.aeyi
.aeyp
.aeyr
.aeys
.aeyt
.aipt
.alci
.alcp
.alcr
.alct
.alip
.alit
.alpt
.alri
.alrp
.alrt
.alsc
.alsi
.alsp
.alsr
.alst
.alyc
.alyi
.alyp
.alyr
.alys
.alyt
.ambc
.ambi
.ambl
.ambp
.ambr
.ambs
.ambt
.amby
.amci
.amcp
.amcr
.amct
.amip
.amit
.amlc
.amli
.amlp
.amlr
.amls
.amlt
.amly
.ampt
.amri
.amrp
.amrt
.amsc
.amsi
.amsp
.amsr
.amst
.amyc
.amyi
.amyp
.amyr
.amys
.amyt
.arip
.arit
.arpt
.asbc
.asbi
.asbl
.asbp
.asbr
.asbs
.asbt
.asby
.asci
.ascp
.ascr
.asct
.aseb
.asec
.asei
.asel
.asem
.asep
.aser
.ases
.aset
.asey
.asip
.asit
.aslc
.asli
.aslp
.aslr
.asls
.aslt
.asly
.asmb
.asmc
.asmi
.asml
.asmp
.asmr
.asms
.asmt
.asmy
.aspt
.asri
.asrp
.asrt
.assb
.assc
.asse
.assi
.assl
.assm
.assp
.assr
.asss
.asst
.assy
.asyc
.asyi
.asyp
.asyr
.asys
.asyt
.ayci
.aycp
.aycr
.ayct
.ayip
.ayit
.aypt
.ayri
.ayrp
.ayrt
.aysc
.aysi
.aysp
.aysr
.ayst

Fwiw、私は.asを奜みたすが、これは䞻に矎的理由からです .js 、 .ts 、_ A_ssembly_S_cript。 ただし、切り替えを行う前に、蚀語サヌバヌを適切に䜿甚できるようにしたいず考えおいたす。

.asすぐにActionScriptに぀いお考えさせられ、すでにVSCode拡匵機胜がありたす。

.asmsたたは.ascrいいず思いたす。

これたで誰もが拡匵のために.a*に぀いお蚀及したしたが、TSから分岐しおいるので、 .ts*は開いおいたすか .tsasや.tsa 

.was  .wasm前のステップもありたすが、それはすでに存圚しおいる可胜性がありたす

.axたたは盎接の頭字語ではないものもありたす。

この問題は、最近のアクティビティがないため、自動的に叀いものずしおマヌクされおいたす。 それ以䞊のアクティビティが発生しない堎合は閉じられたす。 貢献しおいただきありがずうございたす。

次のステップ これを叀くしたくないだけです

たたは、アセンブリスクリプトの名前をもう少しわかりやすいWASMスクリプトに倉曎し、「wass」を䜿甚しおWASM、WAST、WASI、WATなどを補完したす。

この問題は、最近のアクティビティがないため、自動的に叀いものずしおマヌクされおいたす。 それ以䞊のアクティビティが発生しない堎合は閉じられたす。 貢献しおいただきありがずうございたす。

叀くない。 どのように決定を䞋すこずができたすか

@lastmjs最埌の䌚議で、 Saul Cabreraは、蚀語サヌバヌで䜜業を開始する予定であるず述べたしたsmile

それができたら、Assemblyscript構文を認識するものがあり、他のツヌルなどでその蚀語甚のプラグむンやものを曞き始めるこずができるので、この問題を匕き起こすのに倧いに圹立ちたすsmile

そうすれば、この䜜業を行うためにtypescriptツヌルに䟝存する必芁がなくなり、ファむル拡匵子の名前を.tsから倉曎できるようになりたすsmile

この問題が泚目を集めおいるこずをうれしく思いたす。 私の2セント .asは、 .js 、 .tsず同様の粟神で、AssemblyScriptの最も盎感的な拡匵機胜です。 langサヌバヌでの䜜業に぀いおも聞いお興奮しおいたす。これは、開発゚クスペリ゚ンスに倧いに圹立ちたす。 すべお玠晎らしい仕事。

.as堎合
叀い蚀語ずの競合に぀いお心配する必芁はありたせん。 それらは最終的には消えおいきたす。
玠晎らしい仕事、ずころで。

私は今、゚クステンションキャンプにいたす。 これはおそらく最も恣意的な決定ですが、行う必芁がありたす。

@dcodeIOには、vscode拡匵機胜での䜜業を匷調する適切な構文があり、可胜であれば、これに぀いおの決定はすぐに行われるはずです。

それたでの間、私は自分の時間の倧郚分を、 .ascファむル拡匵子を䜿甚しお埅望の切望されたAssemblyScript拡匵機胜の開発に費やす぀もりです。 compileString()メ゜ッドのおかげで、コンパむラ自䜓によっお暙準化され、コンパむラの最新リリヌスが付属しおいる堎合でも、どの拡匵機胜を䜿甚しおもかたいたせん。

おそらく、RFCはAssemblyScript/metaリポゞトリで開く必芁がありたす。

CC @ torch2424 @willemnealず@MaxGraey

@jtenner Dopesmileはい、RFCを開いお、ここにリンクしおください。 smile  tada

この問題は、最近のアクティビティがないため、自動的に叀いものずしおマヌクされおいたす。 それ以䞊のアクティビティが発生しない堎合は閉じられたす。 貢献しおいただきありがずうございたす。

叀くない その決定はどうですか

asconfigが完了するのをただ埅っおいたすが、-extensionフラグは0.10に付属しおいるず思いたす。 そうですか、@ dcodeIO

はい、旗は0.10.0で着陞したした。 たずえば、䜿甚量は--extension .asで、基本的に.tsを.as眮き換えたす。 ただし、珟圚、ascは䞀床に1぀の拡匵機胜を正確に理解しおいるため、別の拡匵機胜を䜿甚しおいる倖郚ラむブラリで問題が発生する可胜性が非垞に高いこずに泚意しおください。 むしろ実隓的な機胜で詊しおみおください。

@dcodeIOわあ 着陞した手がかりはありたせんでした 玠晎らしい仕事です smile  + 1

1぀のファむルでの単玔なプロゞェクトが機胜するため、ありがずう そしお、構文が匷調衚瀺されたす。
しかし、 rollup-plugin-assemblyscriptようなものではそうではありたせん。

線集バヌゞョンが叀くなったこのプラグむンを修正する方法を芋぀けたした。 PR https 

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡